[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.