[comparisons.general] (original) (raw)

For templates less, greater, less_equal, andgreater_equal, the specializations for any pointer type yield a result consistent with the implementation-defined strict total order over pointers ([defns.order.ptr]).

[Note 1:

If a < b is well-defined for pointers a and b of type P, then (a < b) == less<P>()(a, b),(a > b) == greater<P>()(a, b), and so forth.

— _end note_]

For template specializations less<void>, greater<void>,less_equal<void>, and greater_equal<void>, if the call operator calls a built-in operator comparing pointers, the call operator yields a result consistent with the implementation-defined strict total order over pointers.