std::layout_stride:: mapping
|
定义于头文件
<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]
|
确定此映射是否带步长(在每个维度中,递增索引每次跳过相同数量的底层元素)
(公开静态成员函数) |
|
[static]
|
确定此布局映射是否始终唯一
(公开静态成员函数) |
|
[static]
|
确定此布局映射是否始终穷举
(公开静态成员函数) |
|
[static]
|
确定此布局映射是否始终带步长
(公开静态成员函数) |
|
获取指定维度的步长
(公开成员函数) |
|
非成员函数
比较
layout_stride
的布局映射与其他映射
(函数模板) |
|
计算用于
subdmspan
的映射和数据句柄偏移量
(公开成员函数) |
参见
|
layout_left
的布局映射
(
std::layout_left
的公开成员类模板)
|
|
|
layout_right
的布局映射
(
std::layout_right
的公开成员类模板)
|