20
20
21
21
< meta name ="viewport " content ="width=device-width,initial-scale=1 ">
22
22
< meta name ="keywords " content ="
23
- C++,標準ライブラリ,リファレンス,ドキュメント,STL,std,mdspan,function template,std,layout_left::mapping,cpp23
23
+ C++,標準ライブラリ,リファレンス,ドキュメント,STL,std,mdspan,function template,std,layout_left::mapping,cpp26
24
24
">
25
25
< meta name ="title " content ="layout_left::mapping::submdspan_mapping - cpprefjp C++日本語リファレンス " />
26
26
< meta itemprop ="name " content ="layout_left::mapping::submdspan_mapping - cpprefjp C++日本語リファレンス " />
68
68
69
69
</ head >
70
70
< body >
71
- < header data-kunai-mdinfo ="{"meta": {"header": ["mdspan"], "id-type": ["function template"], "namespace": ["std"], "class": ["layout_left::mapping"], "cpp": ["cpp23 "]}, "sources": [], "page_id": ["reference", "mdspan", "layout_left", "mapping", "submdspan_mapping"]} ">
71
+ < header data-kunai-mdinfo ="{"meta": {"header": ["mdspan"], "id-type": ["function template"], "namespace": ["std"], "class": ["layout_left::mapping"], "cpp": ["cpp26 "]}, "sources": [], "page_id": ["reference", "mdspan", "layout_left", "mapping", "submdspan_mapping"]} ">
72
72
< nav class ="navbar navbar-default " role ="navigation ">
73
73
< div class ="container-fluid ">
74
74
< div class ="navbar-header ">
212
212
213
213
< p class ="text-right "> < small >
214
214
最終更新日時(UTC):
215
- < span itemprop ="datePublished " content ="2024-02-08T15:27:13 ">
216
- 2024年02月08日 15時27分13秒
215
+ < span itemprop ="datePublished " content ="2024-07-29T13:39:29 ">
216
+ 2024年07月29日 13時39分29秒
217
217
</ span >
218
218
< br />
219
219
< span itemprop ="author " itemscope itemtype ="http://schema.org/Person ">
236
236
< div class ="row ">
237
237
< div class ="col-sm-12 content-body ">
238
238
239
- < div class ="identifier-type "> function template</ div > < div class ="header "> <mdspan></ div > < h1 itemprop ="name "> < span class ="namespace " title ="namespace std "> std::</ span > < span class ="class " title ="class layout_left::mapping "> layout_left::mapping::</ span > < span class ="token "> submdspan_mapping</ span > < span class ="cpp cpp23 " title ="C++23で追加 "> (C++23 )</ span > </ h1 >
239
+ < div class ="identifier-type "> function template</ div > < div class ="header "> <mdspan></ div > < h1 itemprop ="name "> < span class ="namespace " title ="namespace std "> std::</ span > < span class ="class " title ="class layout_left::mapping "> layout_left::mapping::</ span > < span class ="token "> submdspan_mapping</ span > < span class ="cpp cpp26 " title ="C++26で追加 "> (C++26 )</ span > </ h1 >
240
240
< div itemprop ="articleBody "> < p > < div class ="codehilite "> < pre > < span > </ span > < code > < span class ="k "> template</ span > < span class ="o "> <</ span > < span class ="n "> class</ span > < span class ="p "> ...</ span > < span class ="n "> SliceSpecifiers</ span > < span class ="o "> ></ span >
241
241
< span class ="k "> constexpr</ span > < span class ="k "> auto</ span > < span class ="n "> < i > submdspan-mapping-impl</ i > </ span > < span class ="p "> (</ span > < span class ="c1 "> // exposition only</ span >
242
242
< span class ="n "> SliceSpecifiers</ span > < span class ="p "> ...</ span > < span class ="n "> slices</ span > < span class ="p "> )</ span > < span class ="k "> const</ span > < span class ="o "> -></ span > < span class ="n "> < i > see below</ i > </ span > < span class ="p "> ;</ span >
@@ -288,17 +288,32 @@ <h2>戻り値</h2>
288
288
< p > 説明専用の< code > submdspan-mapping-impl</ code > 関数テンプレートは下記の値を返す。</ p >
289
289
< ul >
290
290
< li > < code > < a href ="../../extents/rank.html "> Extents::rank()</ a > == 0</ code > のとき、< code > < a href ="../../submdspan_mapping_result.html "> submdspan_mapping_result</ a > {*this, 0}</ code > </ li >
291
+ < li > < code > SubExtents::rank() == 0</ code > のとき、< code > < a href ="../../submdspan_mapping_result.html "> submdspan_mapping_result</ a > {< a href ="../../layout_left.html "> layout_left::mapping</ a > (sub_ext), offset}</ code > </ li >
291
292
< li > 以下を満たすとき、< code > < a href ="../../submdspan_mapping_result.html "> submdspan_mapping_result</ a > {< a href ="../../layout_left.html "> layout_left::mapping</ a > (sub_ext), offset}</ code > < ul >
292
293
< li > 半開区間< code > [0, SubExtents::rank()-1)</ code > の値< code > k</ code > に対して、< code > < a href ="../../../type_traits/is_convertible.html "> is_convertible_v</ a > <S_k, < a href ="../../full_extent_t.html "> full_extent_t</ a > ></ code > が< code > true</ code > 、かつ</ li >
293
294
< li > < code > SubExtents::rank()-1</ code > に等しい値< code > k</ code > に対して、型< code > S_k</ code > が< code > < a href ="../../index-pair-like.html "> index-pair-like</ a > <index_type></ code > のモデルもしくは< code > < a href ="../../../type_traits/is_convertible.html "> is_convertible_v</ a > <S_k, < a href ="../../full_extent_t.html "> full_extent_t</ a > ></ code > が< code > true</ code > </ li >
294
295
</ ul >
295
296
</ li >
297
+ < li > 以下を満たすとき、< code > < a href ="../../submdspan_mapping_result.html "> submdspan_mapping_result</ a > {< a href ="../../layout_left_padded/mapping.html "> layout_left_padded<S_static>::mapping</ a > (sub_ext, stride(u + 1)), offset}</ code > < ul >
298
+ < li > 型< code > S_p</ code > が< code > < a href ="../../index-pair-like.html "> index-pair-like</ a > <index_type></ code > のモデルもしくは< code > < a href ="../../../type_traits/is_convertible.html "> is_convertible_v</ a > <S_k, < a href ="../../full_extent_t.html "> full_extent_t</ a > ></ code > が< code > true</ code > を満たす< code > 0</ code > より大きい最小値< code > p</ code > に対して、< code > u+1</ code > が< code > p</ code > となる値< code > u</ code > を用いて< ul >
299
+ < li > 型< code > S_0</ code > が< code > < a href ="../../index-pair-like.html "> index-pair-like</ a > <index_type></ code > のモデルもしくは< code > < a href ="../../../type_traits/is_convertible.html "> is_convertible_v</ a > <S_0, < a href ="../../full_extent_t.html "> full_extent_t</ a > ></ code > が< code > true</ code > 、かつ</ li >
300
+ < li > 半開区間< code > [u+1, u+SubExtents::rank()-1)</ code > の値< code > k</ code > に対して、< code > < a href ="../../../type_traits/is_convertible.html "> is_convertible_v</ a > <S_k, < a href ="../../full_extent_t.html "> full_extent_t</ a > ></ code > 、かつ</ li >
301
+ < li > < code > u+SubExtents::rank()-1</ code > に等しい値< code > k</ code > に対して、型< code > S_k</ code > が< code > < a href ="../../index-pair-like.html "> index-pair-like</ a > <index_type></ code > のモデルもしくは< code > < a href ="../../../type_traits/is_convertible.html "> is_convertible_v</ a > <S_k, < a href ="../../full_extent_t.html "> full_extent_t</ a > ></ code > が< code > true</ code > </ li >
302
+ </ ul >
303
+ </ li >
304
+ < li > ここで定数< code > S_static</ code > は< ul >
305
+ < li > 半開区間< code > [0, u+1)</ code > のいずれかの値< code > k</ code > に対して< code > static_extent(k)</ code > が< code > < a href ="../../../span/dynamic_extent.html "> dynamic_extent</ a > </ code > のとき、< code > dynamic_extent</ code > </ li >
306
+ < li > そうでなければ、半開区間< code > [0, u+1)</ code > の全ての値< code > k</ code > に対して< code > static_extent(k)</ code > を乗算した値</ li >
307
+ </ ul >
308
+ </ li >
309
+ </ ul >
310
+ </ li >
296
311
< li > < code > < a href ="../../submdspan_mapping_result.html "> submdspan_mapping_result</ a > {< a href ="../../layout_stride.html "> layout_stride::mapping</ a > (sub_ext, sub_strides), offset}</ code > </ li >
297
312
</ ul >
298
313
< h2 > バージョン</ h2 >
299
314
< h3 > 言語</ h3 >
300
315
< ul >
301
- < li > C++23 </ li >
316
+ < li > C++26 </ li >
302
317
</ ul >
303
318
< h3 > 処理系</ h3 >
304
319
< ul >
@@ -314,6 +329,7 @@ <h2>関連項目</h2>
314
329
< h2 > 参照</ h2 >
315
330
< ul >
316
331
< li > < a href ="https://open-std.org/jtc1/sc22/wg21/docs/papers/2023/p2630r4.html " target ="_blank "> P2630R4 Submdspan</ a > </ li >
332
+ < li > < a href ="https://www.open-std.org/jtc1/sc22/wg21/docs/papers/2024/p2642r6.pdf " target ="_blank "> P2642R6 Padded mdspan layouts</ a > </ li >
317
333
</ ul > </ div >
318
334
319
335
</ div >
0 commit comments