- Tumbleweed 2024.07.05-1.3
 - Leap-16.0
 
| std::layout_right::mapping(3) | C++ Standard Libary | std::layout_right::mapping(3) | 
NAME¶
std::layout_right::mapping - std::layout_right::mapping
Synopsis¶
 Defined in header <mdspan>
  
   template< class Extents > (since C++23)
  
   class layout_right::mapping;
  
   The class template layout_right::mapping controls how multidimensional
    indices are
  
   mapped in a row-major manner to a one-dimensional value representing the
    offset. The
  
   mapping has stride 1 at rightmost extent and strides increase right-to-left
    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_right
Member objects¶
 Member name Definition
  
   extents_ (private) The extents of type extents_type.
  
   (exposition-only member object*)
Member functions¶
 constructor constructs a new mapping
  
   (public member function)
  
   operator= assigns a mapping
  
   (public member function)
Observers¶
 extents obtains the extents object
  
   (public member function)
  
   required_span_size returns the required size of the mapping
  
   (public member function)
  
   operator() maps multidimensional indices into an offset value
  
   (public member function)
  
   is_unique determines if this mapping is unique (every combination of
  
   [static] indexes maps to a different underlying element)
  
   (public static member function)
  
   is_exhaustive determines if this mapping is exhaustive (every underlying
  
   [static] element can be accessed with some combination of indexes)
  
   (public static member function)
  
   is_strided determines if this mapping is unique (every combination of
  
   [static] indexes maps to a different underlying element)
  
   (public static member function)
  
   is_always_unique determines if this layout mapping is always unique
  
   [static] (public static member function)
  
   is_always_exhaustive determines if this layout mapping is always exhaustive
  
   [static] (public static member function)
  
   is_always_strided determines if this layout mapping is always strided
  
   [static] (public static member function)
  
   stride obtains the stride along the specified dimension
  
   (public member function)
Non-member functions¶
 compares this layout mapping with
  
   operator== other mapping
  
   (function template)
  
   submdspan_mapping(std::layout_right::mapping) calculates the mapping and data
    handle
  
   (C++26) offset used for subdmspan
  
   (public member function)
See also¶
 mapping a layout mapping of layout_left
  
   (public member class template of std::layout_left)
  
   mapping a layout mapping of layout_stride
  
   (public member class template of std::layout_stride)
| 2024.06.10 | http://cppreference.com |