From 983ba32defa33370b64045150b6a82879b7afa50 Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Tue, 13 Jan 2004 21:18:09 +0000 Subject: [PATCH] changes from Thomas for Interoperable Iterators [SVN r21706] --- doc/new-iter-concepts.html | 11 +++++------ doc/new-iter-concepts.rst | 11 +++++------ 2 files changed, 10 insertions(+), 12 deletions(-) diff --git a/doc/new-iter-concepts.html b/doc/new-iter-concepts.html index 2655663..c71fd0d 100755 --- a/doc/new-iter-concepts.html +++ b/doc/new-iter-concepts.html @@ -827,13 +827,12 @@ random_access_traversal_tag for consistency -->

Interoperable Iterators [lib.interoperable.iterators]

A class or built-in type X that models Single Pass Iterator is interoperable with a class or built-in type Y that also models -Single Pass Iterator if both X and Y have the same traversal -tag and if the following expressions are valid and respect the stated -semantics. In the tables below, x is an object of type X, -y is an object of type Y, Distance is +Single Pass Iterator if the following expressions are valid and +respect the stated semantics. In the tables below, x is an object +of type X, y is an object of type Y, Distance is iterator_traits<Y>::difference_type, and n represents a constant object of type Distance.

-

If the traversal tag for X and Y is convertible to +

If the traversal tags for X and Y are convertible to single_pass_traversal_tag then the following requirements must be met.

@@ -875,7 +874,7 @@ met.

-

If the traversal tag for X and Y is convertible to +

If the traversal tags for X and Y are convertible to random_access_traversal_tag then the following requirements must be met.

diff --git a/doc/new-iter-concepts.rst b/doc/new-iter-concepts.rst index a587f0c..028e326 100644 --- a/doc/new-iter-concepts.rst +++ b/doc/new-iter-concepts.rst @@ -669,14 +669,13 @@ Interoperable Iterators [lib.interoperable.iterators] A class or built-in type ``X`` that models Single Pass Iterator is *interoperable with* a class or built-in type ``Y`` that also models -Single Pass Iterator if both ``X`` and ``Y`` have the same traversal -tag and if the following expressions are valid and respect the stated -semantics. In the tables below, ``x`` is an object of type ``X``, -``y`` is an object of type ``Y``, ``Distance`` is +Single Pass Iterator if the following expressions are valid and +respect the stated semantics. In the tables below, ``x`` is an object +of type ``X``, ``y`` is an object of type ``Y``, ``Distance`` is ``iterator_traits::difference_type``, and ``n`` represents a constant object of type ``Distance``. -If the traversal tag for ``X`` and ``Y`` is convertible to +If the traversal tags for ``X`` and ``Y`` are convertible to ``single_pass_traversal_tag`` then the following requirements must be met. @@ -696,7 +695,7 @@ met. |``y != x`` |convertible to ``bool`` |``bool(a==b) != bool(a!=b)`` over its domain. | +-------------------------------------------+-------------------------------------------------+---------------------------------------------------+ -If the traversal tag for ``X`` and ``Y`` is convertible to +If the traversal tags for ``X`` and ``Y`` are convertible to ``random_access_traversal_tag`` then the following requirements must be met.