File tree Expand file tree Collapse file tree 5 files changed +28
-6
lines changed
Expand file tree Collapse file tree 5 files changed +28
-6
lines changed Original file line number Diff line number Diff line change @@ -21,7 +21,10 @@ namespace std {
2121* default_accessor[link default_accessor.md]
2222
2323## 概要
24- `mdspan`は、任意のメモリブロックに対して多次元配列のようにアクセスする機能を提供するクラスである。
24+ `mdspan`は、任意のメモリブロックに対して多次元配列のようにアクセスする機能を提供するクラスである。
25+ `mdspan`それ自体は参照先メモリブロックを所有せず、[`[]`演算子](mdspan/op_at.md)を介して多次元配列のように見せかけるビュー(view)にすぎない。
26+
27+ クラスの名称`mdspan`は、1次元の範囲[`std::span`](../span/span.md)に対する多次元(MultiDimentional)拡張に由来する。
2528
2629`mdspan`の特殊化`MDS`は[`copyable`](/reference/concepts/copyable.md)のモデルであり、かつ
2730
@@ -31,6 +34,14 @@ namespace std {
3134
3235そのメンバ型`accessor_type`, `mapping_type`, `pointer`が[トリビアルコピー可能](/reference/type_traits/is_trivially_copyable.md)であるとき、`mdspan`の特殊化もトリビアルコピー可能である。
3336
37+ ### テンプレートパラメータ
38+ `mdspan`クラスでは、テンプレートパラメータを介して多次元配列ビューをカスタマイズできる。
39+
40+ - `ElementType` : 多次元配列ビューの要素型
41+ - `Extents` : 多次元配列の次元数(rank)と要素数(extent)
42+ - `LayoutPolicy` : 多次元配列インデクスと要素位置の対応関係
43+ - `AccessorPolicy` : 要素アクセス時の詳細挙動
44+
3445### 説明専用メンバ変数
3546`mdspan`クラスは、下記の説明専用メンバ変数を保持する。
3647
@@ -168,6 +179,8 @@ int main()
168179
169180## 関連項目
170181- [ ` extents ` ] ( extents.md )
182+ - [ LayoutMappingPolicy] ( LayoutMappingPolicy.md )
183+ - [ AccessorPolicy] ( AccessorPolicy.md )
171184
172185
173186## 参照
Original file line number Diff line number Diff line change @@ -59,6 +59,7 @@ int main()
5959
6060## 関連項目
6161- [ ` extents ` ] ( ../extents.md )
62+ - [ ` size() ` ] ( size.md )
6263
6364
6465## 参照
Original file line number Diff line number Diff line change @@ -10,7 +10,7 @@ constexpr const mapping_type& mapping() const noexcept;
1010```
1111
1212## 概要
13- レイアウトマッピング` map_ ` を取得する。
13+ [ レイアウトマッピング] ( ../LayoutMapping.md ) ` map_ ` を取得する。
1414
1515
1616## 戻り値
Original file line number Diff line number Diff line change @@ -18,7 +18,7 @@ constexpr size_type size() const noexcept;
1818
1919
2020## 戻り値
21- 多次元配列サイズ[ ` extents() ` ] に対して、全次元の要素数を乗算した値。
21+ 多次元配列サイズ[ ` extents() ` ] ( extents.md ) に対して、全次元の要素数を乗算した値。
2222
2323
2424## 例外
@@ -59,6 +59,7 @@ int main()
5959
6060## 関連項目
6161- [ ` extents ` ] ( ../extents.md )
62+ - [ ` empty() ` ] ( empty.md )
6263
6364
6465## 参照
Original file line number Diff line number Diff line change @@ -14,12 +14,13 @@ namespace std {
1414* max()[link /reference/limits/numeric_limits/max.md]
1515
1616## 概要
17- `dynamic_extent`は、動的な要素数をもつことを[`std::span`](span.md)クラスに指示するための定数である 。
17+ `dynamic_extent`は、動的な要素数をもつことを[`std::span`](span.md)や[`std::mdspan`](../mdspan/mdspan.md)に指示するための定数である 。
1818
19- 以下のような状況で、[`std::span`](span.md)クラスは動的な要素数をもつようになる:
19+ ### std::span
20+ 以下のような状況で、[`span`](span.md)クラスは動的な要素数をもつようになる:
2021
2122- デフォルトテンプレート引数を使用 (デフォルトで`dynamic_extent`が使用される)
22- - 動的な長さをもつ範囲を参照する ([`std:: vector`](/reference/vector/vector.md)や、ポインタと要素数の組など)
23+ - 動的な長さをもつ範囲を参照する ([`vector`](/reference/vector/vector.md)や、ポインタと要素数の組など)
2324- 参照範囲の変更を、動的な値で指定する (`s.`[`first`](span/first.md)`<N>()`は静的な要素数、`s.`[`first`](span/first.md)`(n)`は動的な要素数をもつ`span`オブジェクトを作成する)
2425
2526
@@ -66,6 +67,7 @@ int main()
6667```
6768```
6869
70+
6971## バージョン
7072### 言語
7173- C++20
@@ -74,3 +76,8 @@ int main()
7476- [ Clang] ( /implementation.md#clang ) : 9.0
7577- [ GCC] ( /implementation.md#gcc ) : ??
7678- [ Visual C++] ( /implementation.md#visual_cpp ) : ??
79+
80+
81+ ## 関連項目
82+ - C++20 [ ` span ` ] ( span.md )
83+ - C++23 [ ` mdspan ` ] ( ../mdspan/mdspan.md )
You can’t perform that action at this time.
0 commit comments