std::layout_stride::mapping
From cppreference.com
< cpp | container | mdspan | layout stride
| ヘッダー <mdspan> で定義 |
||
| template< class Extents > class layout_stride::mapping; |
(C++23から) | |
クラステンプレートlayout_stride::mappingは、多次元インデックスを、オフセットを表す一次元の値に、ユーザー定義のストライドでどのようにマッピングするかを制御します。
mappingのすべての特殊化は、LayoutMappingであり、TriviallyCopyable型であり、regularを満たします。
Extents::rank_dynamic()が0である場合、多次元インデックス空間のサイズExtents()が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_stride |
[編集] メンバ定数
| メンバ | 定義 |
constexpr rank_type rank_ (private) [static] |
extents_type::rank() ((実装専用静的メンバ定数*)) |
[編集] データメンバ
| メンバ | 定義 |
extents_type extents_ (private) |
エクステントオブジェクト (説明用のメンバオブジェクト*) |
std::array<index_type, rank_> strides_ (private) |
ストライドの配列 (説明用のメンバオブジェクト*) |
[編集] メンバ関数
| 新しいマッピングを構築します。 (public member function) | |
| operator= (明示的にデフォルト化) |
マッピングを代入します。 (public member function) |
監視 | |
| extents オブジェクトを取得する (public member function) | |
| ストライドの配列を取得します (public member function) | |
| マッピングに必要なサイズを返します。 (public member function) | |
| 多次元インデックスをオフセット値にマッピングします。 (public member function) | |
| [static] |
このマッピングが一意であるかどうかを判断します(インデックスのすべての組み合わせが異なる基になる要素にマッピングされる)。 (public static 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) |
| 指定された次元に沿ったストライドを取得する (public member function) | |
[編集] 非メンバ関数
layout_strideのこのレイアウトマッピングを他のマッピングと比較します(function template) | |
subdmspan に使用されるマッピングとデータハンドルオフセットを計算します。(public member function) |
[編集] 関連項目
| layout_left のレイアウトマッピング ( std::layout_left の public メンバクラステンプレート) | |
| layout_right のレイアウトマッピング ( std::layout_right の public メンバクラステンプレート) |