//******************************************************** // The following code example is taken from the book // C++20 - The Complete Guide // by Nicolai M. Josuttis (www.josuttis.com) // http://www.cppstd20.com // // The code is licensed under a // Creative Commons Attribution 4.0 International License // http://creativecommons.org/licenses/by/4.0/ //******************************************************** #ifndef SPANPRINT_HPP #define SPANPRINT_HPP #include #include template void printSpan(std::span sp) { std::cout << '[' << sp.size() << " elems"; if constexpr (Sz == std::dynamic_extent) { std::cout << " (dynamic)"; } else { std::cout << " (fixed)"; } std::cout << ':'; for (const auto& elem : sp) { std::cout << ' ' << elem; } std::cout << "]\n"; } #endif // SPANPRINT_HPP