further edits to filter_iterator's iterator_category

[SVN r21661]
This commit is contained in:
Jeremy Siek
2004-01-13 05:19:22 +00:00
parent 3403cbbae6
commit 2edb688882
3 changed files with 26 additions and 14 deletions

View File

@ -1859,11 +1859,15 @@ private:
Iterator m_end; // exposition only
};
</pre>
<p>If the <tt class="literal"><span class="pre">Iterator</span></tt> argument models Readable Lvalue Iterator and
Forward Traversal Iterator then the <tt class="literal"><span class="pre">iterator_category</span></tt> member is a
type convertible to <tt class="literal"><span class="pre">std::forward_iterator_tag</span></tt>. Otherwise
<p>If <tt class="literal"><span class="pre">iterator_traits&lt;Iterator&gt;::reference</span></tt> is a reference to
<tt class="literal"><span class="pre">iterator_traits&lt;Iterator&gt;::value_type</span></tt> and
<tt class="literal"><span class="pre">iterator_traversal&lt;Iterator&gt;::type</span></tt> is convertible to
<tt class="literal"><span class="pre">forward_traversal_tag</span></tt> then the <tt class="literal"><span class="pre">iterator_category</span></tt> member is a
type convertible to <tt class="literal"><span class="pre">forward_iterator_tag</span></tt>. Otherwise
<tt class="literal"><span class="pre">iterator_category</span></tt> is a type convertible to
<tt class="literal"><span class="pre">std::input_iterator_tag</span></tt>.</p>
<tt class="literal"><span class="pre">input_iterator_tag</span></tt>.</p>
<!-- In that last case, I think the implementation produces a tag
convertible to both input and output, which seems wrong. -JGS -->
</div>
<div class="section" id="filter-iterator-requirements">
<h4><a class="toc-backref" href="#id58" name="filter-iterator-requirements"><tt class="literal"><span class="pre">filter_iterator</span></tt> requirements</a></h4>
@ -2308,7 +2312,7 @@ LocalWords: OtherIncrementable Coplien -->
<hr class="footer"/>
<div class="footer">
<a class="reference" href="facade-and-adaptor.rst">View document source</a>.
Generated on: 2004-01-13 03:17 UTC.
Generated on: 2004-01-13 05:14 UTC.
Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
</div>
</body>

View File

@ -91,11 +91,15 @@ private:
Iterator m_end; // exposition only
};
</pre>
<p>If the <tt class="literal"><span class="pre">Iterator</span></tt> argument models Readable Lvalue Iterator and
Forward Traversal Iterator then the <tt class="literal"><span class="pre">iterator_category</span></tt> member is a
type convertible to <tt class="literal"><span class="pre">std::forward_iterator_tag</span></tt>. Otherwise
<p>If <tt class="literal"><span class="pre">iterator_traits&lt;Iterator&gt;::reference</span></tt> is a reference to
<tt class="literal"><span class="pre">iterator_traits&lt;Iterator&gt;::value_type</span></tt> and
<tt class="literal"><span class="pre">iterator_traversal&lt;Iterator&gt;::type</span></tt> is convertible to
<tt class="literal"><span class="pre">forward_traversal_tag</span></tt> then the <tt class="literal"><span class="pre">iterator_category</span></tt> member is a
type convertible to <tt class="literal"><span class="pre">forward_iterator_tag</span></tt>. Otherwise
<tt class="literal"><span class="pre">iterator_category</span></tt> is a type convertible to
<tt class="literal"><span class="pre">std::input_iterator_tag</span></tt>.</p>
<tt class="literal"><span class="pre">input_iterator_tag</span></tt>.</p>
<!-- In that last case, I think the implementation produces a tag
convertible to both input and output, which seems wrong. -JGS -->
</div>
<div class="section" id="filter-iterator-requirements">
<h1><a class="toc-backref" href="#id3" name="filter-iterator-requirements"><tt class="literal"><span class="pre">filter_iterator</span></tt> requirements</a></h1>
@ -386,7 +390,7 @@ int main()
<hr class="footer"/>
<div class="footer">
<a class="reference" href="filter_iterator.rst">View document source</a>.
Generated on: 2004-01-13 03:17 UTC.
Generated on: 2004-01-13 05:14 UTC.
Generated by <a class="reference" href="http://docutils.sourceforge.net/">Docutils</a> from <a class="reference" href="http://docutils.sourceforge.net/rst.html">reStructuredText</a> source.
</div>
</body>

View File

@ -30,12 +30,16 @@
};
If the ``Iterator`` argument models Readable Lvalue Iterator and
Forward Traversal Iterator then the ``iterator_category`` member is a
type convertible to ``std::forward_iterator_tag``. Otherwise
If ``iterator_traits<Iterator>::reference`` is a reference to
``iterator_traits<Iterator>::value_type`` and
``iterator_traversal<Iterator>::type`` is convertible to
``forward_traversal_tag`` then the ``iterator_category`` member is a
type convertible to ``forward_iterator_tag``. Otherwise
``iterator_category`` is a type convertible to
``std::input_iterator_tag``.
``input_iterator_tag``.
.. In that last case, I think the implementation produces a tag
convertible to both input and output, which seems wrong. -JGS
``filter_iterator`` requirements