Namespaces
Variants
Views
Actions

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

From cppreference.com
< cpp‎ | named req
 
 
C++ named requirements
 

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

  • MP::mapping<E> is valid and denotes a type M that satisfies LayoutMapping.
  • M::layout_type is valid and denotes a type MP.
  • M::extents_type is valid and denotes a type E.

[edit] Standard library

The following standard library types satisfy LayoutMappingPolicy requirements:

column-major multidimensional array layout mapping policy; leftmost extent has stride 1
(class) [edit]
row-major multidimensional array layout mapping policy; rightmost extent has stride 1
(class) [edit]
a layout mapping policy with user-defined strides
(class) [edit]
column-major layout mapping policy with padding stride that can be greater than or equal to the leftmost extent
(class template) [edit]
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
std::mdspan layout mapping policy that swaps the rightmost two indices, extents, and strides of any unique layout mapping policy
(class template) [edit]
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]