Header Reference: <mdspan>
Header Reference: <mdspan>
Multidimensional non-owning views, layouts, and accessor policies from <mdspan>.
Header Reference: <mdspan>
Multidimensional non-owning views, layouts, and accessor policies from <mdspan>.
Use reference pages to confirm names, categories, nearby facilities, and the constraints that matter before writing or reviewing code.
Header reference pages are meant to answer a practical question quickly: what this header provides, when to reach for it, and which usage rules are easiest to get wrong.
<mdspan>std::mdspanlayout_right, layout_left, layout_strideUse <mdspan> to represent multidimensional views over existing contiguous or strided storage without owning the data.
mdspan is a view; it does not manage lifetime.#include <array>
#include <mdspan>
int main() {
std::array<int, 6> storage{1, 2, 3, 4, 5, 6};
std::mdspan matrix{storage.data(), 2, 3};
return matrix(1, 2);
}
This is the core mdspan pattern: the storage lives elsewhere, while the mdspan provides multidimensional indexing rules over that storage.
layout_stride when adapting foreign buffers that already have a stride patternstd::span#include <mdspan>
int main() {
// Start with the primary facility from <mdspan>.
// Then verify lifetime, invalidation, ordering, or error-handling rules.
return 0;
}