diff --git a/doc/counting_iterator.html b/doc/counting_iterator.html index 003bf77..5d23c46 100644 --- a/doc/counting_iterator.html +++ b/doc/counting_iterator.html @@ -142,10 +142,9 @@ tag CategoryOrTraversal. Othe counting_iterator models Random Access Traversal Iterator. Otherwise, counting_iterator models the same iterator traversal concepts modeled by Incrementable.

-

If iterator X is interoperable with iterator Y then -counting_iterator<X,C1,D1> is interoperable with -counting_iterator<Y,C2,D2> if both counting iterators have the -same traversal category and difference type.

+

counting_iterator<X,C1,D1> is interoperable with +counting_iterator<Y,C2,D2> if and only if iterator X is +interoperable with iterator Y.

counting_iterator operations

@@ -272,7 +271,6 @@ indirectly printing out the numbers from 0 to 7 diff --git a/doc/counting_iterator_ref.rst b/doc/counting_iterator_ref.rst index 03d7373..160012a 100644 --- a/doc/counting_iterator_ref.rst +++ b/doc/counting_iterator_ref.rst @@ -83,10 +83,9 @@ tag ``CategoryOrTraversal``. Otherwise, if Otherwise, ``counting_iterator`` models the same iterator traversal concepts modeled by ``Incrementable``. -If iterator ``X`` is interoperable with iterator ``Y`` then ``counting_iterator`` is interoperable with -``counting_iterator`` if both counting iterators have the -same traversal category and difference type. +``counting_iterator`` if and only if iterator ``X`` is +interoperable with iterator ``Y``. diff --git a/doc/facade-and-adaptor.html b/doc/facade-and-adaptor.html index 18fec05..b7e7293 100755 --- a/doc/facade-and-adaptor.html +++ b/doc/facade-and-adaptor.html @@ -1479,7 +1479,8 @@ deducing the default for the value_type

indirect_iterator models

-

In addition to the concepts indicated by iterator_category, a +

In addition to the concepts indicated by iterator_category +and by iterator_traversal<indirect_iterator>::type, a specialization of indirect_iterator models the following concepts, Where v is an object of iterator_traits<Iterator>::value_type:

@@ -1493,8 +1494,9 @@ expression (where t is an obje
  • Lvalue Iterator if reference is a reference type.
  • -

    Two specializations of indirect_iterator are interoperable if -their Iterator parameters are interoperable.

    +

    indirect_iterator<X,V1,C1,R1,D1> is interoperable with +indirect_iterator<Y,V2,C2,R2,D2> if and only if iterator X is +interoperable with iterator Y.

    indirect_iterator operations

    @@ -1668,8 +1670,8 @@ Random Access Traversal Iterator -

    If iterator X is interoperable with iterator Y then -reverse_iterator<X> is interoperable with reverse_iterator<Y>.

    +

    reverse_iterator<X> is interoperable with reverse_iterator<Y> +if and only if iterator X is interoperable with iterator Y.

    reverse_iterator operations

    @@ -1871,9 +1873,9 @@ the Iterator argument models.<

    If transform_iterator models Writable Lvalue Iterator then it is a mutable iterator (as defined in the old iterator requirements).

    -

    If iterator X is interoperable with iterator Y then -transform_iterator<F1, X, R1, V1> is interoperable with -transform_iterator<F2, Y, R2, V2>.

    +

    transform_iterator<F1, X, R1, V1> is interoperable with +transform_iterator<F2, Y, R2, V2> if and only if iterator X is +interoperable with iterator Y.

    transform_iterator operations

    @@ -2100,9 +2102,8 @@ following tables.

    -

    If iterator X is interoperable with iterator Y then -filter_iterator<P1, X> is interoperable with -filter_iterator<P2, Y>.

    +

    filter_iterator<P1, X> is interoperable with filter_iterator<P2, Y> +if and only if iterator X is interoperable with iterator Y.

    filter_iterator operations

    @@ -2301,10 +2302,9 @@ tag CategoryOrTraversal. Othe counting_iterator models Random Access Traversal Iterator. Otherwise, counting_iterator models the same iterator traversal concepts modeled by Incrementable.

    -

    If iterator X is interoperable with iterator Y then -counting_iterator<X,C1,D1> is interoperable with -counting_iterator<Y,C2,D2> if both counting iterators have the -same traversal category and difference type.

    +

    counting_iterator<X,C1,D1> is interoperable with +counting_iterator<Y,C2,D2> if and only if iterator X is +interoperable with iterator Y.

    counting_iterator operations

    diff --git a/doc/filter_iterator.html b/doc/filter_iterator.html index 8799706..2f0d4a1 100644 --- a/doc/filter_iterator.html +++ b/doc/filter_iterator.html @@ -179,9 +179,8 @@ following tables.

    -

    If iterator X is interoperable with iterator Y then -filter_iterator<P1, X> is interoperable with -filter_iterator<P2, Y>.

    +

    filter_iterator<P1, X> is interoperable with filter_iterator<P2, Y> +if and only if iterator X is interoperable with iterator Y.

    filter_iterator operations

    @@ -385,7 +384,6 @@ int main() diff --git a/doc/filter_iterator_ref.rst b/doc/filter_iterator_ref.rst index 9bca972..5164228 100644 --- a/doc/filter_iterator_ref.rst +++ b/doc/filter_iterator_ref.rst @@ -92,9 +92,8 @@ following tables. +-------------------------------------------------------+---------------------------------+ -If iterator ``X`` is interoperable with iterator ``Y`` then -``filter_iterator`` is interoperable with -``filter_iterator``. +``filter_iterator`` is interoperable with ``filter_iterator`` +if and only if iterator ``X`` is interoperable with iterator ``Y``. ``filter_iterator`` operations diff --git a/doc/index.html b/doc/index.html index c487582..9fdf0b4 100755 --- a/doc/index.html +++ b/doc/index.html @@ -229,7 +229,6 @@ LocalWords: TraversalTag typename lvalues DWA Hmm JGS --> diff --git a/doc/indirect_iterator.html b/doc/indirect_iterator.html index 14b31dc..2da9a4b 100644 --- a/doc/indirect_iterator.html +++ b/doc/indirect_iterator.html @@ -193,7 +193,8 @@ deducing the default for the value_type

    indirect_iterator models

    -

    In addition to the concepts indicated by iterator_category, a +

    In addition to the concepts indicated by iterator_category +and by iterator_traversal<indirect_iterator>::type, a specialization of indirect_iterator models the following concepts, Where v is an object of iterator_traits<Iterator>::value_type:

    @@ -207,8 +208,9 @@ expression (where t is an obje
  • Lvalue Iterator if reference is a reference type.
  • -

    Two specializations of indirect_iterator are interoperable if -their Iterator parameters are interoperable.

    +

    indirect_iterator<X,V1,C1,R1,D1> is interoperable with +indirect_iterator<Y,V2,C2,R2,D2> if and only if iterator X is +interoperable with iterator Y.

    indirect_iterator operations

    diff --git a/doc/indirect_iterator_ref.rst b/doc/indirect_iterator_ref.rst index 627834e..9643e7b 100644 --- a/doc/indirect_iterator_ref.rst +++ b/doc/indirect_iterator_ref.rst @@ -93,7 +93,8 @@ deducing the default for the ``value_type`` member.] ``indirect_iterator`` models ............................ -In addition to the concepts indicated by ``iterator_category``, a +In addition to the concepts indicated by ``iterator_category`` +and by ``iterator_traversal::type``, a specialization of ``indirect_iterator`` models the following concepts, Where ``v`` is an object of ``iterator_traits::value_type``: @@ -107,8 +108,10 @@ concepts, Where ``v`` is an object of * Lvalue Iterator if ``reference`` is a reference type. -Two specializations of ``indirect_iterator`` are interoperable if -their ``Iterator`` parameters are interoperable. +``indirect_iterator`` is interoperable with +``indirect_iterator`` if and only if iterator ``X`` is +interoperable with iterator ``Y``. + ``indirect_iterator`` operations ................................ diff --git a/doc/permutation_iterator.html b/doc/permutation_iterator.html index c0ac39a..6dac1cd 100644 --- a/doc/permutation_iterator.html +++ b/doc/permutation_iterator.html @@ -131,9 +131,9 @@ as IndexIterator and the same

    If IndexIterator models Random Access Traversal Iterator and ElementIterator models Readable Lvalue Iterator then permutation_iterator models Random Access Iterator.

    -

    If iterator X is interoperable with iterator Y then -permutation_iterator<X, I1, V1, C2, R1, D1> is interoperable with -permutation_iterator<Y, I2, V2, C2, R2, D2>.

    +

    permutation_iterator<X, I1, V1, C2, R1, D1> is interoperable with +permutation_iterator<Y, I2, V2, C2, R2, D2> if and only if +iterator X is interoperable with iterator Y.

    permutation_iterator operations

    diff --git a/doc/permutation_iterator_ref.rst b/doc/permutation_iterator_ref.rst index 51a4cdc..384d74c 100644 --- a/doc/permutation_iterator_ref.rst +++ b/doc/permutation_iterator_ref.rst @@ -64,9 +64,9 @@ If ``IndexIterator`` models Random Access Traversal Iterator and ``ElementIterator`` models Readable Lvalue Iterator then ``permutation_iterator`` models Random Access Iterator. -If iterator ``X`` is interoperable with iterator ``Y`` then ``permutation_iterator`` is interoperable with -``permutation_iterator``. +``permutation_iterator`` if and only if +iterator ``X`` is interoperable with iterator ``Y``. ``permutation_iterator`` operations diff --git a/doc/reverse_iterator.html b/doc/reverse_iterator.html index 69370cc..4cc6d36 100644 --- a/doc/reverse_iterator.html +++ b/doc/reverse_iterator.html @@ -127,8 +127,8 @@ Random Access Traversal Iterator -

    If iterator X is interoperable with iterator Y then -reverse_iterator<X> is interoperable with reverse_iterator<Y>.

    +

    reverse_iterator<X> is interoperable with reverse_iterator<Y> +if and only if iterator X is interoperable with iterator Y.

    reverse_iterator operations

    @@ -271,7 +271,6 @@ sequence in double-reversed (normal) order: hello world! diff --git a/doc/reverse_iterator_ref.rst b/doc/reverse_iterator_ref.rst index 9306ae9..875f2ca 100644 --- a/doc/reverse_iterator_ref.rst +++ b/doc/reverse_iterator_ref.rst @@ -69,8 +69,8 @@ specified in the following table: +---------------------------------------+-----------------------------------+ -If iterator ``X`` is interoperable with iterator ``Y`` then -``reverse_iterator`` is interoperable with ``reverse_iterator``. +``reverse_iterator`` is interoperable with ``reverse_iterator`` +if and only if iterator ``X`` is interoperable with iterator ``Y``. diff --git a/doc/transform_iterator.html b/doc/transform_iterator.html index ae37a2f..f1d9830 100644 --- a/doc/transform_iterator.html +++ b/doc/transform_iterator.html @@ -157,9 +157,9 @@ the Iterator argument models.<

    If transform_iterator models Writable Lvalue Iterator then it is a mutable iterator (as defined in the old iterator requirements).

    -

    If iterator X is interoperable with iterator Y then -transform_iterator<F1, X, R1, V1> is interoperable with -transform_iterator<F2, Y, R2, V2>.

    +

    transform_iterator<F1, X, R1, V1> is interoperable with +transform_iterator<F2, Y, R2, V2> if and only if iterator X is +interoperable with iterator Y.

    transform_iterator operations

    @@ -321,7 +321,6 @@ adding 4 to each element in the array: diff --git a/doc/transform_iterator_ref.rst b/doc/transform_iterator_ref.rst index a3e98d4..dedf3fe 100644 --- a/doc/transform_iterator_ref.rst +++ b/doc/transform_iterator_ref.rst @@ -102,9 +102,9 @@ the ``Iterator`` argument models. If ``transform_iterator`` models Writable Lvalue Iterator then it is a mutable iterator (as defined in the old iterator requirements). -If iterator ``X`` is interoperable with iterator ``Y`` then ``transform_iterator`` is interoperable with -``transform_iterator``. +``transform_iterator`` if and only if iterator ``X`` is +interoperable with iterator ``Y``.