1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121 122 123 124 125 126 127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144
|
[/
Copyright 2010 Neil Groves
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)
/]
[section:synopsis Synopsis]
``
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'
``
[endsect]
|