<div dir="ltr">On 16 October 2013 10:27, Gabriel Dos Reis <span dir="ltr">&lt;<a href="mailto:gdr@microsoft.com" target="_blank">gdr@microsoft.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"><div class="im"><br>
| No, although the only sentence I can find in n3797 not requiring it today is in<br>
| iterator requirements in general 24.2.1p7: &quot;The result of the application of<br>
| functions in the library to invalid ranges is undefined&quot; and assuming that<br>
| operator&lt; has to be implemented with a function so that the assertion in table 111<br>
| that &quot;&lt; is a total ordering relation&quot; only holds for valid ranges.<br>
|<br>
|<br>
| My goal is that for two objects l and r of type T, &#39;std::less&lt;T&gt;(l, r)&#39;, &#39;std::less&lt;&gt;(l, r)&#39;<br>
| and &#39;l &lt; r&#39; should never diverge,<br>
<br>
</div>I am not sure expect what you mean by &quot;diverge&quot;.  I am hoping you aren&#39;t arguing<br>
that std::less should just be a different syntax for operator&lt;.<br></blockquote><div><br></div><div>Yes, I am.  It&#39;s a long term goal. :-)  If we didn&#39;t want that, we should never have called it less.<br></div>

<div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
That said, I am unsure how you answer &quot;no&quot; above squares with your goal<br>
as stated here.<br></blockquote><div><br></div><div>How does &#39;less&lt;deque&lt;T&gt;::iterator&gt;()(l, r)&#39; differ from &#39;less&lt;&gt;()(l, r)&#39; differ from &#39;l &lt; r&#39;?<br></div><div> </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


My own personal view (not that of chair) is that if std::less&lt;T&gt;(l,r) and &quot;l &lt; r&quot; are<br>
both defined, then they should yield the same answer.<br></blockquote><div><br></div><div>Which fails for pointers.<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>