mirror of
https://github.com/boostorg/iterator.git
synced 2025-07-30 04:47:20 +02:00
changed use of interoperable to say "if and only if"
also changed models section in indirect_iterator to mention iterator_traversal<>::type in addition to iterator_category [SVN r21732]
This commit is contained in:
@ -1479,7 +1479,8 @@ deducing the default for the <tt class="literal"><span class="pre">value_type</s
|
||||
</div>
|
||||
<div class="section" id="indirect-iterator-models">
|
||||
<h4><a class="toc-backref" href="#id46" name="indirect-iterator-models"><tt class="literal"><span class="pre">indirect_iterator</span></tt> models</a></h4>
|
||||
<p>In addition to the concepts indicated by <tt class="literal"><span class="pre">iterator_category</span></tt>, a
|
||||
<p>In addition to the concepts indicated by <tt class="literal"><span class="pre">iterator_category</span></tt>
|
||||
and by <tt class="literal"><span class="pre">iterator_traversal<indirect_iterator>::type</span></tt>, a
|
||||
specialization of <tt class="literal"><span class="pre">indirect_iterator</span></tt> models the following
|
||||
concepts, Where <tt class="literal"><span class="pre">v</span></tt> is an object of
|
||||
<tt class="literal"><span class="pre">iterator_traits<Iterator>::value_type</span></tt>:</p>
|
||||
@ -1493,8 +1494,9 @@ expression (where <tt class="literal"><span class="pre">t</span></tt> is an obje
|
||||
<li>Lvalue Iterator if <tt class="literal"><span class="pre">reference</span></tt> is a reference type.</li>
|
||||
</ul>
|
||||
</blockquote>
|
||||
<p>Two specializations of <tt class="literal"><span class="pre">indirect_iterator</span></tt> are interoperable if
|
||||
their <tt class="literal"><span class="pre">Iterator</span></tt> parameters are interoperable.</p>
|
||||
<p><tt class="literal"><span class="pre">indirect_iterator<X,V1,C1,R1,D1></span></tt> is interoperable with
|
||||
<tt class="literal"><span class="pre">indirect_iterator<Y,V2,C2,R2,D2></span></tt> if and only if iterator <tt class="literal"><span class="pre">X</span></tt> is
|
||||
interoperable with iterator <tt class="literal"><span class="pre">Y</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section" id="indirect-iterator-operations">
|
||||
<h4><a class="toc-backref" href="#id47" name="indirect-iterator-operations"><tt class="literal"><span class="pre">indirect_iterator</span></tt> operations</a></h4>
|
||||
@ -1668,8 +1670,8 @@ Random Access Traversal Iterator</td>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>If iterator <tt class="literal"><span class="pre">X</span></tt> is interoperable with iterator <tt class="literal"><span class="pre">Y</span></tt> then
|
||||
<tt class="literal"><span class="pre">reverse_iterator<X></span></tt> is interoperable with <tt class="literal"><span class="pre">reverse_iterator<Y></span></tt>.</p>
|
||||
<p><tt class="literal"><span class="pre">reverse_iterator<X></span></tt> is interoperable with <tt class="literal"><span class="pre">reverse_iterator<Y></span></tt>
|
||||
if and only if iterator <tt class="literal"><span class="pre">X</span></tt> is interoperable with iterator <tt class="literal"><span class="pre">Y</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section" id="reverse-iterator-operations">
|
||||
<h4><a class="toc-backref" href="#id52" name="reverse-iterator-operations"><tt class="literal"><span class="pre">reverse_iterator</span></tt> operations</a></h4>
|
||||
@ -1871,9 +1873,9 @@ the <tt class="literal"><span class="pre">Iterator</span></tt> argument models.<
|
||||
</table>
|
||||
<p>If <tt class="literal"><span class="pre">transform_iterator</span></tt> models Writable Lvalue Iterator then it is a
|
||||
mutable iterator (as defined in the old iterator requirements).</p>
|
||||
<p>If iterator <tt class="literal"><span class="pre">X</span></tt> is interoperable with iterator <tt class="literal"><span class="pre">Y</span></tt> then
|
||||
<tt class="literal"><span class="pre">transform_iterator<F1,</span> <span class="pre">X,</span> <span class="pre">R1,</span> <span class="pre">V1></span></tt> is interoperable with
|
||||
<tt class="literal"><span class="pre">transform_iterator<F2,</span> <span class="pre">Y,</span> <span class="pre">R2,</span> <span class="pre">V2></span></tt>.</p>
|
||||
<p><tt class="literal"><span class="pre">transform_iterator<F1,</span> <span class="pre">X,</span> <span class="pre">R1,</span> <span class="pre">V1></span></tt> is interoperable with
|
||||
<tt class="literal"><span class="pre">transform_iterator<F2,</span> <span class="pre">Y,</span> <span class="pre">R2,</span> <span class="pre">V2></span></tt> if and only if iterator <tt class="literal"><span class="pre">X</span></tt> is
|
||||
interoperable with iterator <tt class="literal"><span class="pre">Y</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section" id="transform-iterator-operations">
|
||||
<h4><a class="toc-backref" href="#id57" name="transform-iterator-operations"><tt class="literal"><span class="pre">transform_iterator</span></tt> operations</a></h4>
|
||||
@ -2100,9 +2102,8 @@ following tables.</p>
|
||||
</tr>
|
||||
</tbody>
|
||||
</table>
|
||||
<p>If iterator <tt class="literal"><span class="pre">X</span></tt> is interoperable with iterator <tt class="literal"><span class="pre">Y</span></tt> then
|
||||
<tt class="literal"><span class="pre">filter_iterator<P1,</span> <span class="pre">X></span></tt> is interoperable with
|
||||
<tt class="literal"><span class="pre">filter_iterator<P2,</span> <span class="pre">Y></span></tt>.</p>
|
||||
<p><tt class="literal"><span class="pre">filter_iterator<P1,</span> <span class="pre">X></span></tt> is interoperable with <tt class="literal"><span class="pre">filter_iterator<P2,</span> <span class="pre">Y></span></tt>
|
||||
if and only if iterator <tt class="literal"><span class="pre">X</span></tt> is interoperable with iterator <tt class="literal"><span class="pre">Y</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section" id="filter-iterator-operations">
|
||||
<h4><a class="toc-backref" href="#id62" name="filter-iterator-operations"><tt class="literal"><span class="pre">filter_iterator</span></tt> operations</a></h4>
|
||||
@ -2301,10 +2302,9 @@ tag <tt class="literal"><span class="pre">CategoryOrTraversal</span></tt>. Othe
|
||||
<tt class="literal"><span class="pre">counting_iterator</span></tt> models Random Access Traversal Iterator.
|
||||
Otherwise, <tt class="literal"><span class="pre">counting_iterator</span></tt> models the same iterator traversal
|
||||
concepts modeled by <tt class="literal"><span class="pre">Incrementable</span></tt>.</p>
|
||||
<p>If iterator <tt class="literal"><span class="pre">X</span></tt> is interoperable with iterator <tt class="literal"><span class="pre">Y</span></tt> then
|
||||
<tt class="literal"><span class="pre">counting_iterator<X,C1,D1></span></tt> is interoperable with
|
||||
<tt class="literal"><span class="pre">counting_iterator<Y,C2,D2></span></tt> if both counting iterators have the
|
||||
same traversal category and difference type.</p>
|
||||
<p><tt class="literal"><span class="pre">counting_iterator<X,C1,D1></span></tt> is interoperable with
|
||||
<tt class="literal"><span class="pre">counting_iterator<Y,C2,D2></span></tt> if and only if iterator <tt class="literal"><span class="pre">X</span></tt> is
|
||||
interoperable with iterator <tt class="literal"><span class="pre">Y</span></tt>.</p>
|
||||
</div>
|
||||
<div class="section" id="counting-iterator-operations">
|
||||
<h4><a class="toc-backref" href="#id67" name="counting-iterator-operations"><tt class="literal"><span class="pre">counting_iterator</span></tt> operations</a></h4>
|
||||
|
Reference in New Issue
Block a user