@@ -12812,41 +12812,35 @@
12812
12812
\begin{itemize}
12813
12813
\item
12814
12814
\tcode{remove_cvref_t<decltype(a.accessor().nested_accessor())>}
12815
- if \tcode{Accessor} is a specialization of \tcode{conjugated_accessor}; otherwise,
12815
+ if \tcode{Accessor} is a specialization of \tcode{conjugated_accessor};
12816
12816
\item
12817
- \tcode{Accessor} if \tcode{remove_cvref_t<ElementType>} is an arithmetic type; otherwise,
12817
+ otherwise,
12818
+ \tcode{Accessor} if \tcode{remove_cvref_t<ElementType>} is an arithmetic type;
12818
12819
\item
12819
- \tcode{Accessor} if the expression \tcode{conj(E)} is not valid for any subexpression \tcode{E}
12820
+ otherwise,
12821
+ \tcode{conjugated_accessor<Accessor>}
12822
+ if the expression \tcode{conj(E)} is valid for any subexpression \tcode{E}
12820
12823
whose type is \tcode{remove_cvref_t<ElementType>}
12821
12824
with overload resolution performed in a context that includes the declaration
12822
- \tcode{template<class T> conj(const T \&) = delete;}; and otherwise,
12825
+ \tcode{template<class U> U conj(const U \&) = delete;};
12823
12826
\item
12824
- \tcode{conjugated_accessor<Accessor>}.
12827
+ otherwise,
12828
+ \tcode{Accessor}.
12825
12829
\end{itemize}
12826
12830
12827
12831
\pnum
12828
12832
\returns
12833
+ Let \tcode{MD} be \tcode{mdspan<typename A::element_type, Extents, Layout, A>}.
12829
12834
\begin{itemize}
12830
12835
\item
12831
- The value
12832
- \begin{codeblock}
12833
- mdspan<typename A::element_type, Extents, Layout, A>(a.data_handle(), a.mapping(),
12834
- a.accessor().nested_accessor())
12835
- \end{codeblock}
12836
- if \tcode{Accessor} is a specialization of \tcode{conjugated_accessor}; otherwise,
12837
- \item
12838
- \tcode{a} if \tcode{remove_cvref_t<ElementType>} is an arithmetic type; otherwise,
12836
+ \tcode{MD(a.data_handle(), a.mapping(), a.accessor().nested_accessor())}
12837
+ if \tcode{Accessor} is a\newline specialization of \tcode{conjugated_accessor};
12839
12838
\item
12840
- \tcode{a} if the expression \tcode{conj(E)} is not valid for any subexpression \tcode{E}
12841
- whose type is \tcode{remove_cvref_t<ElementType>}
12842
- with overload resolution performed in a context that includes the declaration
12843
- \tcode{template<class T> conj(const T\&) = delete;}; and otherwise,
12839
+ otherwise,
12840
+ \tcode{a}, if \tcode{is_same_v<A, Accessor>} is \tcode{true};
12844
12841
\item
12845
- the value
12846
- \begin{codeblock}
12847
- mdspan<typename A::element_type, Extents, Layout, A>(a.data_handle(), a.mapping(),
12848
- conjugated_accessor(a.accessor()))
12849
- \end{codeblock}
12842
+ otherwise,
12843
+ \tcode{MD(a.data_handle(), a.mapping(), conjugated_accessor(a.accessor()))}.
12850
12844
\end{itemize}
12851
12845
\end{itemdescr}
12852
12846
0 commit comments