From 2edb68888223a867826aff937f885fe74d6a0a77 Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Tue, 13 Jan 2004 05:19:22 +0000 Subject: [PATCH] further edits to filter_iterator's iterator_category [SVN r21661] --- doc/facade-and-adaptor.html | 14 +++++++++----- doc/filter_iterator.html | 14 +++++++++----- doc/filter_iterator_ref.rst | 12 ++++++++---- 3 files changed, 26 insertions(+), 14 deletions(-) diff --git a/doc/facade-and-adaptor.html b/doc/facade-and-adaptor.html index 7150824..78f4230 100755 --- a/doc/facade-and-adaptor.html +++ b/doc/facade-and-adaptor.html @@ -1859,11 +1859,15 @@ private: Iterator m_end; // exposition only }; -

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.

+

filter_iterator requirements

@@ -2308,7 +2312,7 @@ LocalWords: OtherIncrementable Coplien --> diff --git a/doc/filter_iterator.html b/doc/filter_iterator.html index 6b9bab6..7d97eb3 100644 --- a/doc/filter_iterator.html +++ b/doc/filter_iterator.html @@ -91,11 +91,15 @@ private: Iterator m_end; // exposition only }; -

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.

+

filter_iterator requirements

@@ -386,7 +390,7 @@ int main() diff --git a/doc/filter_iterator_ref.rst b/doc/filter_iterator_ref.rst index cba8594..371025c 100644 --- a/doc/filter_iterator_ref.rst +++ b/doc/filter_iterator_ref.rst @@ -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::reference`` is a reference to +``iterator_traits::value_type`` and +``iterator_traversal::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