From 9a04d7c331c7a31a5ff0e57bf1e3b792719ba624 Mon Sep 17 00:00:00 2001 From: "A. Jiang" Date: Sun, 2 Nov 2025 16:21:32 +0800 Subject: [PATCH] [lib] Use `\exposid(nc)` for components in [expos.only.entity] Affected exposition-only components: - _`decay-copy`_ - _`synth-three-way`_ - _`synth-three-way-result`_ Affected sections: - [expos.only.entity] - [utility.syn] - [pairs.spec] - [tuple.syn] - [tuple.rel] - [array.syn] - [deque.syn] - [forward.list.syn] - [list.syn] - [vector.syn] - [associative.map.syn] - [associative.set.syn] - [flat.set.defn] - [flat.multiset.defn] - [range.all.general] - [range.take.overview] - [range.drop.overview] --- source/containers.tex | 22 +++++++++++----------- source/lib-intro.tex | 10 +++++----- source/ranges.tex | 8 ++++---- source/utilities.tex | 20 ++++++++++---------- 4 files changed, 30 insertions(+), 30 deletions(-) diff --git a/source/containers.tex b/source/containers.tex index d102cb7fe9..128b11ce8b 100644 --- a/source/containers.tex +++ b/source/containers.tex @@ -6076,7 +6076,7 @@ template constexpr bool operator==(const array& x, const array& y); template - constexpr @\placeholder{synth-three-way-result}@ + constexpr @\exposid{synth-three-way-result}@ operator<=>(const array& x, const array& y); // \ref{array.special}, specialized algorithms @@ -6444,7 +6444,7 @@ template constexpr bool operator==(const deque& x, const deque& y); template - constexpr @\placeholder{synth-three-way-result}@ + constexpr @\exposid{synth-three-way-result}@ operator<=>(const deque& x, const deque& y); template @@ -6940,7 +6940,7 @@ constexpr bool operator==(const forward_list& x, const forward_list& y); template - constexpr @\placeholder{synth-three-way-result}@ + constexpr @\exposid{synth-three-way-result}@ operator<=>(const forward_list& x, const forward_list& y); @@ -8995,7 +8995,7 @@ template constexpr bool operator==(const list& x, const list& y); template - constexpr @\placeholder{synth-three-way-result}@ + constexpr @\exposid{synth-three-way-result}@ operator<=>(const list& x, const list& y); template @@ -9788,7 +9788,7 @@ template constexpr bool operator==(const vector& x, const vector& y); template - constexpr @\placeholder{synth-three-way-result}@ + constexpr @\exposid{synth-three-way-result}@ operator<=>(const vector& x, const vector& y); template @@ -11420,7 +11420,7 @@ constexpr bool operator==(const map& x, const map& y); template - constexpr @\placeholder{synth-three-way-result}@> + constexpr @\exposid{synth-three-way-result}@> operator<=>(const map& x, const map& y); @@ -11443,7 +11443,7 @@ constexpr bool operator==(const multimap& x, const multimap& y); template - constexpr @\placeholder{synth-three-way-result}@> + constexpr @\exposid{synth-three-way-result}@> operator<=>(const multimap& x, const multimap& y); @@ -12585,7 +12585,7 @@ constexpr bool operator==(const set& x, const set& y); template - constexpr @\placeholder{synth-three-way-result}@ + constexpr @\exposid{synth-three-way-result}@ operator<=>(const set& x, const set& y); @@ -12607,7 +12607,7 @@ constexpr bool operator==(const multiset& x, const multiset& y); template - constexpr @\placeholder{synth-three-way-result}@ + constexpr @\exposid{synth-three-way-result}@ operator<=>(const multiset& x, const multiset& y); @@ -19079,7 +19079,7 @@ friend constexpr bool operator==(const flat_set& x, const flat_set& y); - friend constexpr @\placeholder{synth-three-way-result}@ + friend constexpr @\exposid{synth-three-way-result}@ operator<=>(const flat_set& x, const flat_set& y); friend constexpr void swap(flat_set& x, flat_set& y) noexcept { x.swap(y); } @@ -19750,7 +19750,7 @@ friend constexpr bool operator==(const flat_multiset& x, const flat_multiset& y); - friend constexpr @\placeholder{synth-three-way-result}@ + friend constexpr @\exposid{synth-three-way-result}@ operator<=>(const flat_multiset& x, const flat_multiset& y); friend constexpr void swap(flat_multiset& x, flat_multiset& y) noexcept diff --git a/source/lib-intro.tex b/source/lib-intro.tex index c873182185..fd0cf56946 100644 --- a/source/lib-intro.tex +++ b/source/lib-intro.tex @@ -539,16 +539,16 @@ \pnum The following are defined for exposition only to aid in the specification of the library: -\indexlibrary{decay-copy@\tcode{\placeholder{decay-copy}}}% +\indexlibrary{decay-copy@\exposid{decay-copy}}% \begin{codeblock} namespace std { template requires @\libconcept{convertible_to}@> - constexpr decay_t @\placeholdernc{decay-copy}@(T&& v) // \expos + constexpr decay_t @\exposidnc{decay-copy}@(T&& v) // \expos noexcept(is_nothrow_convertible_v>) { return std::forward(v); } - constexpr auto @\placeholdernc{synth-three-way}@ = // \expos + constexpr auto @\exposidnc{synth-three-way}@ = // \expos [](const T& t, const U& u) requires requires { { t < u } -> @\exposconcept{boolean-testable}@; @@ -565,8 +565,8 @@ }; template - using @\placeholdernc{synth-three-way-result}@ = // \expos - decltype(@\placeholdernc{synth-three-way}@(declval(), declval())); + using @\exposidnc{synth-three-way-result}@ = // \expos + decltype(@\exposidnc{synth-three-way}@(declval(), declval())); } \end{codeblock} diff --git a/source/ranges.tex b/source/ranges.tex index 1f4f807da7..ce5fa670c0 100644 --- a/source/ranges.tex +++ b/source/ranges.tex @@ -4513,7 +4513,7 @@ Given a subexpression \tcode{E}, the expression \tcode{views::all(E)} is expression-equivalent to: \begin{itemize} -\item \tcode{\placeholdernc{decay-copy}(E)} if the decayed type of \tcode{E} +\item \tcode{\exposidnc{decay-copy}(E)} if the decayed type of \tcode{E} models \libconcept{view}. \item Otherwise, \tcode{ref_view\{E\}} if that expression is well-formed. @@ -5894,7 +5894,7 @@ \item If \tcode{T} is a specialization of \tcode{empty_view}\iref{range.empty.view}, -then \tcode{((void)F, \placeholdernc{decay-copy}(E))}, +then \tcode{((void)F, \exposidnc{decay-copy}(E))}, except that the evaluations of \tcode{E} and \tcode{F} are indeterminately sequenced. @@ -6377,7 +6377,7 @@ \item If \tcode{T} is a specialization of \tcode{empty_view}\iref{range.empty.view}, -then \tcode{((void)F, \placeholdernc{decay-copy}(E))}, +then \tcode{((void)F, \exposidnc{decay-copy}(E))}, except that the evaluations of \tcode{E} and \tcode{F} are indeterminately sequenced. @@ -6420,7 +6420,7 @@ \end{codeblock} except that \tcode{E} is evaluated only once; \item -otherwise, \tcode{((void)F, \placeholdernc{decay-copy}(E))}, +otherwise, \tcode{((void)F, \exposidnc{decay-copy}(E))}, except that the evaluations of \tcode{E} and \tcode{F} are indeterminately sequenced. \end{itemize} diff --git a/source/utilities.tex b/source/utilities.tex index 41ebfec084..09654e0c6a 100644 --- a/source/utilities.tex +++ b/source/utilities.tex @@ -137,8 +137,8 @@ template constexpr bool operator==(const pair&, const pair&); template - constexpr common_comparison_category_t<@\placeholder{synth-three-way-result}@, - @\placeholder{synth-three-way-result}@> + constexpr common_comparison_category_t<@\exposid{synth-three-way-result}@, + @\exposid{synth-three-way-result}@> operator<=>(const pair&, const pair&); template @@ -1318,8 +1318,8 @@ \indexlibrarymember{operator<=>}{pair}% \begin{itemdecl} template - constexpr common_comparison_category_t<@\placeholder{synth-three-way-result}@, - @\placeholder{synth-three-way-result}@> + constexpr common_comparison_category_t<@\exposid{synth-three-way-result}@, + @\exposid{synth-three-way-result}@> operator<=>(const pair& x, const pair& y); \end{itemdecl} @@ -1328,8 +1328,8 @@ \effects Equivalent to: \begin{codeblock} -if (auto c = @\placeholdernc{synth-three-way}@(x.first, y.first); c != 0) return c; -return @\placeholdernc{synth-three-way}@(x.second, y.second); +if (auto c = @\exposidnc{synth-three-way}@(x.first, y.first); c != 0) return c; +return @\exposidnc{synth-three-way}@(x.second, y.second); \end{codeblock} \end{itemdescr} @@ -1614,7 +1614,7 @@ template constexpr bool operator==(const tuple&, const UTuple&); template - constexpr common_comparison_category_t<@\placeholdernc{synth-three-way-result}@...> + constexpr common_comparison_category_t<@\exposidnc{synth-three-way-result}@...> operator<=>(const tuple&, const tuple&); template constexpr @\seebelownc@ operator<=>(const tuple&, const UTuple&); @@ -2992,10 +2992,10 @@ \indexlibrarymember{operator<=>}{tuple}% \begin{itemdecl} template - constexpr common_comparison_category_t<@\placeholder{synth-three-way-result}@...> + constexpr common_comparison_category_t<@\exposid{synth-three-way-result}@...> operator<=>(const tuple& t, const tuple& u); template - constexpr common_comparison_category_t<@\placeholder{synth-three-way-result}@...> + constexpr common_comparison_category_t<@\exposid{synth-three-way-result}@...> operator<=>(const tuple& t, const UTuple& u); \end{itemdecl} @@ -3013,7 +3013,7 @@ returns \tcode{strong_ordering::equal}. Otherwise, equivalent to: \begin{codeblock} -if (auto c = @\placeholder{synth-three-way}@(get<0>(t), get<0>(u)); c != 0) return c; +if (auto c = @\exposid{synth-three-way}@(get<0>(t), get<0>(u)); c != 0) return c; return @$\tcode{t}_\mathrm{tail}$@ <=> @$\tcode{u}_\mathrm{tail}$@; \end{codeblock} where $\tcode{r}_\mathrm{tail}$ for some \tcode{r}