|  | Home | Libraries | People | FAQ | More | 
| 
                   | A type that is a model of Single Pass Range. | 
| 
                   | Object of type X. | 
        A range X where boost::range_iterator<X>::type is a model of Single
        Pass Iterator.
      
| Iterator type | 
                   | 
                  The type of iterator used to iterate through a Range's elements.
                  The iterator's value type is expected to be the Range's value type.
                  A conversion from the iterator type to the  | 
| Const iterator type | 
                   | A type of iterator that may be used to examine, but not to modify, a Range's elements. | 
The following expressions must be valid.
| Name | Expression | Return type | 
|---|---|---|
| Beginning of range | 
                   | 
                   | 
| End of range | 
                   | 
                   | 
| Expression | Semantics | Postcondition | 
|---|---|---|
| 
                   | Returns an iterator pointing to the first element in the Range. | 
                   | 
| 
                   | Returns an iterator pointing one past the last element in the Range. | 
                   | 
        boost::end(a) is at most amortized linear time, boost::begin(a) is amortized
        constant time. For most practical purposes, one can expect both to be amortized
        constant time.
      
| Valid range | 
                  For any Range  | 
| Completeness | 
                  An algorithm that iterates through the range  | 
Extending the library for UDTs