diff --git a/doc/counting_iterator.html b/doc/counting_iterator.html index 9e9efb0..eb218e3 100644 --- a/doc/counting_iterator.html +++ b/doc/counting_iterator.html @@ -94,21 +94,20 @@ class counting_iterator type. Otherwise difference_type is Difference.

If CategoryOrTraversal is not use_default then the member iterator_category is CategoryOrTraversal. Otherwise, if -Incrementable is a numberic type iterator_category is a -type convertible to random_access_iterator_tag. Otherwise, -iterator_category is unspecified, and the counting_iterator -specialization models the same iterator traversal concepts modeled -by Incrementable.

+numeric_limits<Incrementable>::is_specialized, then +iterator_category is a type convertible to +random_access_iterator_tag. Otherwise, iterator_category is +unspecified, and the counting_iterator specialization models the +same iterator traversal concepts modeled by Incrementable.

[Note: implementers are encouraged to provide an implementation of
-
operator- and a difference_type that avoid overflows in +
operator- and a difference_type that avoids overflows in the cases when the Incrementable type is a numeric type.]

counting_iterator requirements

-

Incrementable must be Default Constructible, Copy -Constructible, and Assignable.

+

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:

@@ -136,7 +135,9 @@ i < j;
 

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.

+iterator tags to which their iterator_category is convertible and +also corresponding to CategoryOrTraversal when +CategoryOrTraversal is an iterator tag (and not use_default).

counting_iterator operations

@@ -148,6 +149,8 @@ operations.

+Requires:Incrementable is Default Constructible. + Effects:Default construct the member m_inc. @@ -261,7 +264,7 @@ indirectly printing out the numbers from 0 to 7 diff --git a/doc/counting_iterator_ref.rst b/doc/counting_iterator_ref.rst index 7ab5927..697e60c 100644 --- a/doc/counting_iterator_ref.rst +++ b/doc/counting_iterator_ref.rst @@ -32,21 +32,20 @@ type. Otherwise ``difference_type`` is ``Difference``. If ``CategoryOrTraversal`` is not ``use_default`` then the member ``iterator_category`` is ``CategoryOrTraversal``. Otherwise, if -``Incrementable`` is a numberic type ``iterator_category`` is a -type convertible to ``random_access_iterator_tag``. Otherwise, -``iterator_category`` is unspecified, and the ``counting_iterator`` -specialization models the same iterator traversal concepts modeled -by ``Incrementable``. +``numeric_limits::is_specialized``, then +``iterator_category`` is a type convertible to +``random_access_iterator_tag``. Otherwise, ``iterator_category`` is +unspecified, and the ``counting_iterator`` specialization models the +same iterator traversal concepts modeled by ``Incrementable``. [*Note:* implementers are encouraged to provide an implementation of - ``operator-`` and a ``difference_type`` that avoid overflows in + ``operator-`` and a ``difference_type`` that avoids overflows in the cases when the ``Incrementable`` type is a numeric type.] ``counting_iterator`` requirements .................................. -``Incrementable`` must be Default Constructible, Copy -Constructible, and Assignable. +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:: @@ -76,7 +75,9 @@ the following must must also be valid:: 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. +iterator tags to which their ``iterator_category`` is convertible and +also corresponding to ``CategoryOrTraversal`` when +``CategoryOrTraversal`` is an iterator tag (and not ``use_default``). ``counting_iterator`` operations @@ -89,6 +90,7 @@ operations. ``counting_iterator();`` +:Requires: ``Incrementable`` is Default Constructible. :Effects: Default construct the member ``m_inc``. diff --git a/doc/facade-and-adaptor.html b/doc/facade-and-adaptor.html index 657d2d4..40af2b1 100755 --- a/doc/facade-and-adaptor.html +++ b/doc/facade-and-adaptor.html @@ -2017,7 +2017,8 @@ or else``m_iter == end``. The member m_pre -Requires:Predicate must be Default Constructible. +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 the first position in the range [x,end) such that m_pred(*m_iter) == true @@ -2131,21 +2132,20 @@ class counting_iterator type. Otherwise difference_type is Difference.

If CategoryOrTraversal is not use_default then the member iterator_category is CategoryOrTraversal. Otherwise, if -Incrementable is a numberic type iterator_category is a -type convertible to random_access_iterator_tag. Otherwise, -iterator_category is unspecified, and the counting_iterator -specialization models the same iterator traversal concepts modeled -by Incrementable.

+numeric_limits<Incrementable>::is_specialized, then +iterator_category is a type convertible to +random_access_iterator_tag. Otherwise, iterator_category is +unspecified, and the counting_iterator specialization models the +same iterator traversal concepts modeled by Incrementable.

[Note: implementers are encouraged to provide an implementation of
-
operator- and a difference_type that avoid overflows in +
operator- and a difference_type that avoids overflows in the cases when the Incrementable type is a numeric type.]

counting_iterator requirements

-

Incrementable must be Default Constructible, Copy -Constructible, and Assignable.

+

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:

@@ -2173,7 +2173,9 @@ i < j;
 

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.

+iterator tags to which their iterator_category is convertible and +also corresponding to CategoryOrTraversal when +CategoryOrTraversal is an iterator tag (and not use_default).

counting_iterator operations

@@ -2185,6 +2187,8 @@ operations.

+Requires:Incrementable is Default Constructible. + Effects:Default construct the member m_inc. @@ -2343,7 +2347,7 @@ LocalWords: OtherIncrementable Coplien -->