Boost C++ Libraries: Ticket #682: Constness in iterator_facade::operator-> https://svn.boost.org/trac10/ticket/682 <pre class="wiki">The C++ standard states (table 72) that for an input iterator, a-&gt;m is equivalent to (*a).m. If operator* returns a value_type by non-const value, it is possible to call a non-const member function on the temporary returned from the function. However, the operator_arrow_proxy class acts as a proxy to T const* rather than T*, this that you can do (*i).non_const_method(); but not i-&gt;non_const_method(); for certain input iterators. See discussion here: http://lists.boost.org/Archives/boost/2006/07/107713.php http://lists.boost.org/Archives/boost/2006/07/107740.php http://lists.boost.org/Archives/boost/2006/07/107756.php </pre> en-us Boost C++ Libraries /htdocs/site/boost.png https://svn.boost.org/trac10/ticket/682 Trac 1.4.3 david_abrahams Wed, 13 Sep 2006 22:25:05 GMT status changed https://svn.boost.org/trac10/ticket/682#comment:1 https://svn.boost.org/trac10/ticket/682#comment:1 <ul> <li><strong>status</strong> <span class="trac-field-old">assigned</span> → <span class="trac-field-new">closed</span> </li> </ul> Ticket