diff --git a/doc/counting_iterator.html b/doc/counting_iterator.html index 5ed9298..a3366cd 100644 --- a/doc/counting_iterator.html +++ b/doc/counting_iterator.html @@ -3,7 +3,7 @@
- +If the Difference argument is use_default then difference_type is an unspecified signed integral @@ -276,10 +276,5 @@ indirectly printing out the numbers from 0 to 7
The source code for this example can be found here.
-static_cast<Derived*>(this)->decrement(); -return static_cast<Derived*>(this); +return *static_cast<Derived*>(this);
static_cast<Derived*>(this)->advance(n); -return static_cast<Derived*>(this); +return *static_cast<Derived*>(this);
static_cast<Derived*>(this)->advance(-n); -return static_cast<Derived*>(this); +return *static_cast<Derived*>(this);
template <class Dr1, class V1, class TC1, class R1, class D1, class Dr2, class V2, class TC2, class R2, class D2> @@ -1127,7 +1122,7 @@ operator -(iterator_facade<Dr1,V1,TC1,R1,D1> const& lhs,
iterator_adaptor();
Base const& base_reference() const;
typename iterator_adaptor::reference dereference() const;
Requires: | Iterator must be Default Constructible. |
---|---|
Returns: | An instance of indirect_iterator with + |
Effects: | Constructs an instance of indirect_iterator with a default-constructed m_iterator. |
Returns: | An instance of indirect_iterator with + |
Effects: | Constructs an instance of indirect_iterator with m_iterator copy constructed from x. |
Requires: | Iterator2 is implicitly convertible to Iterator. |
Returns: | An instance of indirect_iterator whose + |
Effects: | Constructs an instance of indirect_iterator whose m_iterator subobject is constructed from y.base(). |
Requires: | Iterator must be Default Constructible. |
Returns: | An instance of reverse_iterator with m_iterator + |
Effects: | Constructs an instance of reverse_iterator with m_iterator default constructed. |
Returns: | An instance of reverse_iterator with a -m_iterator constructed from x. | +
Effects: | Constructs an instance of reverse_iterator with +m_iterator copy constructed from x. |
The transform iterator adapts an iterator by modifying the operator* to apply a function object to the result of dereferencing the iterator and returning the result.
template <class UnaryFunction,
@@ -1917,7 +1913,7 @@ model Readable Lvalue Iterator then iterat
convertible to input_iterator_tag.
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 @@ -1926,7 +1922,7 @@ where the type of f(*i) must b
The argument Iterator shall model Readable Iterator.
The resulting transform_iterator models the most refined of the following that is also modeled by Iterator.
@@ -1943,12 +1939,12 @@ it models the following original iterator concepts depending on what the Iterator argument models.@@ -2312,12 +2308,12 @@ or m_pred(*m_iter) -
- - + + @@ -1973,7 +1969,7 @@ mutable iterator (as defined in the old iterator requirements). interoperable with Y. If Iterator models -then filter_iterator models +then transform_iterator models -transform_iterator operations
+transform_iterator operations
In addition to the operations required by the concepts modeled by transform_iterator, transform_iterator provides the following operations.
@@ -2066,7 +2062,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. A predicate function object controls which elements are skipped. When the predicate is @@ -2078,7 +2074,7 @@ underlying range. A filter iterator is therefore constructed with pair of iterators indicating the range of elements in the unfiltered sequence to be traversed.
-Class template filter_iterator
+Class template filter_iterator
@@ -2119,18 +2115,18 @@ Iterator then iterator_categorystd::input_iterator_tag.-filter_iterator requirements
+filter_iterator requirements
+The Iterator argument shall meet the requirements of Readable +Iterator and Single Pass Iterator or it shall meet the requirements of +Input Iterator.
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 iterator_traits<Iterator>::value_type, and where the type of p(x) must be convertible to bool.
-The Iterator argument shall meet the requirements of Readable -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 which concepts the Iterator argument models, as specified in the following tables.
@@ -2201,7 +2197,7 @@ following tables. if and only if X is interoperable with Y.-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.
@@ -2212,7 +2208,7 @@ operations.- Requires: Predicate and Iterator must be Default Constructible. Returns: a filter_iterator whose``m_pred``, m_iter, and m_end + @@ -2222,7 +2218,7 @@ members are a default constructed. Effects: Constructs a filter_iterator whose``m_pred``, m_iter, and m_end members are a default constructed. - Returns: A filter_iterator where m_iter is either + Effects: Constructs 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. @@ -2237,7 +2233,7 @@ or else``m_iter == end``. The member m_pre- Requires: Predicate must be Default Constructible and Predicate is a class type (not a function pointer). Returns: A filter_iterator where m_iter is either + @@ -2256,7 +2252,7 @@ filter_iterator( Effects: Constructs 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 whose members are copied from t. +Effects: Constructs a filter iterator whose members are copied from t. Counting iterator
+Counting iterator
counting_iterator adapts an object by adding an operator* that returns the current value of the object. All other iterator operations are forwarded to the adapted object.
-Class template counting_iterator
+Class template counting_iterator
template < class Incrementable @@ -2326,7 +2322,7 @@ template < > class counting_iterator { - public: +public: typedef Incrementable value_type; typedef const Incrementable& reference; typedef const Incrementable* pointer; @@ -2340,9 +2336,9 @@ class counting_iterator reference operator*() const; counting_iterator& operator++(); counting_iterator& operator--(); - private: +private: Incrementable m_inc; // exposition - }; +};If the Difference argument is use_default then difference_type is an unspecified signed integral @@ -2368,7 +2364,7 @@ is true.]
-counting_iterator requirements
+counting_iterator requirements
The Incrementable argument shall be Copy Constructible and Assignable.
If iterator_category is convertible to forward_iterator_tag or forward_traversal_tag, the following must be well-formed:
@@ -2394,7 +2390,7 @@ i < j;-counting_iterator models
+counting_iterator models
Specializations of counting_iterator model Readable Lvalue Iterator. In addition, they model the concepts corresponding to the iterator tags to which their iterator_category is convertible. @@ -2410,7 +2406,7 @@ concepts modeled by Incrementable interoperable with Y.
-counting_iterator operations
+counting_iterator operations
In addition to the operations required by the concepts modeled by counting_iterator, counting_iterator provides the following operations.
@@ -2486,7 +2482,7 @@ operations.
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 @@ -2495,7 +2491,7 @@ iterator is that creating a conforming output iterator is non-trivial, particularly because the proper implementation usually requires a proxy object.
template <class UnaryFunction> class function_output_iterator { @@ -2517,23 +2513,23 @@ private:
UnaryFunction must be Assignable and Copy Constructible.
function_output_iterator is a model of the Writable and Incrementable Iterator concepts.
explicit function_output_iterator(const UnaryFunction& f = UnaryFunction());
Returns: | An instance of function_output_iterator with -m_f constructed from f. | +
---|---|
Effects: | Constructs an instance of function_output_iterator +with m_f constructed from f. |
The Iterator argument shall meet the requirements of Readable +Iterator and Single Pass Iterator or it shall meet the requirements of +Input Iterator.
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 iterator_traits<Iterator>::value_type, and where the type of p(x) must be convertible to bool.
-The Iterator argument shall meet the requirements of Readable -Iterator and Single Pass Iterator or it shall meet the requirements of -Input Iterator.