Namespaces
Variants

std::layout_stride:: mapping

From cppreference.net
ヘッダーで定義 <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]
このマッピングがストライドされているかどうかを判定する(各次元で、インデックスをインクリメントすると毎回同じ数の基盤要素をスキップする)
(公開静的メンバ関数)
このレイアウトマッピングが常に一意かどうかを判定する
(公開静的メンバ関数)
このレイアウトマッピングが常に網羅的かどうかを判定する
(公開静的メンバ関数)
このレイアウトマッピングが常にストライドされているかどうかを判定する
(公開静的メンバ関数)
指定された次元に沿ったストライドを取得する
(公開メンバ関数)

非メンバー関数

layout_stride のこのレイアウトマッピングを他のマッピングと比較する
(関数テンプレート)
subdmspan で使用されるマッピングとデータハンドルのオフセットを計算する
(公開メンバ関数)

関連項目

layout_left のレイアウトマッピング
( std::layout_left の公開メンバークラステンプレート)
layout_right のレイアウトマッピング
( std::layout_right の公開メンバークラステンプレート)