diff --git a/doc/boost_range.html b/doc/boost_range.html
index f9fec8c..e7da701 100644
--- a/doc/boost_range.html
+++ b/doc/boost_range.html
@@ -56,7 +56,7 @@
the standard container requirements. For example, the utility class iterator_range
implements
the minimal interface required to make the
- class a Forward Range.
+ class a Forward Range.
@@ -75,28 +75,28 @@
//
template< class T >
- struct value_type_of;
+ struct range_value;
template< class T >
- struct iterator_of;
+ struct range_iterator;
template< class T >
- struct const_iterator_of;
+ struct range_const_iterator;
//
// Forward Range metafunctions
//
template< class T >
- struct difference_type_of;
+ struct range_difference;
template< class T >
- struct size_type_of;
+ struct range_size;
//
// Bidirectional Range metafunctions
@@ -104,45 +104,45 @@ class=identifier>size_type_of;
template< class T >
struct reverse_iterator_of;
+href="#range_reverse_iterator">range_reverse_iterator;
template< class T >
struct const_reverse_iterator_of;
+href="#range_const_reverse_iterator">range_const_reverse_iterator;
//
// Special metafunctions
//
template< class T >
- struct result_iterator_of;
+ struct range_result_iterator;
template< class T >
struct reverse_result_iterator_of;
+href="#range_reverse_result_iterator">range_reverse_result_iterator;
//
// Single Pass Range functions
//
template< class T >
- typename iterator_of<T>::type
+ typename range_iterator<T>::type
begin( T& c );
template< class T >
- typename const_iterator_of<T>::type
+ typename range_const_iterator<T>::type
begin( const T& c );
template< class T >
- typename iterator_of<T>::type
+ typename range_iterator<T>::type
end( T& c );
template< class T >
- typename const_iterator_of<T>::type
+ typename range_const_iterator<T>::type
end( const T& c );
template< class T >
@@ -154,7 +154,7 @@ class=identifier>reverse_result_iterator_of;
//
template< class T >
- typename size_type_of<T>::type
+ typename range_size<T>::type
size( const T& c );
//
@@ -162,19 +162,19 @@ class=identifier>reverse_result_iterator_of;
//
template< class T >
- typename reverse_iterator_of<T>::type
+ typename range_reverse_iterator<T>::type
rbegin( T& c );
template< class T >
- typename const_reverse_iterator_of<T>::type
+ typename range_const_reverse_iterator<T>::type
rbegin( const T& c );
template< class T >
- typename reverse_iterator_of<T>::type
+ typename range_reverse_iterator<T>::type
rend( T& c );
template< class T >
- typename const_reverse_iterator_of<T>::type
+ typename range_const_reverse_iterator<T>::type
rend( const T& c );
@@ -234,8 +234,8 @@ class=identifier>T& Complexity
-
-
+
+ value_type_of<X>::type
range_value<X>::type
T::value_type
boost::iterator_value<P::first_type>::type
A
@@ -243,8 +243,8 @@ class=identifier>T& compile time
-
-
+
+ iterator_of<X>::type
range_iterator<X>::type
T::iterator
P::first_type
A*
@@ -252,8 +252,8 @@ class=identifier>T& compile time
-
-
+
+ const_iterator_of<X>::type
range_const_iterator<X>::type
T::const_iterator
P::first_type
const A*
@@ -261,8 +261,8 @@ class=identifier>T& compile time
-
-
+
+ difference_type_of<X>::type
range_difference<X>::type
T::difference_type
boost_iterator_difference<P::first_type>::type
@@ -271,8 +271,8 @@ class=identifier>T& compile time
-
-
+
+ size_type_of<X>::type
range_size<X>::type
T::size_type
std::size_t
std::size_t
@@ -280,30 +280,30 @@ class=identifier>T& compile time
-
-
- result_iterator_of<X>::type
const_iterator_of<X>::type
if
+
+ range_result_iterator<X>::type
+ range_const_iterator<X>::type
if X
is const
- iterator_of<X>::type
otherwise range_iterator<X>::type
otherwise compile time
-
-
- reverse_iterator_of<X>::type
boost::reverse_iterator< typename iterator_of<T>::type >
+
+
+ range_reverse_iterator<X>::type
boost::reverse_iterator< typename range_iterator<T>::type >
compile time
-
-
- const_reverse_iterator_of<X>::type
boost::reverse_iterator< typename const_iterator_of<T>::type >
+
+
+ range_const_reverse_iterator<X>::type
boost::reverse_iterator< typename range_const_iterator<T>::type >
compile time
-
-
@@ -312,7 +312,7 @@ class=identifier>T&
- reverse_result_iterator_of<X>::type
boost::reverse_iterator< typename result_iterator_of<T>::type
+
+
+ range_reverse_result_iterator<X>::type
boost::reverse_iterator< typename range_result_iterator<T>::type
>
compile time
- The special metafunctions result_iterator_of
and reverse_result_iterator_of
+ The special metafunctions range_result_iterator
and range_reverse_result_iterator
are not part of any Range concept, but they are very useful when implementing
certain Range classes like sub_range
because of their
@@ -331,7 +331,7 @@ class=identifier>T&
begin(x)
result_iterator_of<X>::type
range_result_iterator<X>::type
t.begin()
p.first
a
end(x)
result_iterator_of<X>::type
range_result_iterator<X>::type
t.end()
p.second
a + sz
size(x)
size_type_of<X>::type
range_size<X>::type
t.size()
std::distance(p.first,p.second)
sz
rbegin(x)
reverse_result_iterator_of<X>::type
reverse_result_iterator_of<X>::type( end(x) )
range_reverse_result_iterator<X>::type
range_reverse_result_iterator<X>::type( end(x) )
end(x)
rend(x)
reverse_result_iterator_of<X>::type
reverse_result_iterator_of<X>::type( begin(x) )
+ range_reverse_result_iterator<X>::type
range_reverse_result_iterator<X>::type( begin(x) )
begin(x)
begin()
end()
size()
value_type
iterator
const_iterator
difference_type
size_type
iterator_of<C>::type
- and const_iterator_of<C>::type
for std::pair<iterator,
- iterator>
.
+ Why is there no difference between range_iterator<C>::type
+ and range_const_iterator<C>::type
for std::pair<iterator, iterator>
.
In general it is not possible nor desirable to find a corresponding const_iterator
.
@@ -83,12 +82,12 @@ is somewhat more convenient than a pair
.
<boost/range/value_type.hpp>
<boost/range/iterator.hpp>
<boost/range/const_iterator.hpp>
<boost/range/difference_type.hpp>
<boost/range/size_type.hpp>
<boost/range/result_iterator.hpp>
<boost/range/reverse_iterator.hpp>
<boost/range/const_reverse_iterator.hpp>
<boost/range/reverse_result_iterator.hpp>
<boost/range/begin.hpp>
<boost/range/end.hpp>
<boost/range/empty.hpp>
<boost/range/size.hpp>
<boost/range/rbegin.hpp>
<boost/range/rend.hpp>
<boost/range/iterator_range.hpp>
- A range X where iterator_of<X>::type
is a model of range_iterator<X>::type is a model of
Single Pass Iterator
@@ -115,19 +115,19 @@ Single Pass Iterator
Value type | -value_type_of<X>::type |
+ range_value<X>::type |
The type of the object stored in a Range. | |||||||||||||||||||||||||
Iterator type | -iterator_of<X>::type |
+ range_iterator<X>::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 must exist. | |||||||||||||||||||||||||
Const iterator type | -const_iterator_of<X>::type |
+ range_const_iterator<X>::type |
A type of iterator that may be used to examine, but not to modify, a Range's elements. | |||||||||||||||||||||||||
Beginning of range | begin(a) |
- iterator_of<X>::type if
-a is mutable, const_iterator_of<X>::type
+ | range_iterator<X>::type if
+a is mutable, range_const_iterator<X>::type
otherwise | |||||||||||||||||||||||||
End of range | end(a) |
- iterator_of<X>::type if
-a is mutable, const_iterator_of<X>::type
+ | range_iterator<X>::type if
+a is mutable, range_const_iterator<X>::type
otherwise |
|||||||||||||||||||||||||
Distance type | -difference_type_of<X>::type |
+ range_difference<X>::type |
A signed integral type used to represent the distance between two of the Range's iterators. This type must be the same as the iterator's distance type. |
Size type | -size_type_of<X>::type |
+ range_size<X>::type |
An unsigned integral type that can represent any nonnegative value of the Range's distance type. |
Size of range | size(a) |
- size_type |
+ range_size<X>::type |
size(a) == 0u
is equivalent to
iterator_of<X>::type
iterator must meet all of the requirements
+range_iterator<X>::type
iterator must meet all of the requirements
of Bidirectional Traversal Iterator.
@@ -343,7 +343,7 @@ s-lib-bidirectional-traversal-iterators">Bidirectional Traversal Iterator.
Reverse Iterator type | -reverse_iterator_of<X>::type |
+ range_reverse_iterator<X>::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 @@ -352,7 +352,7 @@ s-lib-bidirectional-traversal-iterators">Bidirectional Traversal Iterator. | |
Const reverse iterator type | const_reverse_iterator_of<X>::type |
+VAlign="top">A type of reverse iterator that may be used to examine, but not to modify, a Range's elements. | ||
Beginning of range | rbegin(a) |
- reverse_iterator_of<X>::type if
-a is mutable, const_reverse_iterator_of<X>::type
+ | range_reverse_iterator<X>::type if
+a is mutable, range_const_reverse_iterator<X>::type
otherwise. |
Equivalent to
-reverse_iterator_of<X>::type(end(a)) . |
End of range | rend(a) |
- reverse_iterator_of<X>::type if
-a is mutable, const_reverse_iterator_of<X>::type
+ | range_reverse_iterator<X>::type if
+a is mutable, range_const_reverse_iterator<X>::type
otherwise. |
Equivalent to
-reverse_iterator_of<X>::type(begin(a)) . |
- A range X
where iterator_of<X>::type
is a model
+ A range X
where range_iterator<X>::type
is a model
of Random Access Traversal Iterator
diff --git a/doc/style.html b/doc/style.html
index 8b7561b..0083217 100755
--- a/doc/style.html
+++ b/doc/style.html
@@ -46,14 +46,12 @@
Traversal category:
iterator_range
class is templated on an Forward
Traversal Iterator and should be used whenever fairly general code is needed.
- The sub_range
class is templated on an Forward
+ The sub_range
class is templated on an Forward
Range and it is less general, but a bit easier to use since its template
argument is easier to specify. The biggest difference is, however, that a
sub_range
can propagate constness because it knows what a
@@ -52,8 +53,8 @@ corresponding const_iterator
is.
The intention of the iterator_range
class is to encapsulate two
iterators so they fulfill the Forward Range concept. A few other functions
- are also provided for convenience.
+ href="range.html#forward_range">Forward Range concept. A few other
+functions are also provided for convenience.
If the template argument is not a model of Forward Traversal Iterator, one can
@@ -209,12 +210,11 @@ class can propagate constness since it knows what a corresponding
namespace boost
{
template< class ForwardRange >
- class sub_range : public iterator_range< typename result_iterator_of<ForwardRange>::type >
+ class sub_range : public iterator_range< typename range_result_iterator<ForwardRange>::type >
{
public:
- typedef typename iterator_of<ForwardRange>::type iterator;
- typedef typename const_iterator_of<ForwardRange>::type const_iterator;
+ typedef typename range_result_iterator<ForwardRange