<div dir="ltr">On 26 August 2013 11:00, Jeffrey Yasskin <span dir="ltr">&lt;<a href="mailto:jyasskin@google.com" target="_blank">jyasskin@google.com</a>&gt;</span> wrote:<br><div class="gmail_extra"><div class="gmail_quote">

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><br>
Could someone explain why we need to allow operator&lt;(T*) to be a non-order?<br></blockquote><div><br></div><div>It comes from C.  I believe it comes from the days of segmented architectures.<br><br></div><div>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.<br>

<br></div><div>Armchair thought:  maybe we should propose a total ordering for pointers (for C++17 at this point) and see if anyone objects?<br><br><br></div><div>All that being said, I believe Library is inconsistent in its use of operator&lt; vs. std::less&lt;T&gt;, 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.<br>

</div></div>-- <br> Nevin &quot;:-)&quot; Liber  &lt;mailto:<a href="mailto:nevin@eviloverlord.com" target="_blank">nevin@eviloverlord.com</a>&gt;  (847) 691-1404
</div></div>