On 26 August 2013 11:00, Jeffrey Yasskin <jyasskin@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@eviloverlord.com> (847) 691-1404