C++ named requirements: LayoutMappingPolicy (since C++23) (original) (raw)

LayoutMappingPolicy is a type used to specify layout policy of std::mdspan. It provides a member alias template whose specialization is a LayoutMapping type.

Contents

[edit] Requirements

A type MP satisfies LayoutMappingPolicy if the type requirements shown below are valid:

[edit] Legend

Type Definition
MP a layout mapping policy class
M a layout mapping class
E a specialization of std::extents

[edit] Type requirements

[edit] Standard library

The following standard library types satisfy LayoutMappingPolicy requirements:

layout_left(C++23) column-major multidimensional array layout mapping policy; leftmost extent has stride 1 (class) [edit]
layout_right(C++23) row-major multidimensional array layout mapping policy; rightmost extent has stride 1 (class) [edit]
layout_stride(C++23) a layout mapping policy with user-defined strides (class) [edit]
layout_left_padded(C++26) column-major layout mapping policy with padding stride that can be greater than or equal to the leftmost extent (class template) [edit]
layout_right_padded(C++26) row-major layout mapping policy with padding stride that can be greater than or equal to the rightmost extent (class template) [edit]
Defined in namespace std::linalg
layout_transpose(C++26) std::mdspan layout mapping policy that swaps the rightmost two indices, extents, and strides of any unique layout mapping policy (class template) [edit]
layout_blas_packed(C++26) std::mdspan layout mapping policy that represents a square matrix that stores only the entries in one triangle, in a packed contiguous format (class template) [edit]