命名空间
变体
操作

std::layout_right::mapping

来自 cppreference.cn
< cpp‎ | 容器‎ | mdspan‎ | layout_right
 
 
 
 
 
定义于头文件 <mdspan>
template< class Extents >
class layout_right::mapping;
(C++23 起)

类模板 layout_right::mapping 控制多维索引如何以行主序方式映射到表示偏移量的一维值。该映射在最右边的维度的步长为 1,并且从右到左,步长按维度乘积递增。

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

如果当 Extents::rank_dynamic()0 时,多维索引空间 Extents() 的大小无法表示为 Extents::index_type 类型的值,则程序是病态的。

目录

[编辑] 模板参数

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

[编辑] 成员类型

成员名称 (Member name) 定义
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_right

[编辑] 数据成员

成员 定义
extents_type extents_ (私有) 扩展对象
(仅用于阐释的成员对象*)

[编辑] 成员函数

构造一个新映射
(公共成员函数) [编辑]
operator=
(显式默认)
赋值一个映射
(公共成员函数) [编辑]
观察器
获取区段对象
(公共成员函数) [编辑]
返回映射的所需大小
(公共成员函数) [编辑]
将多维索引映射到偏移量值
(公共成员函数) [编辑]
[静态]
确定此映射是否唯一(索引的每个组合映射到不同的底层元素)
(公共静态成员函数) [编辑]
确定此映射是否详尽(每个底层元素都可以通过某些索引组合访问)
(公共静态成员函数) [编辑]
[静态]
确定此映射是否带步幅(在每个维度中,每次增加一个索引都跳过相同数量的底层元素)
(公共静态成员函数) [编辑]
确定此布局映射是否总是唯一的
(公共静态成员函数) [编辑]
确定此布局映射是否总是详尽的
(公共静态成员函数) [编辑]
确定此布局映射是否总是带步幅的
(公共静态成员函数) [编辑]
获取沿指定维度的步长
(公共成员函数) [编辑]

[编辑] 非成员函数

比较此 layout_right 的布局映射与另一个映射
(函数模板) [编辑]
计算用于 subdmspan 的映射和数据句柄偏移量
(公共成员函数) [编辑]

[编辑] 示例

[编辑] 另请参阅

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