From 6824e11283882903bdea2f74924fca4e8e645047 Mon Sep 17 00:00:00 2001 From: "A. Jiang" Date: Thu, 24 Apr 2025 11:02:34 +0800 Subject: [PATCH 1/2] [lib] Replace uses of `add_meow_t` with plain cv-qualifiers ...except for [tab:meta.trans.cv]. Because the wording change for `add_cv` seems a bit non-trivial. --- source/containers.tex | 4 ++-- source/future.tex | 8 ++++---- source/numerics.tex | 4 ++-- source/utilities.tex | 8 ++++---- 4 files changed, 12 insertions(+), 12 deletions(-) diff --git a/source/containers.tex b/source/containers.tex index 947cfee6d8..0f5e875c29 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -11400,7 +11400,7 @@ tuple_element_t<1, @\exposid{iter-value-type}@>; // \expos template using @\placeholder{iter-to-alloc-type}@ = pair< - add_const_t>>, + const tuple_element_t<0, @\exposid{iter-value-type}@>, tuple_element_t<1, @\exposid{iter-value-type}@>>; // \expos template using @\exposid{range-key-type}@ = @@ -11409,7 +11409,7 @@ using @\exposid{range-mapped-type}@ = typename ranges::range_value_t::second_type; // \expos template using @\exposid{range-to-alloc-type}@ = - pair::first_type>, + pair::first_type, typename ranges::range_value_t::second_type>; // \expos \end{codeblock} diff --git a/source/future.tex b/source/future.tex index 50edea0be7..bdae929d04 100644 --- a/source/future.tex +++ b/source/future.tex @@ -561,8 +561,8 @@ the \oldconcept{TransformationTrait} requirements with a member typedef \tcode{type} that names the following type: \begin{itemize} -\item for the first specialization, \tcode{add_volatile_t}, and -\item for the second specialization, \tcode{add_cv_t}. +\item for the first specialization, \tcode{volatile TE}, and +\item for the second specialization, \tcode{const volatile TE}. \end{itemize} \pnum @@ -616,8 +616,8 @@ the \oldconcept{TransformationTrait} requirements with a member typedef \tcode{type} that names the following type: \begin{itemize} -\item for the first specialization, \tcode{add_volatile_t}, and -\item for the second specialization, \tcode{add_cv_t}. +\item for the first specialization, \tcode{volatile VA::type}, and +\item for the second specialization, \tcode{const volatile VA::type}. \end{itemize} \end{itemdescr} diff --git a/source/numerics.tex b/source/numerics.tex index 5d2ee0f222..1407a8b204 100644 --- a/source/numerics.tex +++ b/source/numerics.tex @@ -12594,7 +12594,7 @@ class @\libglobal{scaled_accessor}@ { public: using element_type = - add_const_t() * declval())>; + const decltype(declval() * declval()); using reference = remove_const_t; using data_handle_type = NestedAccessor::data_handle_type; using offset_policy = scaled_accessor; @@ -12766,7 +12766,7 @@ class @\libglobal{conjugated_accessor}@ { public: using element_type = - add_const_t()))>; + const decltype(@\exposid{conj-if-needed}@(declval())); using reference = remove_const_t; using data_handle_type = typename NestedAccessor::data_handle_type; using offset_policy = conjugated_accessor; diff --git a/source/utilities.tex b/source/utilities.tex index 5172585905..970436722f 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -63,7 +63,7 @@ // \ref{utility.as.const}, \tcode{as_const} template - constexpr add_const_t& as_const(T& t) noexcept; + constexpr const T& as_const(T& t) noexcept; template void as_const(const T&&) = delete; @@ -495,7 +495,7 @@ \indexlibraryglobal{as_const}% \begin{itemdecl} -template constexpr add_const_t& as_const(T& t) noexcept; +template constexpr const T& as_const(T& t) noexcept; \end{itemdecl} \begin{itemdescr} @@ -2849,7 +2849,7 @@ \pnum Let \tcode{TE} denote \tcode{tuple_element_t} of the cv-unqualified type \tcode{T}. Then each specialization of the template meets the \oldconcept{TransformationTrait} requirements\iref{meta.rqmts} -with a member typedef \tcode{type} that names the type \tcode{add_const_t}. +with a member typedef \tcode{type} that names the type \tcode{const TE}. \pnum In addition to being available via inclusion of the \libheader{tuple} header, @@ -5937,7 +5937,7 @@ Let \tcode{VA} denote \tcode{variant_alternative} of the cv-unqualified type \tcode{T}. Then each specialization of the template meets the \oldconcept{TransformationTrait} requirements\iref{meta.rqmts} with a -member typedef \tcode{type} that names the type \tcode{add_const_t}. +member typedef \tcode{type} that names the type \tcode{const VA::type}. \end{itemdescr} \indexlibraryglobal{variant_alternative}% From a8201135d69470c08f371a9e41a0354eec1ed973 Mon Sep 17 00:00:00 2001 From: "A. Jiang" Date: Fri, 25 Apr 2025 01:46:25 +0800 Subject: [PATCH 2/2] [utility.as.const] Revert changes of `as_const` --- source/utilities.tex | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/source/utilities.tex b/source/utilities.tex index 970436722f..764143b79a 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -63,7 +63,7 @@ // \ref{utility.as.const}, \tcode{as_const} template - constexpr const T& as_const(T& t) noexcept; + constexpr add_const_t& as_const(T& t) noexcept; template void as_const(const T&&) = delete; @@ -495,7 +495,7 @@ \indexlibraryglobal{as_const}% \begin{itemdecl} -template constexpr const T& as_const(T& t) noexcept; +template constexpr add_const_t& as_const(T& t) noexcept; \end{itemdecl} \begin{itemdescr}