std::layout_right::mapping
From cppreference.com
< cpp | container | mdspan | layout right
| ヘッダー <mdspan> で定義 |
||
| template< class Extents > class layout_right::mapping; |
(C++23から) | |
クラステンプレートlayout_right::mappingは、多次元インデックスを1次元の値(オフセットを表す)に、行優先順にマッピングする方法を制御します。マッピングは、最も右の次元でストライド1を持ち、右から左へ、各次元のサイズ(extent)の積としてストライドが増加します。
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_right |
[編集] データメンバ
| メンバ | 定義 |
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_rightのこのレイアウトマッピングを他のマッピングと比較します。(function template) | |
subdmspan に使用されるマッピングとデータハンドルオフセットを計算します。(public member function) |
[編集] 例
| このセクションは未完成です 理由: 例がありません |
[編集] 関連項目
| layout_left のレイアウトマッピング ( std::layout_left の public メンバクラステンプレート) | |
| layout_stride のレイアウトマッピング ( std::layout_stride の public メンバクラステンプレート) |