std:: extents, std:: dextents, std:: dims
From cppreference.net
|
ヘッダーで定義
<mdspan>
|
||
|
template
<
class
IndexType,
std::
size_t
...
Extents
>
class extents ; |
(1) | (C++23以降) |
|
template
<
class
IndexType,
std::
size_t
Rank
>
using dextents = /* 下記参照 */ |
(2) | (C++23以降) |
|
template
<
std::
size_t
Rank,
class
IndexType
=
std::
size_t
>
using dims = std :: dextents < IndexType, Rank > ; |
(3) | (C++26以降) |
1)
ランクが
sizeof...
(
Extents
)
に等しい多次元インデックス空間を表します。
2)
全動的
extents
のための便利なエイリアステンプレート。
d
を
std::
dynamic_extent
とすると、その各特殊化
dextents
<
IndexType, Rank
>
は
extents
<
IndexType
/*, d, d, ..., d*/
>
と等価である(すなわち、
d
が合計
Rank
回繰り返される)。
extents
の各特殊化は、
regular
コンセプトをモデル化し、
TriviallyCopyable
です。
目次 |
テンプレートパラメータ
| IndexType | - |
各非動的
Extents
の型。符号付きまたは符号なし整数型でなければならない。それ以外の場合、プログラムは不適格となる
|
| Extents | - |
各ランクインデックスに対するエクステント(整数区間のサイズ)を表す。その各要素は、
std::
dynamic_extent
に等しい(この場合、動的エクステントを表し、エクステントサイズは動的に決定される)、または
IndexType
型の値として表現可能である(この場合、静的エクステントを表し、エクステントサイズはその値そのもの)、いずれかでなければならない。それ以外の場合、プログラムは不適格となる
|
| Rank | - |
全動的
extents
のランクを表す
|
メンバー型
| メンバー型 | 定義 |
index_type
|
IndexType
|
size_type
|
std:: make_unsigned_t < index_type > |
rank_type
|
std::size_t |
データメンバ
| メンバー名 | 定義 |
std::
array
<
index_type, rank_dynamic
(
)
>
dynamic-extents
(非公開)
|
各動的エクステントのサイズを格納する配列。
( 説明専用メンバーオブジェクト* ) |
メンバー関数
extents
を構築する
(public member function) |
|
オブザーバー |
|
|
[static]
|
extents
の静的ランクを返す
(public static member function) |
|
[static]
|
extents
の動的ランクを返す
(public static member function) |
|
[static]
|
特定のランクインデックスにおける
extents
の静的エクステントサイズを返す
(public static member function) |
特定のランクインデックスにおける
extents
の動的エクステントサイズを返す
(public member function) |
|
ヘルパー |
|
範囲
[0, i)
におけるエクステントサイズの積を返す
( 説明専用メンバー関数* ) |
|
範囲
[i+1, rank())
におけるエクステントサイズの積を返す
( 説明専用メンバー関数* ) |
|
|
入力を整数型にキャストする
( 説明専用メンバー関数* ) |
|
|
(private)
|
特定のランクインデックス以下の動的エクステントの数を返す
( 説明専用メンバー関数* ) |
|
(private)
|
特定の引数
i
に対して、範囲
[0, r+1)
に正確に
i + 1
個の動的エクステントが存在するような数
r
を返す
( 説明専用メンバー関数* ) |
非メンバー関数
|
(C++23)
|
2つの
extents
の各次元における基盤となる範囲を比較する
(関数) |
推論ガイド (C++23)
例
|
このセクションは不完全です
理由: 例がありません |
関連項目
|
(C++11)
|
配列型の次元数を取得する
(クラステンプレート) |
|
(C++11)
|
指定された次元における配列型のサイズを取得する
(クラステンプレート) |