libstdc++: mdspan File Reference

libstdc++

mdspan File Reference

Go to the source code of this file.

## Namespaces
namespace | std

## Typedefs
template<typename _Slice>
using | std::__mdspan::__full_extent_t
template<typename _IndexType, size_t _Rank>
using | std::dextents
template<size_t _Rank, typename _IndexType = size_t>
using | std::dims

## Enumerations
enum class | _LayoutSide { __left , __right , __unknown }
enum class | _SliceKind { __extent_slice , __unit_stride_slice , __full , __collapsing }

## Functions
consteval bool | std::__mdspan::__all_dynamic (std::span< const size_t > __extents)
consteval bool | std::__mdspan::__all_static (std::span< const size_t > __extents)
template<typename _IndexType, size_t... _Counts>
auto | std::__mdspan::__build_dextents_type (integer_sequence< size_t, _Counts... >) -> extents< _IndexType,((void) _Counts, dynamic_extent)... >
template<typename _IndexType, typename _Slice>
constexpr auto | std::__mdspan::__canonical_index (_Slice &&__slice)
template<typename _IndexType, typename _OffsetType, typename _SpanType, typename _StrideType>
constexpr auto | std::__mdspan::__canonical_range_slice (_OffsetType __offset, _SpanType __span, _StrideType __stride)
template<typename _IndexType, size_t _Extent, typename _OIndexType>
constexpr void | std::__mdspan::__check_inrange_index (const extents< _IndexType, _Extent > &__ext, const _OIndexType &__idx)
template<typename _IndexType, size_t _Extent, typename _OIndexType>
constexpr void | std::__mdspan::__check_valid_index (const extents< _IndexType, _Extent > &__ext, const _OIndexType &__idx)
template<typename _IndexType, size_t _Extent, typename _Slice>
constexpr void | std::__mdspan::__check_valid_slice (const extents< _IndexType, _Extent > &__ext, const _Slice &__slice)
template<typename _Extents, typename... _Slices>
constexpr void | std::__mdspan::__check_valid_slices (const _Extents &__exts, const _Slices &... __slices)
template<typename _Tp, size_t _Nm>
consteval bool | std::__mdspan::__contains_zero (const array< _Tp, _Nm > &__exts) noexcept
template<typename _Tp, size_t _Nm>
constexpr bool | std::__mdspan::__contains_zero (span< _Tp, _Nm > __exts) noexcept
template<typename _Extents>
constexpr span< const typename _Extents::index_type > | std::__mdspan::__dynamic_extents (const _Extents &__exts, size_t __begin=0, size_t __end=_Extents::rank()) noexcept
template<size_t _K, typename _Extents, typename _Slice>
constexpr _Extents::index_type | std::__mdspan::__dynamic_slice_extent (const _Extents &__exts, _Slice __slice)
template<typename _Extents>
constexpr bool | std::__mdspan::__empty (const _Extents &__exts) noexcept
template<typename _Extents>
constexpr _Extents::index_type | std::__mdspan::__extents_prod (const _Extents &__exts, size_t __sta_prod, size_t __begin, size_t __end) noexcept
template<size_t _Index, typename _Extents>
constexpr auto | std::__mdspan::__extract_extent (const _Extents &__exts)
template<typename _Extents>
constexpr _Extents::index_type | std::__mdspan::__fwd_prod (const _Extents &__exts, size_t __begin, size_t __end) noexcept
template<typename _Extents>
constexpr _Extents::index_type | std::__mdspan::__fwd_prod (const _Extents &__exts, size_t __r) noexcept
template<typename _IndexType, size_t _Nm>
consteval _IndexType | std::__mdspan::__fwd_prod (span< const _IndexType, _Nm > __values)
template<typename _PaddedMapping>
consteval size_t | std::__mdspan::__get_static_stride ()
template<typename _IndexType, typename _OIndexTypeRef>
constexpr _IndexType | std::__mdspan::__index_type_cast (_OIndexTypeRef &&__other)
template<typename _IndexType, typename... _Slices>
consteval auto | std::__mdspan::__inv_map_rank ()
consteval bool | std::__mdspan::__is_block (span< const _SliceKind > __slice_kinds, size_t __block_size)
template<typename _Extents>
constexpr bool | std::__mdspan::__is_representable_extents (const _Extents &__exts) noexcept
template<typename _IndexType, typename _OIndexType>
consteval bool | std::__mdspan::__is_representable_integer (_OIndexType __value)
template<typename _IndexType>
constexpr bool | std::__mdspan::__is_representable_least_multiple (size_t __x, size_t __y)
template<size_t _PaddedStride, typename _Extents, typename _LayoutTraits>
consteval bool | std::__mdspan::__is_representable_padded_size ()
constexpr size_t | std::__mdspan::__least_multiple (size_t __x, size_t __y)
template<typename _Extents, typename... _Indices>
constexpr _Extents::index_type | std::__mdspan::__linear_index_left (const _Extents &__exts, _Indices... __indices) noexcept
template<typename _Extents, typename _Stride, typename... _Indices>
constexpr _Extents::index_type | std::__mdspan::__linear_index_leftpad (const _Extents &__exts, _Stride __stride, _Indices... __indices)
template<typename _Extents, typename... _Indices>
constexpr _Extents::index_type | std::__mdspan::__linear_index_right (const _Extents &__exts, _Indices... __indices) noexcept
template<typename _Extents, typename _Stride, typename... _Indices>
constexpr _Extents::index_type | std::__mdspan::__linear_index_rightpad (const _Extents &__exts, _Stride __stride, _Indices... __indices)
template<typename _Mapping, typename... _Indices>
constexpr _Mapping::index_type | std::__mdspan::__linear_index_strides (const _Mapping &__m, _Indices... __indices) noexcept
template<typename _Slice>
consteval _SliceKind | std::__mdspan::__make_slice_kind ()
template<typename... _Slices>
consteval array< _SliceKind, sizeof...(_Slices)> | std::__mdspan::__make_slice_kind_array ()
template<typename _Mapping>
consteval _LayoutSide | std::__mdspan::__mapping_side ()
template<typename _Mapping>
constexpr _Mapping::index_type | std::__mdspan::__offset (const _Mapping &__m) noexcept
template<_LayoutSide _Side, size_t _Nm>
static consteval size_t | std::__mdspan::__padded_block_begin (span< const _SliceKind, _Nm > __slice_kinds, size_t __sub_rank)
static consteval size_t | std::__mdspan::__padded_block_begin_generic (span< const _SliceKind > __slice_kinds, size_t __sub_rank)
template<typename _Extents>
constexpr _Extents::index_type | std::__mdspan::__rev_prod (const _Extents &__exts, size_t __r) noexcept
template<typename _Extents>
constexpr _Extents::index_type | std::__mdspan::__size (const _Extents &__exts) noexcept
template<typename _Slice>
constexpr auto | std::__mdspan::__slice_begin (_Slice __slice)
template<typename _IndexType, typename _Slice>
constexpr auto | std::__mdspan::__slice_cast (_Slice &&__slice)
template<typename _Extents>
constexpr const array< size_t, _Extents::rank()> & | std::__mdspan::__static_extents () noexcept
template<typename _Extents>
constexpr span< const size_t > | std::__mdspan::__static_extents (size_t __begin, size_t __end) noexcept
template<typename _Extents, typename _IndexType = typename _Extents::index_type>
consteval _IndexType | std::__mdspan::__static_quotient (_IndexType __nom=__gnu_cxx::__int_traits< _IndexType >::__max)
template<typename _IndexType>
consteval _IndexType | std::__mdspan::__static_quotient (std::span< const size_t > __sta_exts, _IndexType __nom=__gnu_cxx::__int_traits< _IndexType >::__max)
template<typename _IndexType, size_t _Extent, typename _Slice>
consteval size_t | std::__mdspan::__static_slice_extent ()
template<typename _IndexType, size_t... _Extents, typename... _Slices>
constexpr auto | std::__mdspan::__subextents (const extents< _IndexType, _Extents... > &__exts, _Slices... __slices)
template<typename _Mapping, typename... _Slices>
constexpr auto | std::__mdspan::__submapping (const _Mapping &__mapping, _Slices... __slices)
template<typename _Mapping>
constexpr auto | std::__mdspan::__submdspan_mapping_impl (const _Mapping &__mapping)
template<typename _Mapping, typename... _Slices>
constexpr auto | std::__mdspan::__submdspan_mapping_impl (const _Mapping &__mapping, _Slices... __slices)
template<typename _Mapping, typename... _Slices>
constexpr size_t | std::__mdspan::__suboffset (const _Mapping &__mapping, const _Slices &... __slices)
template<typename _IndexType, typename... _Slices>
consteval auto | std::__mdspan::__subrank ()
template<typename _SubExts, typename _Mapping, typename... _Slices>
constexpr auto | std::__mdspan::__substrides (const _Mapping &__mapping, const _Slices &... __slices)
template<typename _SubExts, typename _Mapping, typename... _Slices>
constexpr auto | std::__mdspan::__substrides_generic (const _Mapping &__mapping, const _Slices &... __slices)
template<typename _SubExts, typename _Mapping, typename... _Slices>
constexpr auto | std::__mdspan::__substrides_standardized (const _Mapping &__mapping, const _Slices &... __slices)
template<typename _IndexType, size_t... _Extents, typename... _RawSlices>
constexpr auto | std::canonical_slices (const extents< _IndexType, _Extents... > &__exts, _RawSlices... __raw_slices)
template<typename... _Integrals>
| std::extents (_Integrals...) -> extents< size_t, __detail::__maybe_static_ext< _Integrals >... >
template<typename _CArray>
| std::mdspan (_CArray &) -> mdspan< remove_all_extents_t< _CArray >, extents< size_t, extent_v< _CArray, 0 > > >
template<typename _ElementType, typename... _Integrals>
| std::mdspan (_ElementType *, _Integrals...) -> mdspan< _ElementType, extents< size_t, __detail::__maybe_static_ext< _Integrals >... > >
template<typename _ElementType, typename _MappingType>
| std::mdspan (_ElementType *, const _MappingType &) -> mdspan< _ElementType, typename _MappingType::extents_type, typename _MappingType::layout_type >
template<typename _ElementType, typename _OIndexType, size_t _Nm>
| std::mdspan (_ElementType *, const array< _OIndexType, _Nm > &) -> mdspan< _ElementType, dextents< size_t, _Nm > >
template<typename _ElementType, typename _IndexType, size_t... _ExtentsPack>
| std::mdspan (_ElementType *, const extents< _IndexType, _ExtentsPack... > &) -> mdspan< _ElementType, extents< _IndexType, _ExtentsPack... > >
template<typename _ElementType, typename _OIndexType, size_t _Nm>
| std::mdspan (_ElementType *, span< _OIndexType, _Nm >) -> mdspan< _ElementType, dextents< size_t, _Nm > >
template<typename _Pointer>
| std::mdspan (_Pointer &&) -> mdspan< remove_pointer_t< remove_reference_t< _Pointer > >, extents< size_t > >
template<typename _MappingType, typename _AccessorType>
| std::mdspan (typename _AccessorType::data_handle_type, const _MappingType &, const _AccessorType &) -> mdspan< typename _AccessorType::element_type, typename _MappingType::extents_type, typename _MappingType::layout_type, _AccessorType >
template<typename _IndexType, size_t... _Extents, typename... _RawSlices>
constexpr auto | std::subextents (const extents< _IndexType, _Extents... > &__exts, _RawSlices... __raw_slices)
template<typename _ElementType, typename _Extents, typename _Layout, typename _Accessor, typename... _RawSlices>
constexpr auto | std::submdspan (const mdspan< _ElementType, _Extents, _Layout, _Accessor > &__md, _RawSlices... __raw_slices)
void | std::__mdspan::submdspan_mapping ()=delete

## Variables
template<array _Extents>
constexpr auto | std::__mdspan::__fwd_partial_prods
template<typename _Tp>
constexpr bool | std::__mdspan::__is_extent_slice
template<typename _OffsetType, typename _ExtentType, typename _StrideType>
constexpr bool | std::__mdspan::__is_extent_slice< extent_slice< _OffsetType, _ExtentType, _StrideType > >
template<typename _Tp>
constexpr bool | std::__mdspan::__is_extents
template<typename _IndexType, size_t... _Extents>
constexpr bool | std::__mdspan::__is_extents< extents< _IndexType, _Extents... > >
template<typename _Mapping>
constexpr bool | std::__mdspan::__is_left_padded_mapping
template<typename _Mapping>
constexpr bool | std::__mdspan::__is_padded_mapping
template<typename _Tp>
constexpr bool | std::__mdspan::__is_range_slice
template<typename _FirstType, typename _LastType, typename _StrideType>
constexpr bool | std::__mdspan::__is_range_slice< range_slice< _FirstType, _LastType, _StrideType > >
template<typename _Mapping>
constexpr bool | std::__mdspan::__is_right_padded_mapping
template<typename _Tp>
constexpr bool | std::__is_submdspan_mapping_result
template<typename _Mapping>
constexpr bool | std::__is_submdspan_mapping_result< submdspan_mapping_result< _Mapping > >
template<array _Extents>
constexpr auto | std::__mdspan::__rev_partial_prods
constexpr full_extent_t | std::full_extent

## Detailed Description

This is a Standard C++ Library header.

Definition in file mdspan.

## Typedef Documentation

## ◆ __full_extent_t

template<typename _Slice>

using std::__mdspan::__full_extent_t

Definition at line 3570 of file mdspan.

## Enumeration Type Documentation

## ◆ _LayoutSide

enum class std::__mdspan::_LayoutSide
| strong

Definition at line 1053 of file mdspan.

## ◆ _SliceKind

enum class std::__mdspan::_SliceKind
| strong

Definition at line 1209 of file mdspan.

## Function Documentation

## ◆ __all_dynamic()

bool std::__mdspan::__all_dynamic | ( | std::span< const size_t > | __extents | ) |
| consteval

Definition at line 76 of file mdspan.

## ◆ __all_static()

bool std::__mdspan::__all_static | ( | std::span< const size_t > | __extents | ) |
| consteval

Definition at line 67 of file mdspan.

## ◆ __canonical_index()

template<typename _IndexType, typename _Slice>

auto std::__mdspan::__canonical_index | ( | _Slice && | __slice | ) |
| constexpr

Definition at line 3357 of file mdspan.

## ◆ __canonical_range_slice()

template<typename _IndexType, typename _OffsetType, typename _SpanType, typename _StrideType>

auto std::__mdspan::__canonical_range_slice | ( | _OffsetType | __offset,
|  | _SpanType | __span,
|  | _StrideType | __stride )
| constexpr

Definition at line 3372 of file mdspan.

## ◆ __check_inrange_index()

template<typename _IndexType, size_t _Extent, typename _OIndexType>

void std::__mdspan::__check_inrange_index | ( | const extents< _IndexType, _Extent > & | __ext,
|  | const _OIndexType & | __idx )
| constexpr

Definition at line 3457 of file mdspan.

## ◆ __check_valid_index()

template<typename _IndexType, size_t _Extent, typename _OIndexType>

void std::__mdspan::__check_valid_index | ( | const extents< _IndexType, _Extent > & | __ext,
|  | const _OIndexType & | __idx )
| constexpr

Definition at line 3472 of file mdspan.

## ◆ __check_valid_slice()

template<typename _IndexType, size_t _Extent, typename _Slice>

void std::__mdspan::__check_valid_slice | ( | const extents< _IndexType, _Extent > & | __ext,
|  | const _Slice & | __slice )
| constexpr

Definition at line 3487 of file mdspan.

## ◆ __check_valid_slices()

template<typename _Extents, typename... _Slices>

void std::__mdspan::__check_valid_slices | ( | const _Extents & | __exts,
|  | const _Slices &... | __slices )
| constexpr

Definition at line 3558 of file mdspan.

## ◆ __contains_zero() [1/2]

template<typename _Tp, size_t _Nm>

bool std::__mdspan::__contains_zero | ( | const array< _Tp, _Nm > & | __exts | ) |
| constevalnoexcept

Definition at line 560 of file mdspan.

## ◆ __contains_zero() [2/2]

template<typename _Tp, size_t _Nm>

bool std::__mdspan::__contains_zero | ( | span< _Tp, _Nm > | __exts | ) |
| constexprnoexcept

Definition at line 550 of file mdspan.

## ◆ __dynamic_extents()

template<typename _Extents>

span< const typename _Extents::index_type > std::__mdspan::__dynamic_extents | ( | const _Extents & | __exts,
|  | size_t | __begin = 0,
|  | size_t | __end = _Extents::rank() )
| constexprnoexcept

Definition at line 348 of file mdspan.

## ◆ __dynamic_slice_extent()

template<size_t _K, typename _Extents, typename _Slice>

_Extents::index_type std::__mdspan::__dynamic_slice_extent | ( | const _Extents & | __exts,
|  | _Slice | __slice )
| constexpr

Definition at line 1008 of file mdspan.

## ◆ __empty()

template<typename _Extents>

bool std::__mdspan::__empty | ( | const _Extents & | __exts | ) |
| constexprnoexcept

Definition at line 565 of file mdspan.

## ◆ __extents_prod()

template<typename _Extents>

_Extents::index_type std::__mdspan::__extents_prod | ( | const _Extents & | __exts,
|  | size_t | __sta_prod,
|  | size_t | __begin,
|  | size_t | __end )
| constexprnoexcept

Definition at line 577 of file mdspan.

## ◆ __extract_extent()

template<size_t _Index, typename _Extents>

auto std::__mdspan::__extract_extent | ( | const _Extents & | __exts | ) |
| constexpr

Definition at line 910 of file mdspan.

## ◆ __fwd_prod() [1/3]

template<typename _Extents>

_Extents::index_type std::__mdspan::__fwd_prod | ( | const _Extents & | __exts,
|  | size_t | __begin,
|  | size_t | __end )
| constexprnoexcept

Definition at line 593 of file mdspan.

## ◆ __fwd_prod() [2/3]

template<typename _Extents>

_Extents::index_type std::__mdspan::__fwd_prod | ( | const _Extents & | __exts,
|  | size_t | __r )
| constexprnoexcept

Definition at line 609 of file mdspan.

## ◆ __fwd_prod() [3/3]

template<typename _IndexType, size_t _Nm>

_IndexType std::__mdspan::__fwd_prod | ( | span< const _IndexType, _Nm > | __values | ) |
| consteval

Definition at line 628 of file mdspan.

## ◆ __get_static_stride()

template<typename _PaddedMapping>

size_t std::__mdspan::__get_static_stride | ( |  | ) |
| consteval

Definition at line 847 of file mdspan.

## ◆ __index_type_cast()

template<typename _IndexType, typename _OIndexTypeRef>

_IndexType std::__mdspan::__index_type_cast | ( | _OIndexTypeRef && | __other | ) |
| constexpr

Definition at line 86 of file mdspan.

## ◆ __inv_map_rank()

template<typename _IndexType, typename... _Slices>

auto std::__mdspan::__inv_map_rank | ( |  | ) |
| consteval

Definition at line 932 of file mdspan.

## ◆ __is_block()

bool std::__mdspan::__is_block | ( | span< const _SliceKind > | __slice_kinds,
|  | size_t | __block_size )
| consteval

Definition at line 1245 of file mdspan.

## ◆ __is_representable_extents()

template<typename _Extents>

bool std::__mdspan::__is_representable_extents | ( | const _Extents & | __exts | ) |
| constexprnoexcept

Definition at line 782 of file mdspan.

## ◆ __is_representable_integer()

template<typename _IndexType, typename _OIndexType>

bool std::__mdspan::__is_representable_integer | ( | _OIndexType | __value | ) |
| consteval

Definition at line 900 of file mdspan.

## ◆ __is_representable_least_multiple()

template<typename _IndexType>

bool std::__mdspan::__is_representable_least_multiple | ( | size_t | __x,
|  | size_t | __y )
| constexpr

Definition at line 2138 of file mdspan.

## ◆ __is_representable_padded_size()

template<size_t _PaddedStride, typename _Extents, typename _LayoutTraits>

bool std::__mdspan::__is_representable_padded_size | ( |  | ) |
| consteval

Definition at line 2164 of file mdspan.

## ◆ __least_multiple()

size_t std::__mdspan::__least_multiple | ( | size_t | __x,
|  | size_t | __y )
| constexpr

Definition at line 2129 of file mdspan.

## ◆ __linear_index_left()

template<typename _Extents, typename... _Indices>

_Extents::index_type std::__mdspan::__linear_index_left | ( | const _Extents & | __exts,
|  | _Indices... | __indices )
| constexprnoexcept

Definition at line 734 of file mdspan.

## ◆ __linear_index_leftpad()

template<typename _Extents, typename _Stride, typename... _Indices>

_Extents::index_type std::__mdspan::__linear_index_leftpad | ( | const _Extents & | __exts,
|  | _Stride | __stride,
|  | _Indices... | __indices )
| constexpr

Definition at line 2184 of file mdspan.

## ◆ __linear_index_right()

template<typename _Extents, typename... _Indices>

_Extents::index_type std::__mdspan::__linear_index_right | ( | const _Extents & | __exts,
|  | _Indices... | __indices )
| constexprnoexcept

Definition at line 1642 of file mdspan.

## ◆ __linear_index_rightpad()

template<typename _Extents, typename _Stride, typename... _Indices>

_Extents::index_type std::__mdspan::__linear_index_rightpad | ( | const _Extents & | __exts,
|  | _Stride | __stride,
|  | _Indices... | __indices )
| constexpr

Definition at line 2214 of file mdspan.

## ◆ __linear_index_strides()

template<typename _Mapping, typename... _Indices>

_Mapping::index_type std::__mdspan::__linear_index_strides | ( | const _Mapping & | __m,
|  | _Indices... | __indices )
| constexprnoexcept

Definition at line 1838 of file mdspan.

## ◆ __make_slice_kind()

template<typename _Slice>

_SliceKind std::__mdspan::__make_slice_kind | ( |  | ) |
| consteval

Definition at line 1219 of file mdspan.

## ◆ __make_slice_kind_array()

template<typename... _Slices>

array< _SliceKind, sizeof...(_Slices)> std::__mdspan::__make_slice_kind_array | ( |  | ) |
| consteval

Definition at line 1236 of file mdspan.

## ◆ __mapping_side()

template<typename _Mapping>

_LayoutSide std::__mdspan::__mapping_side | ( |  | ) |
| consteval

Definition at line 1062 of file mdspan.

## ◆ __offset()

template<typename _Mapping>

_Mapping::index_type std::__mdspan::__offset | ( | const _Mapping & | __m | ) |
| constexprnoexcept

Definition at line 866 of file mdspan.

## ◆ __padded_block_begin()

template<_LayoutSide _Side, size_t _Nm>

consteval size_t std::__mdspan::__padded_block_begin | ( | span< const _SliceKind, _Nm > | __slice_kinds,
|  | size_t | __sub_rank )
| staticconsteval

Definition at line 1288 of file mdspan.

## ◆ __padded_block_begin_generic()

consteval size_t std::__mdspan::__padded_block_begin_generic | ( | span< const _SliceKind > | __slice_kinds,
|  | size_t | __sub_rank )
| staticconsteval

Definition at line 1265 of file mdspan.

## ◆ __rev_prod()

template<typename _Extents>

_Extents::index_type std::__mdspan::__rev_prod | ( | const _Extents & | __exts,
|  | size_t | __r )
| constexprnoexcept

Definition at line 639 of file mdspan.

## ◆ __size()

template<typename _Extents>

_Extents::index_type std::__mdspan::__size | ( | const _Extents & | __exts | ) |
| constexprnoexcept

Definition at line 658 of file mdspan.

## ◆ __slice_begin()

template<typename _Slice>

auto std::__mdspan::__slice_begin | ( | _Slice | __slice | ) |
| constexpr

Definition at line 949 of file mdspan.

## ◆ __slice_cast()

template<typename _IndexType, typename _Slice>

auto std::__mdspan::__slice_cast | ( | _Slice && | __slice | ) |
| constexpr

Definition at line 3417 of file mdspan.

## ◆ __static_extents() [1/2]

template<typename _Extents>

const array< size_t, _Extents::rank()> & std::__mdspan::__static_extents | ( |  | ) |
| constexprnoexcept

Definition at line 303 of file mdspan.

## ◆ __static_extents() [2/2]

template<typename _Extents>

span< const size_t > std::__mdspan::__static_extents | ( | size_t | __begin,
|  | size_t | __end )
| constexprnoexcept

Definition at line 308 of file mdspan.

## ◆ __static_quotient() [1/2]

template<typename _Extents, typename _IndexType = typename _Extents::index_type>

_IndexType std::__mdspan::__static_quotient | ( | _IndexType | __nom = __gnu_cxx::__int_traits<_IndexType>::__max | ) |
| consteval

Definition at line 773 of file mdspan.

## ◆ __static_quotient() [2/2]

template<typename _IndexType>

_IndexType std::__mdspan::__static_quotient | ( | std::span< const size_t > | __sta_exts,
|  | _IndexType | __nom = __gnu_cxx::__int_traits<_IndexType>::__max )
| consteval

Definition at line 756 of file mdspan.

## ◆ __static_slice_extent()

template<typename _IndexType, size_t _Extent, typename _Slice>

size_t std::__mdspan::__static_slice_extent | ( |  | ) |
| consteval

Definition at line 994 of file mdspan.

## ◆ __subextents()

template<typename _IndexType, size_t... _Extents, typename... _Slices>

auto std::__mdspan::__subextents | ( | const extents< _IndexType, _Extents... > & | __exts,
|  | _Slices... | __slices )
| constexpr

Definition at line 1019 of file mdspan.

## ◆ __submapping()

template<typename _Mapping, typename... _Slices>

auto std::__mdspan::__submapping | ( | const _Mapping & | __mapping,
|  | _Slices... | __slices )
| constexpr

Definition at line 3583 of file mdspan.

## ◆ __submdspan_mapping_impl() [1/2]

template<typename _Mapping>

auto std::__mdspan::__submdspan_mapping_impl | ( | const _Mapping & | __mapping | ) |
| constexpr

Definition at line 1438 of file mdspan.

## ◆ __submdspan_mapping_impl() [2/2]

template<typename _Mapping, typename... _Slices>

auto std::__mdspan::__submdspan_mapping_impl | ( | const _Mapping & | __mapping,
|  | _Slices... | __slices )
| constexpr

Definition at line 1444 of file mdspan.

## ◆ __suboffset()

template<typename _Mapping, typename... _Slices>

size_t std::__mdspan::__suboffset | ( | const _Mapping & | __mapping,
|  | const _Slices &... | __slices )
| constexpr

Definition at line 961 of file mdspan.

## ◆ __subrank()

template<typename _IndexType, typename... _Slices>

auto std::__mdspan::__subrank | ( |  | ) |
| consteval

Definition at line 924 of file mdspan.

## ◆ __substrides()

template<typename _SubExts, typename _Mapping, typename... _Slices>

auto std::__mdspan::__substrides | ( | const _Mapping & | __mapping,
|  | const _Slices &... | __slices )
| constexpr

Definition at line 1191 of file mdspan.

## ◆ __substrides_generic()

template<typename _SubExts, typename _Mapping, typename... _Slices>

auto std::__mdspan::__substrides_generic | ( | const _Mapping & | __mapping,
|  | const _Slices &... | __slices )
| constexpr

Definition at line 1115 of file mdspan.

## ◆ __substrides_standardized()

template<typename _SubExts, typename _Mapping, typename... _Slices>

auto std::__mdspan::__substrides_standardized | ( | const _Mapping & | __mapping,
|  | const _Slices &... | __slices )
| constexpr

Definition at line 1143 of file mdspan.

## Variable Documentation

## ◆ __fwd_partial_prods

template<array _Extents>

auto std::__mdspan::__fwd_partial_prods
| constexpr

Definition at line 316 of file mdspan.

## ◆ __is_extent_slice

template<typename _Tp>

bool std::__mdspan::__is_extent_slice
| constexpr

Definition at line 885 of file mdspan.

## ◆ __is_extent_slice< extent_slice< _OffsetType, _ExtentType, _StrideType > >

template<typename _OffsetType, typename _ExtentType, typename _StrideType>

bool std::__mdspan::__is_extent_slice< extent_slice< _OffsetType, _ExtentType, _StrideType > >
| constexpr

Definition at line 888 of file mdspan.

## ◆ __is_extents

template<typename _Tp>

bool std::__mdspan::__is_extents
| constexpr

Definition at line 727 of file mdspan.

## ◆ __is_extents< extents< _IndexType, _Extents... > >

template<typename _IndexType, size_t... _Extents>

bool std::__mdspan::__is_extents< extents< _IndexType, _Extents... > >
| constexpr

Definition at line 730 of file mdspan.

## ◆ __is_left_padded_mapping

template<typename _Mapping>

bool std::__mdspan::__is_left_padded_mapping
| constexpr

Definition at line 833 of file mdspan.

## ◆ __is_padded_mapping

template<typename _Mapping>

bool std::__mdspan::__is_padded_mapping
| constexpr

Definition at line 841 of file mdspan.

## ◆ __is_range_slice

template<typename _Tp>

bool std::__mdspan::__is_range_slice
| constexpr

Definition at line 892 of file mdspan.

## ◆ __is_range_slice< range_slice< _FirstType, _LastType, _StrideType > >

template<typename _FirstType, typename _LastType, typename _StrideType>

bool std::__mdspan::__is_range_slice< range_slice< _FirstType, _LastType, _StrideType > >
| constexpr

Definition at line 895 of file mdspan.

## ◆ __is_right_padded_mapping

template<typename _Mapping>

bool std::__mdspan::__is_right_padded_mapping
| constexpr

Definition at line 837 of file mdspan.

## ◆ __rev_partial_prods

template<array _Extents>

auto std::__mdspan::__rev_partial_prods
| constexpr

Definition at line 332 of file mdspan.