std::layout_left:: mapping
|
定义于头文件
<mdspan>
|
||
|
template
<
class
Extents
>
class layout_left :: mapping ; |
(C++23 起) | |
类模板
layout_left::mapping
控制多维索引如何以列主序方式映射到表示偏移量的一维值。该映射在最左侧维度具有步长1,且步长从左到右按各维度大小的乘积递增。
mapping
的每个特化都是一个
LayoutMapping
且为满足
regular
的
TriviallyCopyable
类型。
当 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_left |
数据成员
| 成员 | 定义 |
extents_type
extents_
(私有)
|
维度范围对象
( 仅用于说明的成员对象* ) |
成员函数
|
构造新的映射
(公开成员函数) |
|
|
operator=
(explicitly defaulted)
|
赋值映射
(公开成员函数) |
观察器 |
|
|
获取维度对象
(公开成员函数) |
|
|
返回映射所需的尺寸
(公开成员函数) |
|
|
将多维索引映射为偏移值
(公开成员函数) |
|
|
[static]
|
判断此映射是否唯一(每个索引组合都映射到不同的底层元素)
(公开静态成员函数) |
|
[static]
|
判断此映射是否穷举(每个底层元素都能通过某些索引组合访问)
(公开静态成员函数) |
|
[static]
|
判断此映射是否跨步(在每个维度中,递增索引每次跳过相同数量的底层元素)
(公开静态成员函数) |
|
[static]
|
判断此布局映射是否始终唯一
(公开静态成员函数) |
|
[static]
|
判断此布局映射是否始终穷举
(公开静态成员函数) |
|
[static]
|
判断此布局映射是否始终跨步
(公开静态成员函数) |
|
获取指定维度的步长
(公开成员函数) |
|
非成员函数
比较此
layout_left
布局映射与其他映射
(函数模板) |
|
计算用于
subdmspan
的映射和数据句柄偏移量
(公开成员函数) |
参见
|
layout_right
的布局映射
(
std::layout_right
的公开成员类模板)
|
|
|
layout_stride
的布局映射
(
std::layout_stride
的公开成员类模板)
|