1234567891011121314151617181920212223242526272829303132 |
- .. 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``| |
- +--------------------------------+-------------------------------+--------------------+
|