From f0bc339d55f326a0568f268f0d83a00af5d2df41 Mon Sep 17 00:00:00 2001 From: Jeremy Siek Date: Tue, 13 Jul 2004 19:50:09 +0000 Subject: [PATCH] change Incrementable Iterator reqs to better match those of Input/Output Iterators [SVN r23510] --- doc/new-iter-concepts.rst | 44 +++++++++++++++++++-------------------- 1 file changed, 22 insertions(+), 22 deletions(-) diff --git a/doc/new-iter-concepts.rst b/doc/new-iter-concepts.rst index a798d4a..e9ed9da 100644 --- a/doc/new-iter-concepts.rst +++ b/doc/new-iter-concepts.rst @@ -433,9 +433,9 @@ iterator. | | |where *cv* is an optional | | | |cv-qualification. | | | |pre: ``a`` is | -| | |dereferenceable. If ``a | -| | |== b`` then ``*a`` is | -| | |equivalent to ``*b``. | +| | |dereferenceable. ``a == b`` if and | +| | |only if ``*a`` is the same object | +| | |as ``*b``. | +-------------+-----------+-----------------------------------+ @@ -458,25 +458,25 @@ Constructible, the following expressions are valid and respect the stated semantics. -+-------------------------------------------------------------------------------------+ -|Incrementable Iterator Requirements (in addition to Assignable, Copy Constructible) | -| | -+--------------------------------+-------------------------------+--------------------+ -|Expression |Return Type |Assertion/Semantics | -+================================+===============================+====================+ -|``++r`` |``X&`` |``&r == &++r`` | -+--------------------------------+-------------------------------+--------------------+ -|``r++`` |``X`` |:: | -| | | | -| | | { | -| | | X tmp = r; | -| | | ++r; | -| | | return tmp; | -| | | } | -+--------------------------------+-------------------------------+--------------------+ -|``iterator_traversal::type`` |Convertible to | | -| |``incrementable_traversal_tag``| | -+--------------------------------+-------------------------------+--------------------+ ++-----------------------------------------------------------------------------------------------------------+ +|Incrementable Iterator Requirements (in addition to Assignable, Copy Constructible) | +| | ++--------------------------------+----------------------------------+---------------------------------------+ +|Expression |Return Type |Assertion/Semantics | ++================================+==================================+=======================================+ +|``++r`` |``X&`` |``&r == &++r`` | ++--------------------------------+----------------------------------+---------------------------------------+ +|``r++`` |if ``X`` is a *Writable Iterator* |if ``X`` is a *Writable Iterator* then | +| |then convertible to ``const X&`` |``X a(r++);`` is equivalent to | +| | |``X a(r); ++r;`` | ++--------------------------------+----------------------------------+---------------------------------------+ +|``*r++`` |if ``X`` is a *Readable Iterator* |if ``X`` is a *Readable Iterator* then | +| |then ``T`` |``T z(*r++);`` is equivalent to | +| | |``T z(*r); ++r;`` | ++--------------------------------+----------------------------------+---------------------------------------+ +|``iterator_traversal::type`` |Convertible to | | +| |``incrementable_traversal_tag`` | | ++--------------------------------+----------------------------------+---------------------------------------+ .. TR1: incrementable_iterator_tag changed to incrementable_traversal_tag for consistency.