mirror of
				https://github.com/boostorg/iterator.git
				synced 2025-11-04 02:11:37 +01:00 
			
		
		
		
	
		
			
				
	
	
		
			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``|                    |
 | 
						|
+--------------------------------+-------------------------------+--------------------+
 |