<div dir="ltr">On 15 October 2013 18:14, Gabriel Dos Reis <span dir="ltr"><<a href="mailto:gdr@microsoft.com" target="_blank">gdr@microsoft.com</a>></span> wrote:<br><div class="gmail_extra"><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">Nevin --<br>
Are you asking that operator< be a total order on std::deque<T>::iterator?<br></blockquote><div><br></div><div>No, although the only sentence I can find in n3797 not requiring it today is in iterator requirements in general 24.2.1p7: "The result of the application of functions in the library to invalid ranges is undefined" and assuming that operator< has to be implemented with a function so that the assertion in table 111 that "< is a total ordering relation" only holds for valid ranges.<br>
<br></div><div>My goal is that for two objects l and r of type T, 'std::less<T>(l, r)', 'std::less<>(l, r)' and 'l < r' should never diverge, because anything else makes usage expert-only.<br>
</div></div>-- <br> Nevin ":-)" Liber <mailto:<a href="mailto:nevin@eviloverlord.com" target="_blank">nevin@eviloverlord.com</a>> (847) 691-1404
</div></div>