Skip to content

Commit

Permalink
P3222R0 Fix C++26 by adding transposed special cases for P2642 layouts
Browse files Browse the repository at this point in the history
  • Loading branch information
tkoeppe committed Dec 17, 2024
1 parent 1dabdd3 commit a94d64f
Show file tree
Hide file tree
Showing 2 changed files with 23 additions and 1 deletion.
22 changes: 22 additions & 0 deletions source/numerics.tex
Original file line number Diff line number Diff line change
Expand Up @@ -13066,6 +13066,12 @@
\item
otherwise, \tcode{layout_left} if \tcode{Layout} is \tcode{layout_right};
\item
otherwise, \tcode{layout_right_padded<PaddingValue>} if \tcode{Layout} is \tcode{layout_left_padded<PaddingValue>}
for some \tcode{size_t} value \tcode{PaddingValue};
\item
otherwise, \tcode{layout_left_padded<PaddingValue>} if \tcode{Layout} is \tcode{layout_right_padded<PaddingValue>}
for some \tcode{size_t} value \tcode{PaddingValue};
\item
otherwise, \tcode{layout_stride} if \tcode{Layout} is \tcode{layout_stride};
\item
otherwise,
Expand Down Expand Up @@ -13108,6 +13114,22 @@
a.accessor())
\end{codeblock}
\item
otherwise,
\begin{codeblock}
R(a.data_handle(), ReturnMapping(@\exposid{transpose-extents}@(a.mapping().extents()),
a.mapping().stride(1)), a.accessor())
\end{codeblock}
if \tcode{Layout} is \tcode{layout_left_padded<PaddingValue>}
for some \tcode{size_t} value \tcode{PaddingValue};
\item
otherwise,
\begin{codeblock}
R(a.data_handle(), ReturnMapping(@\exposid{transpose-extents}@(a.mapping().extents()),
a.stride(0)), a.accessor())
\end{codeblock}
if \tcode{Layout} is \tcode{layout_right_padded<PaddingValue>}
for some \tcode{size_t} value \tcode{PaddingValue};
\item
otherwise, if \tcode{Layout} is \tcode{layout_stride},
\begin{codeblock}
R(a.data_handle(), ReturnMapping(@\exposid{transpose-extents}@(a.mapping().extents()),
Expand Down
2 changes: 1 addition & 1 deletion source/support.tex
Original file line number Diff line number Diff line change
Expand Up @@ -710,7 +710,7 @@
#define @\defnlibxname{cpp_lib_jthread}@ 201911L // also in \libheader{stop_token}, \libheader{thread}
#define @\defnlibxname{cpp_lib_latch}@ 201907L // also in \libheader{latch}
#define @\defnlibxname{cpp_lib_launder}@ 201606L // freestanding, also in \libheader{new}
#define @\defnlibxname{cpp_lib_linalg}@ 202311L // also in \libheader{linalg}
#define @\defnlibxname{cpp_lib_linalg}@ 202411L // also in \libheader{linalg}
#define @\defnlibxname{cpp_lib_list_remove_return_type}@ 201806L // also in \libheader{forward_list}, \libheader{list}
#define @\defnlibxname{cpp_lib_logical_traits}@ 201510L // freestanding, also in \libheader{type_traits}
#define @\defnlibxname{cpp_lib_make_from_tuple}@ 201606L // freestanding, also in \libheader{tuple}
Expand Down

0 comments on commit a94d64f

Please sign in to comment.