std::layout_stride:: mapping
|
ヘッダーで定義
<mdspan>
|
||
|
template
<
class
Extents
>
class layout_stride :: mapping ; |
(C++23以降) | |
クラステンプレート
layout_stride::mapping
は、多次元インデックスがユーザー定義のストライドを使用して、オフセットを表す一次元の値にどのようにマッピングされるかを制御します。
mapping
のすべての特殊化は、
LayoutMapping
および
TriviallyCopyable
の要件を満たす
regular
な型であり、かつトリビアルコピー可能な型です。
多次元インデックス空間のサイズ Extents ( ) が型 Extents :: index_type の値として表現できない場合、プログラムは不適格である。ただしこれは Extents :: rank_dynamic ( ) が 0 の場合に限る。
目次 |
テンプレートパラメータ
| 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)
|
ストライドの配列
( 説明専用メンバーオブジェクト* ) |
メンバー関数
|
新しいマッピングを構築する
(公開メンバ関数) |
|
|
operator=
(明示的にデフォルト化)
|
マッピングを代入する
(公開メンバ関数) |
オブザーバ |
|
|
extentsオブジェクトを取得する
(公開メンバ関数) |
|
|
ストライドの配列を取得する
(公開メンバ関数) |
|
|
マッピングに必要なサイズを返す
(公開メンバ関数) |
|
|
多次元インデックスをオフセット値にマッピングする
(公開メンバ関数) |
|
|
[static]
|
このマッピングが一意かどうかを判定する(すべてのインデックスの組み合わせが異なる基盤要素にマッピングされる)
(公開静的メンバ関数) |
|
このマッピングが網羅的かどうかを判定する(すべての基盤要素が何らかのインデックスの組み合わせでアクセス可能)
(公開メンバ関数) |
|
|
[static]
|
このマッピングがストライドされているかどうかを判定する(各次元で、インデックスをインクリメントすると毎回同じ数の基盤要素をスキップする)
(公開静的メンバ関数) |
|
[static]
|
このレイアウトマッピングが常に一意かどうかを判定する
(公開静的メンバ関数) |
|
[static]
|
このレイアウトマッピングが常に網羅的かどうかを判定する
(公開静的メンバ関数) |
|
[static]
|
このレイアウトマッピングが常にストライドされているかどうかを判定する
(公開静的メンバ関数) |
|
指定された次元に沿ったストライドを取得する
(公開メンバ関数) |
|
非メンバー関数
layout_stride
のこのレイアウトマッピングを他のマッピングと比較する
(関数テンプレート) |
|
subdmspan
で使用されるマッピングとデータハンドルのオフセットを計算する
(公開メンバ関数) |
関連項目
|
layout_left
のレイアウトマッピング
(
std::layout_left
の公開メンバークラステンプレート)
|
|
|
layout_right
のレイアウトマッピング
(
std::layout_right
の公開メンバークラステンプレート)
|