命名空间
变体
操作

std::layout_stride::mapping

来自 cppreference.com
 
 
 
 
 
定义在头文件 <mdspan>
template< class Extents >
class layout_stride::mapping;
(自 C++23 起)

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

mapping 的每个特化都是一个 LayoutMapping 以及一个 TriviallyCopyable 类型,满足 regular

如果多维索引空间的大小 Extents()Extents::rank_dynamic()0 时不能用 Extents::index_type 类型的值表示,则程序格式错误。

内容

[编辑] 模板参数

Extents - 指定维数、大小以及哪些在编译时已知。必须是 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_ (private) [static] extents_type::rank()
(仅用于说明目的的静态成员常量*)

[编辑] 成员对象

成员名称 定义
extents_ (private) 类型为 extents_type 的范围。
(仅用于说明目的的成员对象*)
strides_ (private) 类型为 std::array<index_type, rank_> 的步幅。
(仅用于说明目的的成员对象*)

[编辑] 成员函数

构造一个新的映射
(公共成员函数) [编辑]
赋值映射
(公共成员函数) [编辑]
观察者
获取范围对象
(公共成员函数) [编辑]
获取步幅数组
(公共成员函数) [编辑]
返回映射所需的尺寸
(公共成员函数) [编辑]
将多维索引映射到偏移量值
(公共成员函数) [编辑]
[静态]
确定此映射是否唯一(每个索引组合都映射到不同的底层元素)
(公共静态成员函数) [编辑]
确定此映射是否详尽(每个底层元素都可以通过某些索引组合访问)
(公共成员函数) [编辑]
[静态]
确定此映射是否唯一(每个索引组合都映射到不同的底层元素)
(公共静态成员函数) [编辑]
确定此布局映射是否始终唯一
(公共静态成员函数) [编辑]
确定此布局映射是否始终详尽
(公共静态成员函数) [编辑]
确定此布局映射是否始终步幅
(公共静态成员函数) [编辑]
获取指定维度上的步幅
(公共成员函数) [编辑]

[编辑] 非成员函数

将此布局映射与其他映射进行比较
(函数模板) [编辑]
计算用于subdmspan的映射和数据句柄偏移量
(公有成员函数) [编辑]

[编辑] 参见

layout_left的布局映射
(std::layout_left的公有成员类模板)[编辑]
layout_right的布局映射
(std::layout_right的公有成员类模板)[编辑]