|  | Home | Libraries | People | FAQ | More | 
| 
                   | A type that is a model of Bidirectional Range. | 
| 
                   | Object of type X. | 
        This concept provides access to iterators that traverse in both directions
        (forward and reverse). The boost::range_iterator<X>::type iterator must meet all of the requirements
        of Bidirectional
        Traversal Iterator.
      
| Reverse Iterator type | 
                   | The type of iterator used to iterate through a Range's elements in reverse order. The iterator's value type is expected to be the Range's value type. A conversion from the reverse iterator type to the const reverse iterator type must exist. | 
| Const reverse iterator type | 
                   | A type of reverse iterator that may be used to examine, but not to modify, a Range's elements. | 
| Name | Expression | Return type | Semantics | 
|---|---|---|---|
| Beginning of range | 
                   | 
                   | 
                  Equivalent to  | 
| End of range | 
                   | 
                   | 
                  Equivalent to  | 
        boost::rbegin(a) has
        the same complexity as boost::end(a) and
        boost::rend(a) has the same complexity as boost::begin(a) from
        Forward Range.
      
| Valid reverse range | 
                  For any Bidirectional Range a,  | 
| Completeness | 
                  An algorithm that iterates through the range  |