Boost C++ Libraries Home Libraries People FAQ More

PrevUpHomeNext

Synopsis

namespace boost
{
    //
    // Single Pass Range metafunctions
    //

    template< class T >
    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 );

    //
    // 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 );

    //
    // Random Access Range functions
    //

    template< class T >
    typename range_difference<T>::type
    size( 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'


PrevUpHomeNext