<div class="gmail_quote">On Wed, Oct 17, 2012 at 4:10 AM, Oswin Krause <span dir="ltr">&lt;<a href="mailto:Oswin.Krause@ruhr-uni-bochum.de" target="_blank">Oswin.Krause@ruhr-uni-bochum.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
Hi,<br>
<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
C++ requires it to be `iterator_traits&lt;Iterator&gt;::<u></u>reference`, I<br>
thought, or does it require it to be real reference like<br>
`iterator_traits&lt;Iterator&gt;::<u></u>value_type&amp;`?<br>
</blockquote>
<br>
The first is a requirement for every iterator. However, there are a few more lines written in pure standardese which are described in the boost.iterator docu:<br>
<br>
<a href="http://www.boost.org/doc/libs/1_51_0/libs/iterator/doc/new-iter-concepts.html#motivation" target="_blank">http://www.boost.org/doc/libs/<u></u>1_51_0/libs/iterator/doc/new-<u></u>iter-concepts.html#motivation</a><br>

<br>
&quot;Value Access Requirements in Existing Iterator Categories:<br>
[..]<br>
Forward Iterator        *i is T&amp;&quot;<br>
<br>
where T is the value_type of the iterator.<br></blockquote><div><br>Just to be technically accurate, T const &amp; is also acceptable, of course; but otherwise, yes, a real reference is still technically required by the standard for forward iterators.<br>
<br>- Jeff<br><br></div></div>

