1 This directory contains a stripped-down and modified-for-GROMACS version
2 of a reference implementation of the LEWG P0009 proposal, revision 8:
3 "mdspan: A Non-Owning Multidimensional Array Reference"
5 The full version is available from
6 https://github.com/ORNL/cpp-proposals-pub/tree/master/P0009
7 SHA1 of the commit used is f433984ba897298069b510aa1311145040dd860c.
9 This work orginated from "Kokkos" and is distributed under the BSD license as
12 The following modifications were carried out:
13 * Add extensions.h with further mdspan functionality from the GROMACS team
14 * reformatted code with uncrustify
15 * added GROMACS header to all files
16 * added doxygen comments to all files
17 * temporarily removed constexpr from functions, so they compile with C++11
18 * put all headers from bits/ into this directory
19 * use minimial includes in all header files instead of just including mdspan
20 * move tests into a subdirectory tests and rename test_foo.cpp to foo.cpp
21 * renamed tests and test fixture class to match GROMACS conventions
22 * changed variable signature to match proposal P0009r8 where reference
23 implementation differed, (const to const & in constructors of basic_mdspan)
24 * Updated the mdspan test to a typed test
25 * added test for basic accessor policy
26 * added test for mdspan declaration
27 * added sliced_extents to to extents.h to enable compile-time determination of
28 exents for slice operator, preferred integration into extents_analyse_t over
29 external extension for compilation efficiency
30 * added bracket operator [] to basic_mdspan for slicing