std::layout_stride::mapping
来自cppreference.com
< cpp | container | mdspan | layout stride
在标头 <mdspan> 定义
|
||
template< class Extents > class layout_stride::mapping; |
(C++23 起) | |
类模板 layout_stride::mapping
控制多维索引如何以用户定义的步长映射为表示偏移的一维值。
mapping
的每个特化都是布局映射 (LayoutMapping) ,并且是满足 regular
的可平凡复制 (TriviallyCopyable) 类型。
如果多维索引空间 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_ (私有)[静态]
|
extents_type::rank() (仅用于阐述的静态成员常量*) |
成员对象
成员名字 | 定义 |
extents_ (私有)
|
extents_type 类型的尺度。(仅用于阐述的成员对象*) |
strides_ (私有)
|
std::array<index_type, rank_> 类型的步长。(仅用于阐述的成员对象*) |
成员函数
构造新映射 (公开成员函数) | |
赋值映射 (公开成员函数) | |
观察器 | |
获取尺度对象 (公开成员函数) | |
获得步长的数组 (公开成员函数) | |
返回映射所需大小 (公开成员函数) | |
将多维索引映射为一个偏移值 (公开成员函数) | |
[静态] |
确定此映射是否是唯一的(每个索引组合都映射到不同的底层元素) (公开静态成员函数) |
确定此映射是否是穷尽的(每个底层元素都可被某个索引组合访问到) (公开成员函数) | |
[静态] |
确定此映射是否是跨步的 (公开静态成员函数) |
[静态] |
确定此布局映射是否总是唯一的 (公开静态成员函数) |
确定此布局映射是否总是穷尽的 (公开静态成员函数) | |
确定此布局映射是否总是跨步的 (公开静态成员函数) | |
获取沿指定维度的步长 (公开成员函数) |
非成员函数
比较此布局映射和其他映射 (函数模板) | |
计算 subdmspan 所用的映射和数据句柄偏移 (公开成员函数) |
参阅
layout_left 的布局映射 ( std::layout_left 的公开成员类模板) | |
layout_right 的布局映射 ( std::layout_right 的公开成员类模板) |