1. <spanclass="emphasis"><em><spanclass="bold"><strong>Why is there no difference between <codeclass="computeroutput"><spanclass="identifier">range_iterator</span><spanclass="special"><</span><spanclass="identifier">C</span><spanclass="special">>::</span><spanclass="identifier">type</span></code>
and <codeclass="computeroutput"><spanclass="identifier">range_const_iterator</span><spanclass="special"><</span><spanclass="identifier">C</span><spanclass="special">>::</span><spanclass="identifier">type</span></code>
for <codeclass="computeroutput"><spanclass="identifier">std</span><spanclass="special">::</span><spanclass="identifier">pair</span><spanclass="special"><</span><spanclass="identifier">iterator</span><spanclass="special">,</span><spanclass="identifier">iterator</span><spanclass="special">></span></code>?</strong></span></em></span>
In general it is not possible nor desirable to find a corresponding <codeclass="computeroutput"><spanclass="identifier">const_iterator</span></code>. When it is possible to
come up with one, the client might choose to construct a <codeclass="computeroutput"><spanclass="identifier">std</span><spanclass="special">::</span><spanclass="identifier">pair</span><spanclass="special"><</span><spanclass="identifier">const_iterator</span><spanclass="special">,</span><spanclass="identifier">const_iterator</span><spanclass="special">></span></code> object.
Note that an <aclass="link"href="reference/utilities/iterator_range.html"title="Class iterator_range"><codeclass="computeroutput"><spanclass="identifier">iterator_range</span></code></a> is somewhat more
convenient than a <codeclass="computeroutput"><spanclass="identifier">pair</span></code> and
that a <aclass="link"href="reference/utilities/sub_range.html"title="Class sub_range"><codeclass="computeroutput"><spanclass="identifier">sub_range</span></code></a> does propagate const-ness.