[ub] Justification for < not being a total order on pointers?
Nevin Liber
nevin at eviloverlord.com
Mon Aug 26 18:12:15 CEST 2013
On 26 August 2013 11:00, Jeffrey Yasskin <jyasskin at google.com> wrote:
>
> Could someone explain why we need to allow operator<(T*) to be a non-order?
>
It comes from C. I believe it comes from the days of segmented
architectures.
I do not know of any modern machines that have such architectures and have
C++11 compilers for them. Whenever it comes up for discussion on various
reflectors, no one has mentioned one either. I for one would like to see
this restriction go away.
Armchair thought: maybe we should propose a total ordering for pointers
(for C++17 at this point) and see if anyone objects?
All that being said, I believe Library is inconsistent in its use of
operator< vs. std::less<T>, and that needs to be addressed separately.
Pointers are the current poster child for the issue but user code might be
specializing std::less as well.
--
Nevin ":-)" Liber <mailto:nevin at eviloverlord.com> (847) 691-1404
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://www.open-std.org/pipermail/ub/attachments/20130826/c835c4e0/attachment.html
More information about the ub
mailing list