diff --git a/doc/facade-and-adaptor.html b/doc/facade-and-adaptor.html index 7d05938..fcf910f 100755 --- a/doc/facade-and-adaptor.html +++ b/doc/facade-and-adaptor.html @@ -1668,6 +1668,12 @@ template <class UnaryFunction, class transform_iterator { public: + typedef /* see below */ value_type; + typedef /* see below */ reference; + typedef /* see below */ pointer; + typedef iterator_traits<Iterator>::difference_type difference_type; + typedef /* see below */ iterator_category; + transform_iterator(); transform_iterator(Iterator const& x, UnaryFunction f); @@ -1687,6 +1693,12 @@ private: UnaryFunction m_f; // exposition only }; +
The reference type of transform_iterator is +result_of<UnaryFunction(iterator_traits<Iterator>::reference)>::type. +The value_type is remove_cv<remove_reference<reference> >::type. +The iterator_category member is a type convertible to the tags +corresponding to each standard concept modeled by +transform_iterator, as described in the models section.
The type Iterator must at least model Readable Iterator.
+The argument Iterator shall model Readable Iterator.
-
- Writable Lvalue Iterator if result_of<UnaryFunction(iterator_traits<Iterator>::reference)>::type is a non-const reference.
-- Readable Lvalue Iterator if result_of<UnaryFunction(iterator_traits<Iterator>::reference)>::type is a const -reference.
+- Writable Lvalue Iterator if transform_iterator::reference is a non-const reference.
+- Readable Lvalue Iterator if transform_iterator::reference is a const reference.
- Readable Iterator otherwise.
The transform_iterator models the most refined standard traversal -concept that is modeled by Iterator.
-The reference type of transform_iterator is -result_of<UnaryFunction(iterator_traits<Iterator>::reference)>::type. -The value_type is remove_cv<remove_reference<reference> >::type.
+concept that is modeled by the Iterator argument. +If transform_iterator is a model of Readable Lvalue Iterator then +it models the following original iterator concepts depending on what +the Iterator argument models.
+If Iterator models | +then filter_iterator models | +
---|---|
Single Pass Iterator | +Input Iterator | +
Forward Traversal Iterator | +Forward Iterator | +
Bidirectional Traversal Iterator | +Bidirectional Iterator | +
Random Access Traversal Iterator | +Random Access Iterator | +
If transform_iterator models Writable Lvalue Iterator then it is a +mutable iterator (as defined in the old iterator requirements).