std::layout_left::mapping
From cppreference.com
                    
                                        
                    < cpp | container | mdspan | layout left
                    
                                                            
                    |   Defined in header  <mdspan>
  | 
||
|   template< class Extents > class layout_left::mapping;  | 
(since C++23) | |
The class template layout_left::mapping controls how multidimensional indices are mapped in a column-major manner to a one-dimensional value representing the offset. The mapping has stride 1 at leftmost extent and strides increase left-to-right as the products of extents.
Every specialization of mapping is a LayoutMapping and a TriviallyCopyable type which satisfies regular.
The program is ill-formed if the size of the multidimensional index space Extents() is not representable as a value of type Extents::index_type when Extents::rank_dynamic() is 0.
Template parameters
| Extents | - |  specifies number of dimensions, their sizes, and which are known at compile time. Must be a specialization of std::extents.
 | 
Member types
| Member type | Definition | 
 extents_type
 | 
 Extents
 | 
 index_type
 | 
 extents_type::index_type
 | 
 size_type
 | 
 extents_type::size_type
 | 
 rank_type
 | 
 extents_type::rank_type
 | 
 layout_type
 | 
std::layout_left | 
Member objects
| Member name | Definition | 
  extents_ (private)
 | 
 The extents of type extents_type.(exposition-only member object*)  | 
Member functions
|   constructs a new mapping  (public member function)  | |
|   assigns a mapping  (public member function)  | |
 Observers | |
|   obtains the extents object  (public member function)  | |
|   returns the required size of the mapping  (public member function)  | |
|   maps multidimensional indices into an offset value  (public member function)  | |
|    [static]  | 
  determines if this mapping is unique (every combination of indices maps to a different underlying element)  (public static member function)  | 
|    [static]  | 
  determines if this mapping is exhaustive (every underlying element can be accessed with some combination of indices)  (public static member function)  | 
|    [static]  | 
  determines if this mapping is strided (in each dimension, incrementing an index jumps over the same number of underlying elements every time)  (public static member function)  | 
|    [static]  | 
  determines if this layout mapping is always unique  (public static member function)  | 
|    [static]  | 
  determines if this layout mapping is always exhaustive  (public static member function)  | 
|    [static]  | 
  determines if this layout mapping is always strided  (public static member function)  | 
|   obtains the stride along the specified dimension  (public member function)  | |
Non-member functions
|   compares this layout mapping with other mapping  (function template)  | |
  calculates the mapping and data handle offset used for subdmspan (public member function)  | 
See also
|  a layout mapping of layout_right (public member class template of std::layout_right) | |
|  a layout mapping of layout_stride (public member class template of std::layout_stride) |