<div dir="ltr"><div class="gmail_extra">On 16 October 2013 10:50, Gabriel Dos Reis <span dir="ltr"><<a href="mailto:gdr@axiomatics.org" target="_blank">gdr@axiomatics.org</a>></span> wrote:<br><div class="gmail_quote">
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div class="im"><br>
</div>Exactly! I said std::less<std::complex<MyFloat>>, which has always been<br>
supposed to be user-provided, when defined. Since C++98.</blockquote><div><br></div><div>Where is the text in the standard or TR/TS (which is the only official communication between the committee and developers) which states that?<br>
<br></div><div>All I can find in n3797 is 17.6.4.2.1p1: "A program may add a template specialization<br>for any standard library template to namespace std only if the declaration depends on a user-defined type<br>and the specialization meets the standard library requirements for the original template and is not explicitly<br>
prohibited."<br><br></div><div>Unless we are willing to say that std::less<T> has no requirements, I don't see how we give permission for specializing that in a way which does not match operator<.<br></div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"> And codes<br>
like that exist. </blockquote><div><br></div><div>That is certainly true. Users are clever whether or not they are on the committee. :-)<br></div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
The relation with your argument is that those C++98<br>
codes will continue to work today with C++11, while the version with<br>
less<void> will fail. Miresably.</blockquote><div><br></div><div>Like I said, it's a long term plan...<br></div></div>-- <br> Nevin ":-)" Liber <mailto:<a href="mailto:nevin@eviloverlord.com" target="_blank">nevin@eviloverlord.com</a>> (847) 691-1404
</div></div>