<metaname="author"content="David Abrahams, Jeremy Siek, Thomas Witt"/>
<metaname="organization"content="Boost Consulting, Indiana University Open Systems Lab, University of Hanover Institute for Transport Railway Operation and Construction"/>
<td><aclass="first reference"href="http://www.boost-consulting.com">Boost Consulting</a>, Indiana University <aclass="reference"href="http://www.osl.iu.edu">Open Systems
Lab</a>, University of Hanover <aclass="last reference"href="http://www.ive.uni-hannover.de">Institute for Transport
<p>The <ttclass="literal"><spanclass="pre">value_type</span></tt> of the <ttclass="literal"><spanclass="pre">Iterator</span></tt> template parameter should
itself be dereferenceable. The return type of the <ttclass="literal"><spanclass="pre">operator*</span></tt> for
the <ttclass="literal"><spanclass="pre">value_type</span></tt> must be the same type as the <ttclass="literal"><spanclass="pre">Reference</span></tt> template
parameter. The <ttclass="literal"><spanclass="pre">Value</span></tt> template parameter will be the <ttclass="literal"><spanclass="pre">value_type</span></tt>
for the <ttclass="literal"><spanclass="pre">indirect_iterator</span></tt>, unless <ttclass="literal"><spanclass="pre">Value</span></tt> is const. If <ttclass="literal"><spanclass="pre">Value</span></tt>
is <ttclass="literal"><spanclass="pre">const</span><spanclass="pre">X</span></tt>, then <ttclass="literal"><spanclass="pre">value_type</span></tt> will be <em>non-</em><ttclass="literal"><spanclass="pre">const</span><spanclass="pre">X</span></tt>. The
default for <ttclass="literal"><spanclass="pre">Value</span></tt> is</p>
<p>If the default is used for <ttclass="literal"><spanclass="pre">Value</span></tt>, then there must be a valid
specialization of <ttclass="literal"><spanclass="pre">iterator_traits</span></tt> for the value type of the base
iterator.</p>
<p>The <ttclass="literal"><spanclass="pre">Reference</span></tt> parameter will be the <ttclass="literal"><spanclass="pre">reference</span></tt> type of the
<ttclass="literal"><spanclass="pre">indirect_iterator</span></tt>. The default is <ttclass="literal"><spanclass="pre">Value&</span></tt>.</p>
<p>The <ttclass="literal"><spanclass="pre">Category</span></tt> parameter is the <ttclass="literal"><spanclass="pre">iterator_category</span></tt> type for the
<ttclass="literal"><spanclass="pre">indirect_iterator</span></tt>. The default is
<trclass="field"><thclass="field-name">Requires:</th><tdclass="field-body"><ttclass="literal"><spanclass="pre">Iterator</span></tt> must be Default Constructible.</td>
</tr>
<trclass="field"><thclass="field-name">Returns:</th><tdclass="field-body">An instance of <ttclass="literal"><spanclass="pre">indirect_iterator</span></tt> with
<trclass="field"><thclass="field-name">Returns:</th><tdclass="field-body">An instance of <ttclass="literal"><spanclass="pre">indirect_iterator</span></tt> with
the <ttclass="literal"><spanclass="pre">iterator_adaptor</span></tt> subobject copy constructed from <ttclass="literal"><spanclass="pre">x</span></tt>.</td>
<trclass="field"><thclass="field-name">Requires:</th><tdclass="field-body"><ttclass="literal"><spanclass="pre">Iterator2</span></tt> is implicitly convertible to <ttclass="literal"><spanclass="pre">Iterator</span></tt>.</td>
</tr>
<trclass="field"><thclass="field-name">Returns:</th><tdclass="field-body">An instance of <ttclass="literal"><spanclass="pre">indirect_iterator</span></tt> that is a copy of <ttclass="literal"><spanclass="pre">y</span></tt>.</td>
Generated by <aclass="reference"href="http://docutils.sourceforge.net/">Docutils</a> from <aclass="reference"href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.