[ub] Justification for < not being a total order on pointers?

Jeffrey Yasskin jyasskin at google.com
Thu Oct 17 00:13:52 CEST 2013


On Wed, Oct 16, 2013 at 3:03 PM, Nevin Liber <nevin at eviloverlord.com> wrote:
> On 16 October 2013 16:51, Christopher Jefferson <chris at bubblescope.net>
> wrote:
>>
>>
>>
>> Oh, I did not realise that. I assume those weasel words are:
>>
>> 20.10.5: 14 For templates greater, less, greater_equal, and
>> less_equal, the specializations for any pointer type yield a total
>> order, even if the built-in operators <, >, <=, >= do not.
>>
>> I did not think that applied for the std::less<void> specialisation,
>> but I can imagine how you could read that it did.
>
>
> Hmmm... I think you are right... although I thought the intention was it
> works for less<void>.

IIRC, Stephan intentionally left the weasel-words out of
std::less<void>, and we've discussed that choice before and generally
found it reasonable.


More information about the ub mailing list