Skip to content

Commit 416238b

Browse files
committed
P3222R0 Fix C++26 by adding transposed special cases for P2642 layouts
1 parent 37acef2 commit 416238b

File tree

2 files changed

+26
-3
lines changed

2 files changed

+26
-3
lines changed

source/numerics.tex

Lines changed: 25 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -13066,6 +13066,14 @@
1306613066
\item
1306713067
otherwise, \tcode{layout_left} if \tcode{Layout} is \tcode{layout_right};
1306813068
\item
13069+
otherwise, \tcode{layout_right_padded<PaddingValue>} if \tcode{Layout} is\newline
13070+
\tcode{layout_left_padded<PaddingValue>}
13071+
for some \tcode{size_t} value \tcode{PaddingValue};
13072+
\item
13073+
otherwise, \tcode{layout_left_padded<PaddingValue>} if \tcode{Layout} is\newline
13074+
\tcode{layout_right_padded<PaddingValue>}
13075+
for some \tcode{size_t} value \tcode{PaddingValue};
13076+
\item
1306913077
otherwise, \tcode{layout_stride} if \tcode{Layout} is \tcode{layout_stride};
1307013078
\item
1307113079
otherwise,
@@ -13108,11 +13116,26 @@
1310813116
a.accessor())
1310913117
\end{codeblock}
1311013118
\item
13119+
otherwise,
13120+
\begin{codeblock}
13121+
R(a.data_handle(), ReturnMapping(@\exposid{transpose-extents}@(a.mapping().extents()),
13122+
a.mapping().stride(1)), a.accessor())
13123+
\end{codeblock}
13124+
if \tcode{Layout} is \tcode{layout_left_padded<PaddingValue>}
13125+
for some \tcode{size_t} value \tcode{PaddingValue};
13126+
\item
13127+
otherwise,
13128+
\begin{codeblock}
13129+
R(a.data_handle(), ReturnMapping(@\exposid{transpose-extents}@(a.mapping().extents()),
13130+
a.stride(0)), a.accessor())
13131+
\end{codeblock}
13132+
if \tcode{Layout} is \tcode{layout_right_padded<PaddingValue>}
13133+
for some \tcode{size_t} value \tcode{PaddingValue};
13134+
\item
1311113135
otherwise, if \tcode{Layout} is \tcode{layout_stride},
1311213136
\begin{codeblock}
1311313137
R(a.data_handle(), ReturnMapping(@\exposid{transpose-extents}@(a.mapping().extents()),
13114-
array{a.mapping().stride(1), a.mapping().stride(0)}),
13115-
a.accessor())
13138+
array{a.mapping().stride(1), a.mapping().stride(0)}), a.accessor())
1311613139
\end{codeblock}
1311713140
\item
1311813141
otherwise, if \tcode{Layout} is a specialization of \tcode{layout_transpose},

source/support.tex

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -710,7 +710,7 @@
710710
#define @\defnlibxname{cpp_lib_jthread}@ 201911L // also in \libheader{stop_token}, \libheader{thread}
711711
#define @\defnlibxname{cpp_lib_latch}@ 201907L // also in \libheader{latch}
712712
#define @\defnlibxname{cpp_lib_launder}@ 201606L // freestanding, also in \libheader{new}
713-
#define @\defnlibxname{cpp_lib_linalg}@ 202311L // also in \libheader{linalg}
713+
#define @\defnlibxname{cpp_lib_linalg}@ 202411L // also in \libheader{linalg}
714714
#define @\defnlibxname{cpp_lib_list_remove_return_type}@ 201806L // also in \libheader{forward_list}, \libheader{list}
715715
#define @\defnlibxname{cpp_lib_logical_traits}@ 201510L // freestanding, also in \libheader{type_traits}
716716
#define @\defnlibxname{cpp_lib_make_from_tuple}@ 201606L // freestanding, also in \libheader{tuple}

0 commit comments

Comments
 (0)