Namespaces
Variants

std::layout_left:: mapping

From cppreference.net
ヘッダーで定義 <mdspan>
template < class Extents >
class layout_left :: mapping ;
(C++23以降)

クラステンプレート layout_left::mapping は、多次元インデックスが列優先方式でオフセットを表す一次元値にどのようにマッピングされるかを制御します。このマッピングは左端のエクステントでストライド1を持ち、ストライドは左から右へエクステントの積として増加します。

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_left

データメンバ

メンバー 定義
extents_type extents_ (private) エクステントオブジェクト
( 説明専用メンバーオブジェクト* )

メンバー関数

新しいマッピングを構築する
(public member function)
operator=
(explicitly defaulted)
マッピングを代入する
(public member function)
オブザーバ
エクステントオブジェクトを取得する
(public member function)
マッピングに必要なサイズを返す
(public member function)
多次元インデックスをオフセット値にマッピングする
(public member function)
[static]
このマッピングが一意かどうかを判定する(すべてのインデックスの組み合わせが異なる基盤要素にマッピングされる)
(public static member function)
このマッピングが網羅的かどうかを判定する(すべての基盤要素が何らかのインデックスの組み合わせでアクセス可能)
(public static member function)
[static]
このマッピングがストライドされているかどうかを判定する(各次元で、インデックスをインクリメントすると毎回同じ数の基盤要素をスキップする)
(public static member function)
このレイアウトマッピングが常に一意かどうかを判定する
(public static member function)
このレイアウトマッピングが常に網羅的かどうかを判定する
(public static member function)
このレイアウトマッピングが常にストライドされているかどうかを判定する
(public static member function)
指定された次元に沿ったストライドを取得する
(public member function)

非メンバー関数

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

関連項目

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