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