@@ -14283,21 +14283,19 @@
1428314283\pnum
1428414284For templates \tcode{less}, \tcode{greater}, \tcode{less_equal}, and
1428514285\tcode{greater_equal}, the specializations for any pointer type
14286- yield a strict total order that is consistent among those specializations and
14287- is also consistent with the partial order imposed by
14288- the built-in operators \tcode{<}, \tcode{>}, \tcode{<=}, \tcode{>=}.
14286+ yield a result consistent with the
14287+ implementation-defined strict total order over pointers\iref{defns.order.ptr}.
1428914288\begin{note}
14290- When \tcode{a < b} is well-defined
14289+ If \tcode{a < b} is well-defined
1429114290for pointers \tcode{a} and \tcode{b} of type \tcode{P},
14292- this implies \tcode{(a < b) == less<P>()(a, b)},
14291+ then \tcode{(a < b) == less<P>()(a, b)},
1429314292\tcode{(a > b) == greater<P>()(a, b)}, and so forth.
1429414293\end{note}
1429514294For template specializations \tcode{less<void>}, \tcode{greater<void>},
1429614295\tcode{less_equal<void>}, and \tcode{greater_equal<void>},
1429714296if the call operator calls a built-in operator comparing pointers,
14298- the call operator yields a strict total order
14299- that is consistent among those specializations and
14300- is also consistent with the partial order imposed by those built-in operators.
14297+ the call operator yields a result consistent
14298+ with the implementation-defined strict total order over pointers.
1430114299
1430214300\rSec3[comparisons.equal.to]{Class template \tcode{equal_to}}
1430314301
1456114559in the expression \tcode{declval<T>() $op$ declval<U>()} resolves to a built-in
1456214560operator comparing pointers.
1456314561
14564- \pnum
14565- There is an implementation-defined strict total ordering over all pointer values
14566- of a given type. This total ordering is consistent with the partial order imposed
14567- by the builtin operators \tcode{<}, \tcode{>}, \tcode{<=}, \tcode{>=}, and
14568- \tcode{<=>}.
14569-
1457014562\indexlibraryglobal{equal_to}%
1457114563\begin{itemdecl}
1457214564struct ranges::equal_to {
@@ -14591,10 +14583,10 @@
1459114583\begin{itemize}
1459214584\item
1459314585 If the expression \tcode{std::forward<T>(t) == std::forward<U>(u)} results in
14594- a call to a built-in operator \tcode{==} comparing pointers of type \tcode{P} :
14586+ a call to a built-in operator \tcode{==} comparing pointers:
1459514587 returns \tcode{false} if either (the converted value of) \tcode{t} precedes
1459614588 \tcode{u} or \tcode{u} precedes \tcode{t} in the implementation-defined strict
14597- total order over pointers of type \tcode{P } and otherwise \tcode{true}.
14589+ total order over pointers\iref{defns.order.ptr } and otherwise \tcode{true}.
1459814590
1459914591\item
1460014592 Otherwise, equivalent to:
1467014662\begin{itemize}
1467114663\item
1467214664If the expression \tcode{std::forward<T>(t) < std::forward<U>(u)} results in a
14673- call to a built-in operator \tcode{<} comparing pointers of type \tcode{P} :
14665+ call to a built-in operator \tcode{<} comparing pointers:
1467414666returns \tcode{true} if (the converted value of) \tcode{t} precedes \tcode{u} in
14675- the implementation-defined strict total order over pointers of type \tcode{P }
14667+ the implementation-defined strict total order over pointers\iref{defns.order.ptr }
1467614668and otherwise \tcode{false}.
1467714669
1467814670\item
0 commit comments