Home | Libraries | People | FAQ | More |
namespace boost { // // Single Pass Range metafunctions // template< class T, class Enabler=void > struct range_iterator; template< class T > struct range_value; template< class T > struct range_reference; template< class T > struct range_pointer; template< class T > struct range_category; // // Forward Range metafunctions // template< class T > struct range_difference; // // Bidirectional Range metafunctions // template< class T > struct range_reverse_iterator; // // Single Pass Range functions // template< class T > typename range_iterator<T>::type begin( T& r ); template< class T > typename range_iterator<const T>::type begin( const T& r ); template< class T > typename range_iterator<T>::type end( T& r ); template< class T > typename range_iterator<const T>::type end( const T& r ); template< class T > bool empty( const T& r ); // // Forward Range functions // template< class T > typename range_difference<T>::type distance( const T& r ); template< class T > typename range_size<T>::type size( const T& r ); // // Bidirectional Range functions // template< class T > typename range_reverse_iterator<T>::type rbegin( T& r ); template< class T > typename range_reverse_iterator<const T>::type rbegin( const T& r ); template< class T > typename range_reverse_iterator<T>::type rend( T& r ); template< class T > typename range_reverse_iterator<const T>::type rend( const T& r ); // // Special const Range functions // template< class T > typename range_iterator<const T>::type const_begin( const T& r ); template< class T > typename range_iterator<const T>::type const_end( const T& r ); template< class T > typename range_reverse_iterator<const T>::type const_rbegin( const T& r ); template< class T > typename range_reverse_iterator<const T>::type const_rend( const T& r ); // // String utilities // template< class T > iterator_range< ... see below ... > as_literal( T& r ); template< class T > iterator_range< ... see below ... > as_literal( const T& r ); template< class T > iterator_range< typename range_iterator<T>::type > as_array( T& r ); template< class T > iterator_range< typename range_iterator<const T>::type > as_array( const T& r ); } // namespace 'boost'