diff --git a/doc/facade-and-adaptor.html b/doc/facade-and-adaptor.html index c724be1..8feb2bb 100755 --- a/doc/facade-and-adaptor.html +++ b/doc/facade-and-adaptor.html @@ -3,7 +3,7 @@
- +-+
+@@ -1394,20 +1388,29 @@ indirect_iterator(
@@ -598,8 +594,6 @@ class function_output_iterator; iterator_facade is a base class template that implements the interface of standard iterators in terms of a few core functions and associated types, to be supplied by a derived iterator class.
--Class template iterator_facade
-Class template indirect_iterator
+Class template indirect_iterator
template < class Iterator @@ -1288,6 +1278,10 @@ class indirect_iterator > const& y , typename enable_if_convertible<Iterator2, Iterator>::type* = 0 // exposition ); + + Iterator base() const; +private: + Iterator m_iterator; // exposition };The member types of indirect_iterator are defined according to the @@ -1322,7 +1316,7 @@ satisfies the requirements of the concepts modeled by the indirect iterator as specified in the models section.
-indirect_iterator requirements
+indirect_iterator requirements
The Iterator argument shall meet the requirements of Readable Iterator. The CategoryOrTraversal argument shall be one of the standard iterator tags or use_default. If CategoryOrTraversal @@ -1338,7 +1332,7 @@ is not use_default, as implied default for the value_type member.
-indirect_iterator models
+indirect_iterator models
If CategoryOrTraversal is a standard iterator tag, indirect_iterator is a model of the iterator concept corresponding to the tag, otherwise indirect_iterator satisfies the requirements @@ -1352,7 +1346,7 @@ the Iterator argument.
indirect_iterator models Lvalue Iterator.-indirect_iterator operations
+indirect_iterator operations
indirect_iterator();
@@ -1371,7 +1365,7 @@ a default-constructed iterator_adaptor
@@ -1361,7 +1355,7 @@ the Iterator argument. Requires: Iterator must be Default Constructible. Returns: An instance of indirect_iterator with -a default-constructed iterator_adaptor subobject. +a default-constructed m_iterator.Returns: An instance of indirect_iterator with -the iterator_adaptor subobject copy constructed from x. +m_iterator copy constructed from x.Requires: Iterator2 is implicitly convertible to Iterator. + + Returns: An instance of indirect_iterator whose -iterator_adaptor subobject is constructed from y.base(). +m_iterator subobject is constructed from y.base(). +Iterator base() const;
++
+ + + Returns: m_iterator -Reverse iterator
+Reverse iterator
The reverse iterator adaptor flips the direction of a base iterator's motion. Invoking operator++() moves the base iterator backward and invoking operator--() moves the base iterator forward.
-Class template reverse_iterator
+Class template reverse_iterator
template <class Iterator> class reverse_iterator @@ -1421,27 +1424,28 @@ public: reverse_iterator<OtherIterator> const& r , typename enable_if_convertible<OtherIterator, Iterator>::type* = 0 // exposition ); + Iterator base() const; reference operator*() const; reverse_iterator& operator++(); private: - Iterator current; // exposition + Iterator m_iterator; // exposition };-reverse_iterator requirements
+reverse_iterator requirements
The base Iterator must be a model of Bidirectional Traversal Iterator and Readable Iterator.
-reverse_iterator models
+reverse_iterator models
reverse_iterator models Bidirectional Traversal Iterator and Readable Iterator. In addition, reverse_iterator models the same standard iterator access concepts that the Iterator argument models.
-reverse_iterator operations
+reverse_iterator operations
reverse_iterator();
@@ -1481,6 +1485,15 @@ reverse_iterator( +
@@ -1449,7 +1453,7 @@ argument models. - Requires: Iterator must be Default Constructible. Returns: An instance of reverse_iterator with current + @@ -1460,7 +1464,7 @@ default constructed. Returns: An instance of reverse_iterator with m_iterator default constructed. Returns: An instance of reverse_iterator with a -current constructed from x. +m_iterator constructed from x.Iterator base() const;
++
+ + + + + Returns: m_iterator +reference operator*() const;
@@ -1491,7 +1504,7 @@ reverse_iterator( -Iterator tmp = current; +Iterator tmp = m_iterator; return *..tmp;reverse_iterator& operator++();
@@ -1499,7 +1512,7 @@ return *..tmp;- Effects: --current +Effects: --m_iterator @@ -1508,14 +1521,14 @@ return *..tmp; Returns: *this -Transform iterator
+Transform iterator
The transform iterator adapts an iterator by applying some function object to the result of dereferencing the iterator. In other words, the operator* of the transform iterator first dereferences the base iterator, passes the result of this to the function object, and then returns the result.
-Class template transform_iterator
+Class template transform_iterator
template <class UnaryFunction, @@ -1546,7 +1559,7 @@ private:-transform_iterator requirements
+transform_iterator requirements
The type UnaryFunction must be Assignable, Copy Constructible, and the expression f(*i) must be valid where f is an object of type UnaryFunction, i is an object of type Iterator, and @@ -1555,7 +1568,7 @@ where the type of f(*i) must b
The type Iterator must at least model Readable Iterator.
-transform_iterator models
+transform_iterator models
The resulting transform_iterator models the most refined of the following options that is also modeled by Iterator.
@@ -1573,7 +1586,7 @@ concept that is modeled by Iterator The value_type is remove_cv<remove_reference<reference> >::type.-transform_iterator operations
+transform_iterator operations
transform_iterator();
@@ -1842,7 +1856,7 @@ whose predicate and end are copies of t.pr
@@ -1652,7 +1665,7 @@ transform_iterator( -Filter iterator
+Filter iterator
The filter iterator adaptor creates a view of an iterator range in which some elements of the range are skipped over. A predicate function object controls which elements are skipped. When the @@ -1664,7 +1677,7 @@ of the underlying range. Therefore the constructor of the filter iterator takes two iterator parameters: the position for the filtered iterator and the end of the range.
-Class template filter_iterator
+Class template filter_iterator
template <class Predicate, class Iterator> class filter_iterator @@ -1686,8 +1699,13 @@ class filter_iterator ); Predicate predicate() const; Iterator end() const; + Iterator base() const; reference operator*() const; filter_iterator& operator++(); +private: + Predicate m_pred; // exposition + Iterator m_iter; // exposition + Iterator m_end; // exposition };The iterator_category member is a type convertible to the tags @@ -1695,7 +1713,7 @@ corresponding to each standard concept modeled by
-filter_iterator requirements
+filter_iterator requirements
The Predicate argument must be Assignable, Copy Constructible, and the expression p(x) must be valid where p is an object of type Predicate, x is an object of type @@ -1706,11 +1724,11 @@ Iterator and Single Pass Iterator or it shall meet the requirements of Input Iterator.
-filter_iterator models
+filter_iterator models
The concepts that filter_iterator models are dependent on what concepts the Iterator argument models, as specified in the following tables.
-+
@@ -1832,8 +1847,7 @@ filter_iterator(-
@@ -1729,7 +1747,7 @@ following tables. +
@@ -1809,13 +1828,9 @@ such that f(*this->base())-
@@ -1751,7 +1769,7 @@ following tables. +
@@ -1797,8 +1814,10 @@ whose end is a default constru
@@ -1775,7 +1793,7 @@ following tables. -filter_iterator operations
+filter_iterator operations
In addition to those operations required by the concepts that filter_iterator models, filter_iterator provides the following operations.
@@ -1786,9 +1804,8 @@ operations.- Requires: Predicate and Iterator must be Default Constructible. Returns: a filter_iterator whose -predicate is a default constructed Predicate and -whose end is a default constructed Iterator. +Returns: a filter_iterator whose``m_pred``, m_iter, and m_end +members are a default constructed. - Returns: A filter_iterator at the first position in the range [x,end) -such that f(*this->base()) == true or else at position end. +Returns: A filter_iterator where m_iter is either +the first position in the range [x,end) such that f(*m_iter) == true +or else``m_iter == end``. The member m_pred is constructed from +f and m_end from end. - Requires: Predicate must be Default Constructible. - Returns: A filter_iterator at the first position in the range [x,end) -such that f(*this->base()) == true, where f is a default -constructed Predicate, or else at position end. -Returns: A filter_iterator at position x that filters -according to a default constructed Predicate -and that will not increment past end. +Returns: A filter_iterator where m_iter is either +the first position in the range [x,end) such that m_pred(*m_iter) == true +or else``m_iter == end``. The member m_pred is default constructed. - Requires: OtherIterator is implicitly convertible to Iterator. Returns: A filter iterator at the same position as iterator t -whose predicate and end are copies of t.predicate and t.end() . +Returns: A filter iterator whose members are copied from t. - Returns: A copy of the predicate object used to construct *this. +@@ -1851,7 +1865,16 @@ whose predicate and end are copies of t.pr Returns: m_pred - Returns: A copy of the object end used to construct *this. ++ + + Returns: m_end +Iterator base() const;
++
@@ -1860,7 +1883,7 @@ whose predicate and end are copies of t.pr+ + + Returns: m_iterator - Returns: *(this->base()) +@@ -1869,9 +1892,9 @@ whose predicate and end are copies of t.pr Returns: *m_iter - Effects: Increments *this and then continues to -increment *this until either this->base() == this->end() -or f(**this) == true. +Effects: Increments m_iter and then continues to +increment m_iter until either m_iter == m_end +or m_pred(*m_iter) == true. @@ -1880,11 +1903,11 @@ or f(**this) == Returns: *this -Counting iterator
+Counting iterator
counting_iterator adapts an arithmetic type, such as int, by adding an operator* that returns the current value of the object.
-Class template counting_iterator
+Class template counting_iterator
template < class Incrementable @@ -1909,13 +1932,13 @@ the cases when the Incrementable
-counting_iterator requirements
+counting_iterator requirements
The Incrementable type must be Default Constructible, Copy Constructible, and Assignable. The default distance is an implementation defined signed integral type.
-counting_iterator models
+counting_iterator models
counting_iterator models Readable Lvalue Iterator.
Furthermore, if you wish to create a counting iterator that is a Forward Traversal Iterator, then the following expressions must be valid:
@@ -1940,7 +1963,7 @@ i < j-counting_iterator operations
+counting_iterator operations
counting_iterator();
@@ -1999,7 +2022,7 @@ constructed from x. -Function output iterator
+Function output iterator
The function output iterator adaptor makes it easier to create custom output iterators. The adaptor takes a unary function and creates a model of Output Iterator. Each item assigned to the output iterator is @@ -2008,7 +2031,7 @@ iterator is that creating a conforming output iterator is non-trivial, particularly because the proper implementation usually requires a proxy object.
-Class template function_output_iterator
+Class template function_output_iterator
template <class UnaryFunction> class function_output_iterator { @@ -2035,7 +2058,7 @@ public:-function_output_iterator requirements
+function_output_iterator requirements
The UnaryFunction must be Assignable, Copy Constructible, and the expression f(x) must be valid, where f is an object of type UnaryFunction and x is an object of a type accepted by f. @@ -2043,7 +2066,7 @@ The resulting function_output_iterator
-function_output_iterator operations
+function_output_iterator operations
explicit function_output_iterator(const UnaryFunction& f = UnaryFunction());
@@ -2084,7 +2107,7 @@ a copy of the unary function f -function_output_iterator::output_proxy operations
+function_output_iterator::output_proxy operations
output_proxy(UnaryFunction& f);
@@ -2119,5 +2142,11 @@ LocalWords: OtherIncrementable Coplien --> +
+ diff --git a/doc/facade-and-adaptor.rst b/doc/facade-and-adaptor.rst index 17174a9..7cdff26 100644 --- a/doc/facade-and-adaptor.rst +++ b/doc/facade-and-adaptor.rst @@ -297,9 +297,6 @@ Iterator facade [lib.iterator.facade] .. include:: iterator_facade_abstract.rst -Class template ``iterator_facade`` ----------------------------------- - .. include:: iterator_facade_ref.rst Iterator adaptor [lib.iterator.adaptor] @@ -307,9 +304,6 @@ Iterator adaptor [lib.iterator.adaptor] .. include:: iterator_adaptor_abstract.rst -Class template ``iterator_adaptor`` ------------------------------------ - .. include:: iterator_adaptor_ref.rst diff --git a/doc/index.html b/doc/index.html index 5dcbe19..5c08834 100755 --- a/doc/index.html +++ b/doc/index.html @@ -3,236 +3,9 @@ - +The Boost.Iterator Library Boost - +@@ -444,10 +217,10 @@ LocalWords: incrementable xxx min prev inplace png oldeqnew AccessTag struct LocalWords: TraversalTag typename lvalues DWA Hmm JGS -->-
+
diff --git a/doc/iterator_facade.html b/doc/iterator_facade.html index de2212e..43beed3 100644 --- a/doc/iterator_facade.html +++ b/doc/iterator_facade.html @@ -3,7 +3,7 @@ - +Iterator Facade @@ -76,15 +76,12 @@ and associated types, to be supplied by a derived iterator class.- Reference
-
@@ -153,7 +150,7 @@ of the derived iterator type. These member functions are described briefly below and in more detail in the iterator facade requirements.- Ref
-+
@@ -396,7 +393,7 @@ must be a @@ -751,9 +748,6 @@ even be superior. [1] iterator_facade also supports old-style category -tags, so we could've passed std::forward_iterator_tag here; +tags, so we could have passed std::forward_iterator_tag here; either way, the resulting iterator's iterator_category will end up being std::forward_iterator_tag.