Namespaces
Variants

std::layout_stride:: mapping

From cppreference.net
定义于头文件 <mdspan>
template < class Extents >
class layout_stride :: mapping ;
(C++23 起)

类模板 layout_stride::mapping 控制着如何将多维索引通过用户自定义的步长映射到表示偏移量的一维值。

mapping 的每个特化都是一个 LayoutMapping 且为 TriviallyCopyable 类型,同时满足 regular 概念要求。

Extents :: rank_dynamic ( ) 0 时,若多维索引空间 Extents ( ) 的大小无法表示为 Extents :: index_type 类型的值,则程序非良构。

目录

模板参数

维度范围 - 指定维度数量、各维度大小以及哪些维度在编译时已知。必须是 std::extents 的特化。

成员类型

成员类型 定义
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_stride

成员常量

成员 定义
constexpr rank_type rank_ (私有) [静态] extents_type :: rank ( )
( 仅用于说明的静态成员常量* )

数据成员

成员 定义
extents_type extents_ (私有) 维度范围对象
( 仅说明用途的成员对象* )
std:: array < index_type, rank_ > strides_ (私有) 步长数组
( 仅说明用途的成员对象* )

成员函数

构造新的映射
(公开成员函数)
operator=
(explicitly defaulted)
赋值映射
(公开成员函数)
观察器
获取维度对象
(公开成员函数)
获取步长数组
(公开成员函数)
返回映射所需的大小
(公开成员函数)
将多维索引映射为偏移值
(公开成员函数)
[static]
确定此映射是否唯一(每个索引组合都映射到不同的底层元素)
(公开静态成员函数)
确定此映射是否穷举(每个底层元素都能通过某些索引组合访问)
(公开成员函数)
[static]
确定此映射是否带步长(在每个维度中,递增索引每次跳过相同数量的底层元素)
(公开静态成员函数)
确定此布局映射是否始终唯一
(公开静态成员函数)
确定此布局映射是否始终穷举
(公开静态成员函数)
确定此布局映射是否始终带步长
(公开静态成员函数)
获取指定维度的步长
(公开成员函数)

非成员函数

比较 layout_stride 的布局映射与其他映射
(函数模板)
计算用于 subdmspan 的映射和数据句柄偏移量
(公开成员函数)

参见

layout_left 的布局映射
( std::layout_left 的公开成员类模板)
layout_right 的布局映射
( std::layout_right 的公开成员类模板)