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.
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
andstd::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.