std::layout_left::mapping
From cppreference.com
< cpp | container | mdspan | layout left
| ヘッダー <mdspan> で定義 |
||
| template< class Extents > class layout_left::mapping; |
(C++23から) | |
クラステンプレートlayout_left::mappingは、多次元インデックスを列優先方式で1次元値(オフセットを表す)にどのようにマッピングするかを制御します。マッピングは、最も左のエクステントでストライド1を持ち、エクステントの積として左から右へストライドが増加します。
mappingのすべての特殊化は、LayoutMappingであり、TriviallyCopyable型であり、regularを満たします。
多次元インデックス空間のサイズ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_left |
[編集] データメンバ
| メンバ | 定義 |
extents_type extents_ (private) |
エクステントオブジェクト (説明用のメンバオブジェクト*) |
[編集] メンバ関数
| 新しいマッピングを構築します。 (public member function) | |
| operator= (明示的にデフォルト化) |
マッピングを代入します。 (public member function) |
監視 | |
| extents オブジェクトを取得する (public member function) | |
| マッピングに必要なサイズを返します。 (public member function) | |
| 多次元インデックスをオフセット値にマッピングします。 (public member function) | |
| [static] |
このマッピングが一意であるかどうかを判断します(インデックスのすべての組み合わせが異なる基になる要素にマッピングされる)。 (public static member function) |
| [static] |
このマッピングが網羅的であるかどうかを判断します(すべての基になる要素がインデックスのいずれかの組み合わせでアクセス可能である)。 (public static member function) |
| [static] |
このマッピングがストライドされているかどうかを判断します(各次元で、インデックスをインクリメントすると、常に同じ数の基になる要素をスキップする)。 (public static member function) |
| [static] |
このレイアウトマッピングが常に一意であるかどうかを判断します。 (public static member function) |
| [static] |
このレイアウトマッピングが常に網羅的であるかどうかを判断します。 (public static member function) |
| [static] |
このレイアウトマッピングが常にストライドされているかどうかを判断します。 (public static member function) |
| 指定された次元に沿ったストライドを取得する (public member function) | |
[編集] 非メンバ関数
このlayout_leftのマッピングを他のマッピングと比較します。(function template) | |
subdmspan に使用されるマッピングとデータハンドルオフセットを計算します。(public member function) |
[編集] 関連項目
| layout_right のレイアウトマッピング ( std::layout_right の public メンバクラステンプレート) | |
| layout_stride のレイアウトマッピング ( std::layout_stride の public メンバクラステンプレート) |