33 lines
2.1 KiB
ReStructuredText
33 lines
2.1 KiB
ReStructuredText
.. Copyright David Abrahams 2006. Distributed under the Boost
|
|
.. Software License, Version 1.0. (See accompanying
|
|
.. file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)
|
|
|
|
Incrementable Iterator Concept
|
|
..............................
|
|
|
|
A class or built-in type ``X`` models the *Incrementable Iterator*
|
|
concept if, in addition to ``X`` being Assignable and Copy
|
|
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<X>::type`` |Convertible to | |
|
|
| |``incrementable_traversal_tag``| |
|
|
+--------------------------------+-------------------------------+--------------------+
|