<p>The <ttclass="docutils literal"><spanclass="pre">reference</span></tt> member of <ttclass="docutils literal"><spanclass="pre">zip_iterator</span></tt> is the type of the tuple
made of the reference types of the iterator types in the <ttclass="docutils literal"><spanclass="pre">IteratorTuple</span></tt>
<p>The <ttclass="docutils literal"><spanclass="pre">difference_type</span></tt> member of <ttclass="docutils literal"><spanclass="pre">zip_iterator</span></tt> is the <ttclass="docutils literal"><spanclass="pre">difference_type</span></tt>
of the first of the iterator types in the <ttclass="docutils literal"><spanclass="pre">IteratorTuple</span></tt> argument.</p>
<p>The <ttclass="docutils literal"><spanclass="pre">iterator_category</span></tt> member of <ttclass="docutils literal"><spanclass="pre">zip_iterator</span></tt> is convertible to the
minimum of the traversal categories of the iterator types in the <ttclass="docutils literal"><spanclass="pre">IteratorTuple</span></tt>
argument. For example, if the <ttclass="docutils literal"><spanclass="pre">zip_iterator</span></tt> holds only vector
iterators, then <ttclass="docutils literal"><spanclass="pre">iterator_category</span></tt> is convertible to
<ttclass="docutils literal"><spanclass="pre">boost::random_access_traversal_tag</span></tt>. If you add a list iterator, then
<ttclass="docutils literal"><spanclass="pre">iterator_category</span></tt> will be convertible to <ttclass="docutils literal"><spanclass="pre">boost::bidirectional_traversal_tag</span></tt>,
but no longer to <ttclass="docutils literal"><spanclass="pre">boost::random_access_traversal_tag</span></tt>.</p>
to. The tuple returned by the <ttclass="docutils literal"><spanclass="pre">zip_iterator</span></tt>'s <ttclass="docutils literal"><spanclass="pre">operator*</span></tt> is a tuple
their value types. For example, if <ttclass="docutils literal"><spanclass="pre">zip_it</span></tt> is a <ttclass="docutils literal"><spanclass="pre">zip_iterator</span></tt> whose
first member iterator is an <ttclass="docutils literal"><spanclass="pre">std::vector<double>::iterator</span></tt>, then the
iterator type in the <ttclass="docutils literal"><spanclass="pre">IteratorTuple</span></tt> argument.The <ttclass="docutils literal"><spanclass="pre">zip_iterator</span></tt>
<p><ttclass="docutils literal"><spanclass="pre">zip_iterator<IteratorTuple1></span></tt> is interoperable with
<ttclass="docutils literal"><spanclass="pre">zip_iterator<IteratorTuple2></span></tt> if and only if <ttclass="docutils literal"><spanclass="pre">IteratorTuple1</span></tt>
is interoperable with <ttclass="docutils literal"><spanclass="pre">IteratorTuple2</span></tt>.</p>
<ttclass="docutils literal"><spanclass="pre">zip_iterator</span></tt>, <ttclass="docutils literal"><spanclass="pre">zip_iterator</span></tt> provides the following
<trclass="field"><thclass="field-name">Returns:</th><tdclass="field-body">An instance of <ttclass="docutils literal"><spanclass="pre">zip_iterator</span></tt> with <ttclass="docutils literal"><spanclass="pre">m_iterator_tuple</span></tt>
<trclass="field"><thclass="field-name">Returns:</th><tdclass="field-body">An instance of <ttclass="docutils literal"><spanclass="pre">zip_iterator</span></tt> with <ttclass="docutils literal"><spanclass="pre">m_iterator_tuple</span></tt>
initialized to <ttclass="docutils literal"><spanclass="pre">iterator_tuple</span></tt>.</td>
<trclass="field"><thclass="field-name">Returns:</th><tdclass="field-body">An instance of <ttclass="docutils literal"><spanclass="pre">zip_iterator</span></tt> that is a copy of <ttclass="docutils literal"><spanclass="pre">other</span></tt>.</td>
<trclass="field"><thclass="field-name">Requires:</th><tdclass="field-body"><ttclass="docutils literal"><spanclass="pre">OtherIteratorTuple</span></tt> is implicitly convertible to <ttclass="docutils literal"><spanclass="pre">IteratorTuple</span></tt>.</td>
<trclass="field"><thclass="field-name">Effects:</th><tdclass="field-body">Increments each iterator in <ttclass="docutils literal"><spanclass="pre">m_iterator_tuple</span></tt>.</td>
<trclass="field"><thclass="field-name">Effects:</th><tdclass="field-body">Decrements each iterator in <ttclass="docutils literal"><spanclass="pre">m_iterator_tuple</span></tt>.</td>
<trclass="field"><thclass="field-name">Returns:</th><tdclass="field-body">An instance of <ttclass="docutils literal"><spanclass="pre">zip_iterator<IteratorTuple></span></tt> with <ttclass="docutils literal"><spanclass="pre">m_iterator_tuple</span></tt>
initialized to <ttclass="docutils literal"><spanclass="pre">t</span></tt>.</td>
<trclass="field"><thclass="field-name">Returns:</th><tdclass="field-body">An instance of <ttclass="docutils literal"><spanclass="pre">zip_iterator<IteratorTuple></span></tt> with <ttclass="docutils literal"><spanclass="pre">m_iterator_tuple</span></tt>
initialized to <ttclass="docutils literal"><spanclass="pre">t</span></tt>.</td>
example, assume that <ttclass="docutils literal"><spanclass="pre">vect_of_doubles</span></tt> and <ttclass="docutils literal"><spanclass="pre">vect_of_ints</span></tt>
<ttclass="docutils literal"><spanclass="pre">zip_iterator</span></tt> in conjunction with the <ttclass="docutils literal"><spanclass="pre">transform_iterator</span></tt>.</p>
<ttclass="docutils literal"><spanclass="pre">vect_1</span></tt> and <ttclass="docutils literal"><spanclass="pre">vect_2</span></tt>, and you need to expose to a client
<ttclass="docutils literal"><spanclass="pre">vect_1</span></tt> and <ttclass="docutils literal"><spanclass="pre">vect_2</span></tt>. Rather than placing these products
<ttclass="docutils literal"><spanclass="pre">it_begin</span></tt> and <ttclass="docutils literal"><spanclass="pre">it_end</span></tt> defined below delimit a controlled
sequence containing the products of the elements of <ttclass="docutils literal"><spanclass="pre">vect_1</span></tt> and
Generated by <aclass="reference"href="http://docutils.sourceforge.net/">Docutils</a> from <aclass="reference"href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.