This directory contains a stripped-down and modified-for-GROMACS version
of a reference implementation of the LEWG P0009 proposal, revision 8:
"mdspan: A Non-Owning Multidimensional Array Reference"

The full version is available from
https://github.com/ORNL/cpp-proposals-pub/tree/master/P0009
SHA1 of the commit used is f433984ba897298069b510aa1311145040dd860c.

This work orginated from "Kokkos" and is distributed under the BSD license as
stated in COPYING.

The following modifications were carried out:
* Add extensions.h with further mdspan functionality from the GROMACS team
* reformatted code with uncrustify
* added GROMACS header to all files
* added doxygen comments to all files
* temporarily removed constexpr from functions, so they compile with C++11
* put all headers from bits/ into this directory
* use minimial includes in all header files instead of just including mdspan
* move tests into a subdirectory tests and rename test_foo.cpp to foo.cpp
* renamed tests and test fixture class to match GROMACS conventions
* changed variable signature to match proposal P0009r8 where reference
  implementation differed, (const to const & in constructors of basic_mdspan)
* Updated the mdspan test to a typed test
* added test for basic accessor policy
* added test for mdspan declaration
* added sliced_extents to to extents.h to enable compile-time determination of 
  exents for slice operator, preferred integration into extents_analyse_t over
  external extension for compilation efficiency
* added bracket operator [] to basic_mdspan for slicing