kokkos / mdspan

Reference implementation of mdspan targeting C++23
Other
415 stars 69 forks source link

Add for_each_extents example #247

Open mhoemmen opened 1 year ago

mhoemmen commented 1 year ago

Add for_each_extents examples as two separate files. This addresses common user questions about mdspan iteration, expressed in issues such as #202.

The first example relies on std::views::cartesian_product and std::views::iota, which are C++23 features that only GCC 13 currently implements. The second example does not use ranges at all, but it does depend on lambdas being able to accept an explicit template parameter list, a C++20 feature. The example could be rewritten not to depend on that, but it would be more verbose and generally less useful as an example in that case. Both examples use macros to skip compilation in case the required features are not available.