27 lines
2.1 KiB
ReStructuredText
27 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)
|
|
|
|
Readable Iterator Concept
|
|
.........................
|
|
|
|
A class or built-in type ``X`` models the *Readable Iterator* concept
|
|
for value type ``T`` if, in addition to ``X`` being Assignable and
|
|
Copy Constructible, the following expressions are valid and respect
|
|
the stated semantics. ``U`` is the type of any specified member of
|
|
type ``T``.
|
|
|
|
+-----------------------------------------------------------------------------------------------------------------------------+
|
|
|Readable Iterator Requirements (in addition to Assignable and Copy Constructible) |
|
|
+-----------------------------------+------------------------+----------------------------------------------------------------+
|
|
|Expression |Return Type |Note/Precondition |
|
|
+===================================+========================+================================================================+
|
|
|``iterator_traits<X>::value_type`` |``T`` |Any non-reference, |
|
|
| | |non-cv-qualified type |
|
|
+-----------------------------------+------------------------+----------------------------------------------------------------+
|
|
|``*a`` | Convertible to ``T`` |pre: ``a`` is dereferenceable. If ``a == b`` then ``*a`` |
|
|
| | | is equivalent to ``*b``. |
|
|
+-----------------------------------+------------------------+----------------------------------------------------------------+
|
|
|``a->m`` |``U&`` |pre: ``pre: (*a).m`` is well-defined. Equivalent to ``(*a).m``. |
|
|
+-----------------------------------+------------------------+----------------------------------------------------------------+
|