mirror of
https://github.com/boostorg/iterator.git
synced 2025-07-30 04:47:20 +02:00
change Incrementable Iterator reqs to better match those of Input/Output Iterators
[SVN r23510]
This commit is contained in:
@ -433,9 +433,9 @@ iterator.
|
|||||||
| | |where *cv* is an optional |
|
| | |where *cv* is an optional |
|
||||||
| | |cv-qualification. |
|
| | |cv-qualification. |
|
||||||
| | |pre: ``a`` is |
|
| | |pre: ``a`` is |
|
||||||
| | |dereferenceable. If ``a |
|
| | |dereferenceable. ``a == b`` if and |
|
||||||
| | |== b`` then ``*a`` is |
|
| | |only if ``*a`` is the same object |
|
||||||
| | |equivalent to ``*b``. |
|
| | |as ``*b``. |
|
||||||
+-------------+-----------+-----------------------------------+
|
+-------------+-----------+-----------------------------------+
|
||||||
|
|
||||||
|
|
||||||
@ -458,25 +458,25 @@ Constructible, the following expressions are valid and respect the
|
|||||||
stated semantics.
|
stated semantics.
|
||||||
|
|
||||||
|
|
||||||
+-------------------------------------------------------------------------------------+
|
+-----------------------------------------------------------------------------------------------------------+
|
||||||
|Incrementable Iterator Requirements (in addition to Assignable, Copy Constructible) |
|
|Incrementable Iterator Requirements (in addition to Assignable, Copy Constructible) |
|
||||||
| |
|
| |
|
||||||
+--------------------------------+-------------------------------+--------------------+
|
+--------------------------------+----------------------------------+---------------------------------------+
|
||||||
|Expression |Return Type |Assertion/Semantics |
|
|Expression |Return Type |Assertion/Semantics |
|
||||||
+================================+===============================+====================+
|
+================================+==================================+=======================================+
|
||||||
|``++r`` |``X&`` |``&r == &++r`` |
|
|``++r`` |``X&`` |``&r == &++r`` |
|
||||||
+--------------------------------+-------------------------------+--------------------+
|
+--------------------------------+----------------------------------+---------------------------------------+
|
||||||
|``r++`` |``X`` |:: |
|
|``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;`` |
|
||||||
| | | X tmp = r; |
|
+--------------------------------+----------------------------------+---------------------------------------+
|
||||||
| | | ++r; |
|
|``*r++`` |if ``X`` is a *Readable Iterator* |if ``X`` is a *Readable Iterator* then |
|
||||||
| | | return tmp; |
|
| |then ``T`` |``T z(*r++);`` is equivalent to |
|
||||||
| | | } |
|
| | |``T z(*r); ++r;`` |
|
||||||
+--------------------------------+-------------------------------+--------------------+
|
+--------------------------------+----------------------------------+---------------------------------------+
|
||||||
|``iterator_traversal<X>::type`` |Convertible to | |
|
|``iterator_traversal<X>::type`` |Convertible to | |
|
||||||
| |``incrementable_traversal_tag`` | |
|
| |``incrementable_traversal_tag`` | |
|
||||||
+--------------------------------+-------------------------------+--------------------+
|
+--------------------------------+----------------------------------+---------------------------------------+
|
||||||
|
|
||||||
.. TR1: incrementable_iterator_tag changed to
|
.. TR1: incrementable_iterator_tag changed to
|
||||||
incrementable_traversal_tag for consistency.
|
incrementable_traversal_tag for consistency.
|
||||||
|
Reference in New Issue
Block a user