名稱空間
變體
操作

std::layout_left::mapping

來自 cppreference.com
< cpp‎ | 容器‎ | mdspan‎ | layout left
 
 
 
 
 
定義於標頭檔案 <mdspan>
template< class Extents >
class layout_left::mapping;
(C++23 起)

類模板 layout_left::mapping 控制多維索引如何以列主序方式對映到表示偏移量的一維值。該對映在最左邊的擴充套件處步幅為 1,並且步幅從左到右隨著擴充套件的乘積而增加。

mapping 的每個特化都是一個 LayoutMapping 和一個 TriviallyCopyable 型別,它滿足 regular

如果多維索引空間 Extents() 的大小無法表示為型別 Extents::index_type 的值,當 Extents::rank_dynamic()0 時,程式是 ill-formed 的。

目錄

[編輯] 模板引數

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_left

[編輯] 資料成員

成員 定義
extents_type extents_ (private) 擴充套件物件
(僅用於闡釋的成員物件*)

[編輯] 成員函式

構造一個新對映
(public 成員函式) [編輯]
operator=
(顯式預設)
賦值一個對映
(public 成員函式) [編輯]
觀察器
獲取區段物件
(public 成員函式) [編輯]
返回對映的所需大小
(public 成員函式) [編輯]
將多維索引對映到偏移量值
(public 成員函式) [編輯]
[靜態]
確定此對映是否唯一(索引的每個組合對映到不同的底層元素)
(public static 成員函式) [編輯]
確定此對映是否詳盡(每個底層元素都可以透過某些索引組合訪問)
(public static 成員函式) [編輯]
[靜態]
確定此對映是否帶步幅(在每個維度中,每次增加一個索引都跳過相同數量的底層元素)
(public static 成員函式) [編輯]
確定此佈局對映是否總是唯一的
(public static 成員函式) [編輯]
確定此佈局對映是否總是詳盡的
(public static 成員函式) [編輯]
確定此佈局對映是否總是帶步幅的
(public static 成員函式) [編輯]
獲取沿指定維度的步長
(public 成員函式) [編輯]

[編輯] 非成員函式

將此 layout_left 的佈局對映與其他對映進行比較
(函式模板) [編輯]
計算用於 subdmspan 的對映和資料控制代碼偏移量
(public 成員函式) [編輯]

[編輯] 另請參閱

layout_right 的佈局對映
(std::layout_right 的公共成員類模板)[編輯]
layout_stride 的佈局對映
(std::layout_stride 的公共成員類模板)[編輯]