Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r67905 - in branches/release: boost/range boost/range/adaptor boost/range/detail libs/range libs/range/doc libs/range/doc/html libs/range/doc/html/range libs/range/doc/html/range/concepts libs/range/doc/html/range/reference libs/range/doc/html/range/reference/adaptors libs/range/doc/html/range/reference/adaptors/reference libs/range/doc/html/range/reference/algorithms/heap libs/range/doc/html/range/reference/algorithms/mutating libs/range/doc/html/range/reference/algorithms/new libs/range/doc/html/range/reference/algorithms/non_mutating libs/range/doc/html/range/reference/algorithms/numeric libs/range/doc/html/range/reference/algorithms/permutation libs/range/doc/html/range/reference/algorithms/set libs/range/doc/html/range/reference/concept_implementation libs/range/doc/html/range/reference/concept_implementation/semantics libs/range/doc/html/range/reference/ranges libs/range/doc/html/range/reference/utilities libs/range/doc/reference libs/range/doc/reference/adaptors libs/range/doc/reference/ranges libs/range/test libs/range/test/adaptor_test libs/range/test/algorithm_test
From: neil_at_[hidden]
Date: 2011-01-10 01:35:43


Author: neilgroves
Date: 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
New Revision: 67905
URL: http://svn.boost.org/trac/boost/changeset/67905

Log:
[range] - merge the tested changes from the trunk in preparation for the 1.46 release.
Added:
   branches/release/boost/range/any_range.hpp
      - copied unchanged from r67580, /trunk/boost/range/any_range.hpp
   branches/release/boost/range/detail/any_iterator.hpp
      - copied unchanged from r67580, /trunk/boost/range/detail/any_iterator.hpp
   branches/release/boost/range/detail/any_iterator_buffer.hpp
      - copied unchanged from r67580, /trunk/boost/range/detail/any_iterator_buffer.hpp
   branches/release/boost/range/detail/any_iterator_interface.hpp
      - copied unchanged from r67580, /trunk/boost/range/detail/any_iterator_interface.hpp
   branches/release/boost/range/detail/any_iterator_wrapper.hpp
      - copied unchanged from r67580, /trunk/boost/range/detail/any_iterator_wrapper.hpp
   branches/release/boost/range/detail/safe_bool.hpp
      - copied unchanged from r67463, /trunk/boost/range/detail/safe_bool.hpp
   branches/release/libs/range/doc/html/range/reference/adaptors/reference/type_erased.html
      - copied unchanged from r67580, /trunk/libs/range/doc/html/range/reference/adaptors/reference/type_erased.html
   branches/release/libs/range/doc/html/range/reference/ranges/any_range.html
      - copied unchanged from r67580, /trunk/libs/range/doc/html/range/reference/ranges/any_range.html
   branches/release/libs/range/doc/reference/adaptors/type_erased.qbk
      - copied unchanged from r67580, /trunk/libs/range/doc/reference/adaptors/type_erased.qbk
   branches/release/libs/range/doc/reference/ranges/any_range.qbk
      - copied unchanged from r67580, /trunk/libs/range/doc/reference/ranges/any_range.qbk
   branches/release/libs/range/test/adaptor_test/type_erased.cpp
      - copied, changed from r67580, /trunk/libs/range/test/adaptor_test/type_erased.cpp
   branches/release/libs/range/test/adaptor_test/type_erased_example.cpp
      - copied unchanged from r67580, /trunk/libs/range/test/adaptor_test/type_erased_example.cpp
   branches/release/libs/range/test/begin.cpp
      - copied unchanged from r67580, /trunk/libs/range/test/begin.cpp
   branches/release/libs/range/test/end.cpp
      - copied unchanged from r67580, /trunk/libs/range/test/end.cpp
Properties modified:
   branches/release/boost/range/ (props changed)
   branches/release/libs/range/ (props changed)
Text files modified:
   branches/release/boost/range/adaptor/sliced.hpp | 1
   branches/release/boost/range/adaptor/strided.hpp | 297 ++++++++++----
   branches/release/boost/range/adaptor/type_erased.hpp | 210 +++++++--
   branches/release/boost/range/begin.hpp | 23
   branches/release/boost/range/concepts.hpp | 23 +
   branches/release/boost/range/detail/begin.hpp | 28
   branches/release/boost/range/detail/end.hpp | 37 +
   branches/release/boost/range/end.hpp | 23
   branches/release/boost/range/iterator_range_core.hpp | 18
   branches/release/boost/range/size.hpp | 35 -
   branches/release/libs/range/doc/boost_range.qbk | 2
   branches/release/libs/range/doc/html/index.html | 5
   branches/release/libs/range/doc/html/quickbook_HTML.manifest | 2
   branches/release/libs/range/doc/html/range/concepts/bidirectional_range.html | 16
   branches/release/libs/range/doc/html/range/concepts/concept_checking.html | 2
   branches/release/libs/range/doc/html/range/concepts/forward_range.html | 10
   branches/release/libs/range/doc/html/range/concepts/random_access_range.html | 12
   branches/release/libs/range/doc/html/range/concepts/single_pass_range.html | 16
   branches/release/libs/range/doc/html/range/history_ack.html | 4
   branches/release/libs/range/doc/html/range/introduction.html | 6
   branches/release/libs/range/doc/html/range/mfc_atl.html | 4
   branches/release/libs/range/doc/html/range/reference.html | 1
   branches/release/libs/range/doc/html/range/reference/adaptors/introduction.html | 6
   branches/release/libs/range/doc/html/range/reference/adaptors/reference.html | 1
   branches/release/libs/range/doc/html/range/reference/adaptors/reference/strided.html | 10
   branches/release/libs/range/doc/html/range/reference/adaptors/reference/tokenized.html | 6
   branches/release/libs/range/doc/html/range/reference/algorithms/heap/make_heap.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/heap/pop_heap.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/heap/push_heap.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/heap/sort_heap.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/copy.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/copy_backward.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/fill.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/fill_n.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/generate.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/inplace_merge.html | 16
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/merge.html | 16
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/nth_element.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/partial_sort.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/partition.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/random_shuffle.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy_if.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove_if.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy_if.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace_if.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/reverse.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/reverse_copy.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/rotate.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/rotate_copy.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/sort.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/stable_partition.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/stable_sort.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/swap_ranges.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/transform.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/unique.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/mutating/unique_copy.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/new/copy_n.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/new/erase.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/new/for_each.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/new/insert.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/new/iota.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/new/is_sorted.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/new/overwrite.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/new/push_back.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/new/push_front.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/new/remove_erase.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/new/remove_erase_if.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/adjacent_find.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/binary_search.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/count.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/count_if.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/equal.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/equal_range.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find_end.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find_first_of.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find_if.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/for_each.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/lexicographical_compare.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/lower_bound.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/max_element.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/min_element.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/mismatch.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/search.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/search_n.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/upper_bound.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/numeric/accumulate.html | 14
   branches/release/libs/range/doc/html/range/reference/algorithms/numeric/adjacent_difference.html | 16
   branches/release/libs/range/doc/html/range/reference/algorithms/numeric/inner_product.html | 16
   branches/release/libs/range/doc/html/range/reference/algorithms/numeric/partial_sum.html | 16
   branches/release/libs/range/doc/html/range/reference/algorithms/permutation/next_permutation.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/permutation/prev_permutation.html | 10
   branches/release/libs/range/doc/html/range/reference/algorithms/set/includes.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/set/set_difference.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/set/set_intersection.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/set/set_symmetric_difference.html | 12
   branches/release/libs/range/doc/html/range/reference/algorithms/set/set_union.html | 12
   branches/release/libs/range/doc/html/range/reference/concept_implementation/semantics.html | 2
   branches/release/libs/range/doc/html/range/reference/concept_implementation/semantics/functions.html | 25 -
   branches/release/libs/range/doc/html/range/reference/ranges.html | 7
   branches/release/libs/range/doc/html/range/reference/ranges/counting_range.html | 14
   branches/release/libs/range/doc/html/range/reference/ranges/irange.html | 10
   branches/release/libs/range/doc/html/range/reference/ranges/istream_range.html | 6
   branches/release/libs/range/doc/html/range/reference/utilities/iterator_range.html | 6
   branches/release/libs/range/doc/html/range/reference/utilities/join.html | 4
   branches/release/libs/range/doc/html/range/reference/utilities/sub_range.html | 2
   branches/release/libs/range/doc/reference/adaptors.qbk | 1
   branches/release/libs/range/doc/reference/adaptors/strided.qbk | 2
   branches/release/libs/range/doc/reference/ranges.qbk | 1
   branches/release/libs/range/doc/reference/semantics.qbk | 4
   branches/release/libs/range/test/Jamfile.v2 | 4
   branches/release/libs/range/test/adaptor_test/strided.cpp | 16
   branches/release/libs/range/test/adaptor_test/type_erased.cpp | 790 +++++++++++++++++++--------------------
   branches/release/libs/range/test/algorithm_test/count_if.cpp | 7
   branches/release/libs/range/test/algorithm_test/find.cpp | 123 +++---
   branches/release/libs/range/test/algorithm_test/find_end.cpp | 277 ++++++-------
   branches/release/libs/range/test/algorithm_test/find_first_of.cpp | 273 ++++++------
   branches/release/libs/range/test/algorithm_test/find_if.cpp | 147 +++---
   branches/release/libs/range/test/algorithm_test/lower_bound.cpp | 244 ++++++------
   branches/release/libs/range/test/algorithm_test/max_element.cpp | 203 +++++-----
   branches/release/libs/range/test/algorithm_test/min_element.cpp | 201 +++++-----
   branches/release/libs/range/test/algorithm_test/partition.cpp | 153 +++---
   branches/release/libs/range/test/algorithm_test/stable_partition.cpp | 158 +++----
   branches/release/libs/range/test/algorithm_test/unique.cpp | 247 ++++++------
   branches/release/libs/range/test/algorithm_test/upper_bound.cpp | 225 +++++-----
   branches/release/libs/range/test/extension_size.cpp | 52 --
   130 files changed, 2492 insertions(+), 2336 deletions(-)

Modified: branches/release/boost/range/adaptor/sliced.hpp
==============================================================================
--- branches/release/boost/range/adaptor/sliced.hpp (original)
+++ branches/release/boost/range/adaptor/sliced.hpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -76,6 +76,7 @@
         }
 
     } // namespace adaptors
+ using adaptors::sliced_range;
 } // namespace boost
 
 #endif

Modified: branches/release/boost/range/adaptor/strided.hpp
==============================================================================
--- branches/release/boost/range/adaptor/strided.hpp (original)
+++ branches/release/boost/range/adaptor/strided.hpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -16,156 +16,287 @@
 #include <boost/iterator/iterator_adaptor.hpp>
 #include <iterator>
 
-#include <iostream>
-
 namespace boost
 {
     namespace range_detail
     {
-
- template<class BaseIterator>
+ // strided_iterator for wrapping a forward traversal iterator
+ template<class BaseIterator, class Category>
         class strided_iterator
             : public iterator_adaptor<
- strided_iterator<BaseIterator>
+ strided_iterator<BaseIterator, Category>
               , BaseIterator
+ , use_default
+ , boost::forward_traversal_tag
>
         {
- friend class iterator_core_access;
+ friend class ::boost::iterator_core_access;
 
- typedef iterator_adaptor<strided_iterator<BaseIterator>, BaseIterator> super_t;
+ typedef iterator_adaptor<
+ strided_iterator<BaseIterator, Category>
+ , BaseIterator
+ , use_default
+ , boost::forward_traversal_tag
+ > super_t;
 
         public:
             typedef BOOST_DEDUCED_TYPENAME std::iterator_traits<BaseIterator>::difference_type difference_type;
+ typedef BaseIterator base_iterator;
 
             strided_iterator()
- : m_stride(), m_offset(), m_max_offset()
+ : m_last()
+ , m_stride()
             {
             }
 
- explicit strided_iterator(BaseIterator base_it,
- difference_type stride,
- difference_type offset,
- difference_type max_offset)
- : super_t(base_it)
+ strided_iterator(base_iterator first, base_iterator it, base_iterator last, difference_type stride)
+ : super_t(it)
+ , m_last(last)
                 , m_stride(stride)
- , m_offset(offset)
- , m_max_offset(max_offset)
             {
             }
 
             template<class OtherIterator>
- strided_iterator(const strided_iterator<OtherIterator>& other,
- BOOST_DEDUCED_TYPENAME enable_if_convertible<OtherIterator, BaseIterator>::type* = 0)
+ strided_iterator(const strided_iterator<OtherIterator, Category>& other,
+ BOOST_DEDUCED_TYPENAME enable_if_convertible<OtherIterator, base_iterator>::type* = 0)
                 : super_t(other)
- , m_stride(other.m_stride)
- , m_offset(other.m_offset)
- , m_max_offset(other.m_max_offset)
+ , m_last(other.base_end())
+ , m_stride(other.get_stride())
             {
             }
 
- strided_iterator&
- operator=(const strided_iterator& other)
+ base_iterator base_end() const { return m_last; }
+ difference_type get_stride() const { return m_stride; }
+
+ private:
+ void increment()
             {
- super_t::operator=(other);
- m_stride = other.m_stride;
- m_offset = other.m_offset;
- m_max_offset = other.m_max_offset;
- return *this;
+ base_iterator& it = this->base_reference();
+ for (difference_type i = 0; (it != m_last) && (i < m_stride); ++i)
+ ++it;
             }
 
+ base_iterator m_last;
+ difference_type m_stride;
+ };
+
+ // strided_iterator for wrapping a bidirectional iterator
+ template<class BaseIterator>
+ class strided_iterator<BaseIterator, bidirectional_traversal_tag>
+ : public iterator_adaptor<
+ strided_iterator<BaseIterator, bidirectional_traversal_tag>
+ , BaseIterator
+ , use_default
+ , bidirectional_traversal_tag
+ >
+ {
+ friend class ::boost::iterator_core_access;
+
+ typedef iterator_adaptor<
+ strided_iterator<BaseIterator, bidirectional_traversal_tag>
+ , BaseIterator
+ , use_default
+ , bidirectional_traversal_tag
+ > super_t;
+ public:
+ typedef BOOST_DEDUCED_TYPENAME std::iterator_traits<BaseIterator>::difference_type difference_type;
+ typedef BaseIterator base_iterator;
+
+ strided_iterator()
+ : m_first()
+ , m_last()
+ , m_stride()
+ {
+ }
+
+ strided_iterator(base_iterator first, base_iterator it, base_iterator last, difference_type stride)
+ : super_t(it)
+ , m_first(first)
+ , m_last(last)
+ , m_stride(stride)
+ {
+ }
+
+ template<class OtherIterator>
+ strided_iterator(const strided_iterator<OtherIterator, bidirectional_traversal_tag>& other,
+ BOOST_DEDUCED_TYPENAME enable_if_convertible<OtherIterator, base_iterator>::type* = 0)
+ : super_t(other.base())
+ , m_first(other.base_begin())
+ , m_last(other.base_end())
+ , m_stride(other.get_stride())
+ {
+ }
+
+ base_iterator base_begin() const { return m_first; }
+ base_iterator base_end() const { return m_last; }
+ difference_type get_stride() const { return m_stride; }
+
+ private:
             void increment()
             {
- m_offset += m_stride;
- if (m_offset <= m_max_offset)
- std::advance(this->base_reference(), m_stride);
+ base_iterator& it = this->base_reference();
+ for (difference_type i = 0; (it != m_last) && (i < m_stride); ++i)
+ ++it;
             }
 
             void decrement()
             {
- m_offset -= m_stride;
- if (m_offset >= 0)
- std::advance(this->base_reference(), -m_stride);
+ base_iterator& it = this->base_reference();
+ for (difference_type i = 0; (it != m_first) && (i < m_stride); ++i)
+ --it;
             }
 
- void advance(difference_type n)
+ base_iterator m_first;
+ base_iterator m_last;
+ difference_type m_stride;
+ };
+
+ // strided_iterator implementation for wrapping a random access iterator
+ template<class BaseIterator>
+ class strided_iterator<BaseIterator, random_access_traversal_tag>
+ : public iterator_adaptor<
+ strided_iterator<BaseIterator, random_access_traversal_tag>
+ , BaseIterator
+ , use_default
+ , random_access_traversal_tag
+ >
+ {
+ friend class ::boost::iterator_core_access;
+
+ typedef iterator_adaptor<
+ strided_iterator<BaseIterator, random_access_traversal_tag>
+ , BaseIterator
+ , use_default
+ , random_access_traversal_tag
+ > super_t;
+ public:
+ typedef BOOST_DEDUCED_TYPENAME super_t::difference_type difference_type;
+ typedef BaseIterator base_iterator;
+
+ strided_iterator()
+ : m_first()
+ , m_last()
+ , m_stride()
+ {
+ }
+
+ strided_iterator(BaseIterator first, BaseIterator it, BaseIterator last, difference_type stride)
+ : super_t(it)
+ , m_first(first)
+ , m_last(last)
+ , m_stride(stride)
+ {
+ }
+
+ template<class OtherIterator>
+ strided_iterator(const strided_iterator<OtherIterator, random_access_traversal_tag>& other,
+ BOOST_DEDUCED_TYPENAME enable_if_convertible<OtherIterator, BaseIterator>::type* = 0)
+ : super_t(other.base())
+ , m_first(other.base_begin())
+ , m_last(other.base_end())
+ , m_stride(other.get_stride())
+ {
+ }
+
+ base_iterator base_begin() const { return m_first; }
+ base_iterator base_end() const { return m_last; }
+ difference_type get_stride() const { return m_stride; }
+
+ private:
+ void increment()
             {
- n *= m_stride;
- m_offset += n;
+ base_iterator& it = this->base_reference();
+ if ((m_last - it) > m_stride)
+ it += m_stride;
+ else
+ it = m_last;
+ }
+
+ void decrement()
+ {
+ base_iterator& it = this->base_reference();
+ if ((it - m_first) > m_stride)
+ it -= m_stride;
+ else
+ it = m_first;
+ }
 
- if (m_offset >= 0 && m_offset <= m_max_offset)
- std::advance(this->base_reference(), n);
+ void advance(difference_type offset)
+ {
+ base_iterator& it = this->base_reference();
+ offset *= m_stride;
+ if (offset >= 0)
+ {
+ if ((m_last - it) > offset)
+ it += offset;
+ else
+ it = m_last;
+ }
+ else
+ {
+ if ((m_first - it) > offset)
+ it += offset;
+ else
+ it = m_first;
+ }
             }
 
             template<class OtherIterator>
- bool equal(const strided_iterator<OtherIterator>& other,
- BOOST_DEDUCED_TYPENAME enable_if_convertible<OtherIterator, BaseIterator>::type* = 0) const
+ difference_type distance_to(const strided_iterator<OtherIterator, random_access_traversal_tag>& other,
+ BOOST_DEDUCED_TYPENAME enable_if_convertible<OtherIterator, BaseIterator>::type* = 0) const
             {
- return m_offset == other.m_offset;
+ if (other.base() >= this->base())
+ return (other.base() - this->base() + (m_stride - 1)) / m_stride;
+ return (other.base() - this->base() - (m_stride - 1)) / m_stride;
             }
 
- difference_type
- distance_to(const strided_iterator& other) const
+ bool equal(const strided_iterator& other) const
             {
- return (other.m_offset - m_offset) / m_stride;
+ return other.base() == this->base();
             }
 
         private:
+ base_iterator m_first;
+ base_iterator m_last;
             difference_type m_stride;
- difference_type m_offset;
- difference_type m_max_offset;
         };
 
         template<class BaseIterator, class Difference> inline
- strided_iterator<BaseIterator>
- make_strided_iterator(
- const BaseIterator& first,
- Difference stride,
- typename std::iterator_traits<BaseIterator>::difference_type offset,
- typename std::iterator_traits<BaseIterator>::difference_type max_offset
- )
+ strided_iterator<BaseIterator, BOOST_DEDUCED_TYPENAME iterator_traversal<BaseIterator>::type>
+ make_strided_iterator(BaseIterator first, BaseIterator it,
+ BaseIterator last, Difference stride)
         {
             BOOST_ASSERT( stride >= 0 );
- BOOST_ASSERT( (stride == 0) || (offset % stride == 0) );
- BOOST_ASSERT( (stride == 0) || (max_offset % stride == 0) );
- BOOST_ASSERT( offset <= max_offset );
- return strided_iterator<BaseIterator>(first, stride, offset, max_offset);
+ typedef BOOST_DEDUCED_TYPENAME iterator_traversal<BaseIterator>::type traversal_tag;
+ return strided_iterator<BaseIterator, traversal_tag>(first, it, last, stride);
         }
 
- template< class Rng >
+ template< class Rng
+ , class Category = BOOST_DEDUCED_TYPENAME iterator_traversal<
+ BOOST_DEDUCED_TYPENAME range_iterator<Rng>::type
+ >::type
+ >
         class strided_range
- : public iterator_range<range_detail::strided_iterator<BOOST_DEDUCED_TYPENAME range_iterator<Rng>::type> >
+ : public iterator_range<
+ range_detail::strided_iterator<
+ BOOST_DEDUCED_TYPENAME range_iterator<Rng>::type,
+ Category
+ >
+ >
         {
- typedef range_detail::strided_iterator<BOOST_DEDUCED_TYPENAME range_iterator<Rng>::type> iter_type;
+ typedef range_detail::strided_iterator<
+ BOOST_DEDUCED_TYPENAME range_iterator<Rng>::type,
+ Category
+ > iter_type;
             typedef iterator_range<iter_type> super_t;
         public:
             template<class Difference>
             strided_range(Difference stride, Rng& rng)
- : super_t(make_super(stride, rng))
+ : super_t(make_strided_iterator(boost::begin(rng), boost::begin(rng), boost::end(rng), stride),
+ make_strided_iterator(boost::begin(rng), boost::end(rng), boost::end(rng), stride))
             {
                 BOOST_ASSERT( stride >= 0 );
             }
-
- private:
- template<class Difference>
- static super_t make_super(const Difference stride, Rng& rng)
- {
- const Difference count = boost::size(rng);
- const Difference max_count = max_offset(count, stride);
- return super_t(make_strided_iterator(boost::begin(rng), stride, 0, max_count),
- make_strided_iterator(boost::end(rng), stride, max_count, max_count));
- }
-
- template<class Difference, class Stride>
- static Difference max_offset(Difference sz, const Stride stride)
- {
- if (stride > 0)
- {
- sz += stride - 1;
- sz /= stride;
- sz *= stride;
- }
- return sz;
- }
         };
 
         template<class Difference>

Modified: branches/release/boost/range/adaptor/type_erased.hpp
==============================================================================
--- branches/release/boost/range/adaptor/type_erased.hpp (original)
+++ branches/release/boost/range/adaptor/type_erased.hpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -1,6 +1,6 @@
 // Boost.Range library
 //
-// Copyright Thorsten Ottosen, Neil Groves 2006 - 2008. Use, modification and
+// Copyright Neil Groves 2010. Use, modification and
 // distribution is subject to 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)
@@ -10,79 +10,173 @@
 #ifndef BOOST_RANGE_ADAPTOR_TYPE_ERASED_HPP_INCLUDED
 #define BOOST_RANGE_ADAPTOR_TYPE_ERASED_HPP_INCLUDED
 
-#include <boost/iterator/iterator_facade.hpp>
-#include <boost/range/range_reference.hpp>
-#include <boost/range/range_value.hpp>
+#include <boost/range/reference.hpp>
+#include <boost/range/value_type.hpp>
+#include <boost/range/iterator_range_core.hpp>
+#include <boost/range/any_range.hpp>
+#include <boost/cast.hpp>
 
 namespace boost
 {
- namespace range_detail
+ namespace adaptors
     {
         template<
- class Value,
- class CategoryOrTraversal,
- class Reference,
- class Difference
- >
- class any_range
- : public iterator_range<
- IteratorTypeErasure::any_iterator<
- Value, CategoryOrTraversal, Reference, Difference> >
+ class Value = use_default
+ , class Traversal = use_default
+ , class Reference = use_default
+ , class Difference = use_default
+ , class Buffer = use_default
+ >
+ struct type_erased
         {
- typedef typename IteratorTypeErasure::any_iterator<
- Value, CategoryOrTraversal, Reference, Difference> iterator_t;
-
- typedef iterator_range<iterator_t> base_t;
- public:
- template<class Range>
- explicit any_range(Range& r) : base_t(r) {}
-
- template<class Range>
- explicit any_range(const Range& r) : base_t(r) {}
         };
 
- template<class Range>
- class any_range_generator
- {
- public:
- typedef any_range<
- BOOST_DEDUCED_TYPENAME range_value<Range>::type,
- BOOST_DEDUCED_TYPENAME iterator_traversal<
- BOOST_DEDUCED_TYPENAME range_iterator<Range>::type
- >::type,
- BOOST_DEDUCED_TYPENAME range_reference<Range>::type,
- BOOST_DEDUCED_TYPENAME range_difference<Range>::type
- > type;
- };
-
- class type_erased_tag {};
-
-
- } // namespace range_detail
-
- using range_detail::any_range;
+ template<
+ class SinglePassRange
+ , class Value
+ , class Traversal
+ , class Reference
+ , class Difference
+ , class Buffer
+ >
+ typename any_range_type_generator<
+ SinglePassRange
+ , Value
+ , Traversal
+ , Reference
+ , Difference
+ , Buffer
+ >::type
+ operator|(SinglePassRange& rng,
+ type_erased<
+ Value
+ , Traversal
+ , Reference
+ , Difference
+ , Buffer
+ >)
+ {
+ typedef typename any_range_type_generator<
+ SinglePassRange
+ , Value
+ , Traversal
+ , Reference
+ , Difference
+ , Buffer
+ >::type range_type;
+ return range_type(boost::begin(rng), boost::end(rng));
+ }
 
- namespace adaptors
- {
- namespace
+ template<
+ class SinglePassRange
+ , class Value
+ , class Traversal
+ , class Reference
+ , class Difference
+ , class Buffer
+ >
+ typename any_range_type_generator<
+ const SinglePassRange
+ , Value
+ , Traversal
+ , Reference
+ , Difference
+ , Buffer
+ >::type
+ operator|(const SinglePassRange& rng,
+ type_erased<
+ Value
+ , Traversal
+ , Reference
+ , Difference
+ , Buffer
+ >)
         {
- const range_detail::type_erased_tag type_erased = range_detail::type_erased_tag();
+ typedef typename any_range_type_generator<
+ const SinglePassRange
+ , Value
+ , Traversal
+ , Reference
+ , Difference
+ , Buffer
+ >::type range_type;
+ return range_type(boost::begin(rng), boost::end(rng));
         }
 
- template<class SinglePassRange>
- typename range_detail::any_range_generator<SinglePassRange>::type
- operator|(SinglePassRange& rng, range_detail::type_erased_tag)
+ template<
+ class SinglePassRange
+ , class Value
+ , class Traversal
+ , class Reference
+ , class Difference
+ , class Buffer
+ >
+ typename any_range_type_generator<
+ SinglePassRange
+ , Value
+ , Traversal
+ , Reference
+ , Difference
+ , Buffer
+ >::type
+ type_erase(SinglePassRange& rng
+ , type_erased<
+ Value
+ , Traversal
+ , Reference
+ , Difference
+ , Buffer
+ > = type_erased<>()
+ )
         {
- typedef typename range_detail::any_range_generator<SinglePassRange>::type range_t;
- return range_t(rng);
+ typedef typename any_range_type_generator<
+ SinglePassRange
+ , Value
+ , Traversal
+ , Reference
+ , Difference
+ , Buffer
+ >::type range_type;
+
+ return range_type(boost::begin(rng), boost::end(rng));
         }
 
- template<class SinglePassRange>
- typename range_detail::any_range_generator<const SinglePassRange>::type
- operator|(const SinglePassRange& rng, range_detail::type_erased_tag)
+ template<
+ class SinglePassRange
+ , class Value
+ , class Traversal
+ , class Reference
+ , class Difference
+ , class Buffer
+ >
+ typename any_range_type_generator<
+ const SinglePassRange
+ , Value
+ , Traversal
+ , Reference
+ , Difference
+ , Buffer
+ >::type
+ type_erase(const SinglePassRange& rng
+ , type_erased<
+ Value
+ , Traversal
+ , Reference
+ , Difference
+ , Buffer
+ > = type_erased<>()
+ )
         {
- typedef typename range_detail::any_range_generator<const SinglePassRange>::type range_t;
- return range_t(rng);
+ typedef typename any_range_type_generator<
+ const SinglePassRange
+ , Value
+ , Traversal
+ , Reference
+ , Difference
+ , Buffer
+ >::type range_type;
+
+ return range_type(boost::begin(rng), boost::end(rng));
         }
     }
 } // namespace boost

Modified: branches/release/boost/range/begin.hpp
==============================================================================
--- branches/release/boost/range/begin.hpp (original)
+++ branches/release/boost/range/begin.hpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -91,6 +91,11 @@
 } // namespace 'range_detail'
 #endif
 
+// Use a ADL namespace barrier to avoid ambiguity with other unqualified
+// calls. This is particularly important with C++0x encouraging
+// unqualified calls to begin/end.
+namespace range_adl_barrier
+{
 
 template< class T >
 inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type begin( T& r )
@@ -114,19 +119,25 @@
     return range_begin( r );
 }
 
+ } // namespace range_adl_barrier
 } // namespace boost
 
 #endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
 namespace boost
 {
- template< class T >
- inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type
- const_begin( const T& r )
+ namespace range_adl_barrier
     {
- return boost::begin( r );
- }
-}
+ template< class T >
+ inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type
+ const_begin( const T& r )
+ {
+ return boost::range_adl_barrier::begin( r );
+ }
+ } // namespace range_adl_barrier
+
+ using namespace range_adl_barrier;
+} // namespace boost
 
 #endif
 

Modified: branches/release/boost/range/concepts.hpp
==============================================================================
--- branches/release/boost/range/concepts.hpp (original)
+++ branches/release/boost/range/concepts.hpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -148,13 +148,16 @@
                 Iterator i2(++i);
                 boost::ignore_unused_variable_warning(i2);
 
- Iterator i3(i++);
- boost::ignore_unused_variable_warning(i3);
+ // deliberately we are loose with the postfix version for the single pass
+ // iterator due to the commonly poor adherence to the specification means that
+ // many algorithms would be unusable, whereas actually without the check they
+ // work
+ (void)(i++);
 
                 BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::reference r1(*i);
                 boost::ignore_unused_variable_warning(r1);
 
- BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::reference r2(*i++);
+ BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::reference r2(*(++i));
                 boost::ignore_unused_variable_warning(r2);
             }
         private:
@@ -178,6 +181,20 @@
                     BOOST_DEDUCED_TYPENAME ForwardIteratorConcept::traversal_category,
                     forward_traversal_tag
>));
+
+ BOOST_CONCEPT_USAGE(ForwardIteratorConcept)
+ {
+ // See the above note in the SinglePassIteratorConcept about the handling of the
+ // postfix increment. Since with forward and better iterators there is no need
+ // for a proxy, we can sensibly require that the dereference result
+ // is convertible to reference.
+ Iterator i2(i++);
+ boost::ignore_unused_variable_warning(i2);
+ BOOST_DEDUCED_TYPENAME boost::detail::iterator_traits<Iterator>::reference r(*(i++));
+ boost::ignore_unused_variable_warning(r);
+ }
+ private:
+ Iterator i;
 #endif
          };
 

Modified: branches/release/boost/range/detail/begin.hpp
==============================================================================
--- branches/release/boost/range/detail/begin.hpp (original)
+++ branches/release/boost/range/detail/begin.hpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -19,9 +19,9 @@
 # include <boost/range/value_type.hpp>
 #endif
 
-namespace boost
+namespace boost
 {
-
+
     namespace range_detail
     {
         template< typename T >
@@ -30,7 +30,7 @@
         //////////////////////////////////////////////////////////////////////
         // default
         //////////////////////////////////////////////////////////////////////
-
+
         template<>
         struct range_begin<std_container_>
         {
@@ -40,11 +40,11 @@
                 return c.begin();
             };
         };
-
+
         //////////////////////////////////////////////////////////////////////
         // pair
         //////////////////////////////////////////////////////////////////////
-
+
         template<>
         struct range_begin<std_pair_>
         {
@@ -54,11 +54,11 @@
                 return p.first;
             }
         };
-
+
         //////////////////////////////////////////////////////////////////////
         // array
         //////////////////////////////////////////////////////////////////////
-
+
         template<>
         struct range_begin<array_>
         {
@@ -78,14 +78,16 @@
         };
 
     } // namespace 'range_detail'
-
- template< typename C >
- inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
- begin( C& c )
+
+ namespace range_adl_barrier
     {
- return range_detail::range_begin< BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type >::fun( c );
+ template< typename C >
+ inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
+ begin( C& c )
+ {
+ return range_detail::range_begin< BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type >::fun( c );
+ }
     }
-
 } // namespace 'boost'
 
 

Modified: branches/release/boost/range/detail/end.hpp
==============================================================================
--- branches/release/boost/range/detail/end.hpp (original)
+++ branches/release/boost/range/detail/end.hpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -24,7 +24,7 @@
 # include <boost/range/detail/remove_extent.hpp>
 # endif
 
-namespace boost
+namespace boost
 {
     namespace range_detail
     {
@@ -34,39 +34,39 @@
         //////////////////////////////////////////////////////////////////////
         // default
         //////////////////////////////////////////////////////////////////////
-
+
         template<>
         struct range_end<std_container_>
         {
             template< typename C >
- static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
+ static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
             fun( C& c )
             {
                 return c.end();
             };
         };
-
+
         //////////////////////////////////////////////////////////////////////
         // pair
         //////////////////////////////////////////////////////////////////////
-
+
         template<>
         struct range_end<std_pair_>
         {
             template< typename P >
- static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<P>::type
+ static BOOST_RANGE_DEDUCED_TYPENAME range_iterator<P>::type
             fun( const P& p )
             {
                 return p.second;
             }
         };
-
+
         //////////////////////////////////////////////////////////////////////
         // array
         //////////////////////////////////////////////////////////////////////
-
+
         template<>
- struct range_end<array_>
+ struct range_end<array_>
         {
         #if !BOOST_WORKAROUND(BOOST_MSVC, < 1310)
             template< typename T, std::size_t sz >
@@ -82,16 +82,19 @@
             }
         #endif
         };
-
+
     } // namespace 'range_detail'
-
- template< typename C >
- inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
- end( C& c )
+
+ namespace range_adl_barrier
     {
- return range_detail::range_end< BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type >::fun( c );
- }
-
+ template< typename C >
+ inline BOOST_RANGE_DEDUCED_TYPENAME range_iterator<C>::type
+ end( C& c )
+ {
+ return range_detail::range_end< BOOST_RANGE_DEDUCED_TYPENAME range_detail::range<C>::type >::fun( c );
+ }
+ } // namespace range_adl_barrier
+
 } // namespace 'boost'
 
 # endif // VC6

Modified: branches/release/boost/range/end.hpp
==============================================================================
--- branches/release/boost/range/end.hpp (original)
+++ branches/release/boost/range/end.hpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -88,6 +88,9 @@
 } // namespace 'range_detail'
 #endif
 
+namespace range_adl_barrier
+{
+
 template< class T >
 inline BOOST_DEDUCED_TYPENAME range_iterator<T>::type end( T& r )
 {
@@ -110,22 +113,24 @@
     return range_end( r );
 }
 
+ } // namespace range_adl_barrier
 } // namespace 'boost'
 
-
-
 #endif // BOOST_NO_FUNCTION_TEMPLATE_ORDERING
 
-
 namespace boost
 {
- template< class T >
- inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type
- const_end( const T& r )
+ namespace range_adl_barrier
     {
- return boost::end( r );
- }
-}
+ template< class T >
+ inline BOOST_DEDUCED_TYPENAME range_iterator<const T>::type
+ const_end( const T& r )
+ {
+ return boost::range_adl_barrier::end( r );
+ }
+ } // namespace range_adl_barrier
+ using namespace range_adl_barrier;
+} // namespace boost
 
 #endif
 

Modified: branches/release/boost/range/iterator_range_core.hpp
==============================================================================
--- branches/release/boost/range/iterator_range_core.hpp (original)
+++ branches/release/boost/range/iterator_range_core.hpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,6 +27,7 @@
 #include <boost/range/iterator.hpp>
 #include <boost/range/difference_type.hpp>
 #include <boost/range/algorithm/equal.hpp>
+#include <boost/range/detail/safe_bool.hpp>
 #include <boost/utility/enable_if.hpp>
 #include <iterator>
 #include <algorithm>
@@ -81,7 +82,6 @@
 
         struct range_tag { };
         struct const_range_tag { };
-
     }
 
 // iterator range template class -----------------------------------------//
@@ -106,13 +106,14 @@
         template<class IteratorT>
         class iterator_range
         {
+ typedef range_detail::safe_bool< IteratorT iterator_range<IteratorT>::* > safe_bool_t;
         protected: // Used by sub_range
             //! implementation class
             typedef iterator_range_detail::iterator_range_impl<IteratorT> impl;
         public:
-
             //! this type
             typedef iterator_range<IteratorT> type;
+ typedef BOOST_DEDUCED_TYPENAME safe_bool_t::unspecified_bool_type unspecified_bool_type;
             //BOOST_BROKEN_COMPILER_TYPE_TRAITS_SPECIALIZATION(value_type);
 
             //! Encapsulated value type
@@ -238,18 +239,15 @@
                 return m_Begin == m_End;
             }
 
-#if BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564))
- operator bool() const
+ operator unspecified_bool_type() const
             {
- return !empty();
+ return safe_bool_t::to_unspecified_bool(m_Begin != m_End, &iterator_range::m_Begin);
             }
-#else
- typedef iterator (iterator_range::*unspecified_bool_type) () const;
- operator unspecified_bool_type() const
+
+ bool operator!() const
             {
- return empty() ? 0: &iterator_range::end;
+ return empty();
             }
-#endif
 
             bool equal( const iterator_range& r ) const
             {

Modified: branches/release/boost/range/size.hpp
==============================================================================
--- branches/release/boost/range/size.hpp (original)
+++ branches/release/boost/range/size.hpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -15,7 +15,7 @@
 # pragma once
 #endif
 
-#include <boost/iterator/iterator_categories.hpp>
+#include <boost/range/config.hpp>
 #include <boost/range/begin.hpp>
 #include <boost/range/end.hpp>
 #include <boost/range/difference_type.hpp>
@@ -25,44 +25,25 @@
 {
     namespace range_detail
     {
- template< class SinglePassRange >
+ template<class SinglePassRange>
         inline BOOST_DEDUCED_TYPENAME range_difference<SinglePassRange>::type
- size_impl(const SinglePassRange& rng, boost::single_pass_traversal_tag)
- {
- typedef BOOST_DEDUCED_TYPENAME range_difference<SinglePassRange>::type diff_t;
-
- // A compilation error here will often indicate that an algorithm
- // is attempting to use boost::size(rng) for a range that is not a
- // model of the RandomAccessRange Concept and does not have a
- // member size() function.
- // The solution to this issue is to add a range_calculate_size()
- // function for the range type that will be found via ADL.
- return static_cast<diff_t>(rng.size());
- }
-
- template< class SinglePassRange >
- inline BOOST_DEDUCED_TYPENAME range_difference<SinglePassRange>::type
- size_impl(const SinglePassRange& rng, boost::random_access_traversal_tag)
+ range_calculate_size(const SinglePassRange& rng)
         {
             BOOST_ASSERT( (boost::end(rng) - boost::begin(rng)) >= 0 &&
                           "reachability invariant broken!" );
             return boost::end(rng) - boost::begin(rng);
         }
- } // namespace range_detail
-
- template<class SinglePassRange>
- inline BOOST_DEDUCED_TYPENAME range_difference<SinglePassRange>::type
- range_calculate_size(const SinglePassRange& rng)
- {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<const SinglePassRange>::type iter_t;
- typedef BOOST_DEDUCED_TYPENAME iterator_traversal<iter_t>::type traversal_tag;
- return range_detail::size_impl(rng, traversal_tag());
     }
 
     template<class SinglePassRange>
     inline BOOST_DEDUCED_TYPENAME range_difference<SinglePassRange>::type
     size(const SinglePassRange& rng)
     {
+#if !BOOST_WORKAROUND(__BORLANDC__, BOOST_TESTED_AT(0x564)) && \
+ !BOOST_WORKAROUND(__GNUC__, < 3) \
+ /**/
+ using namespace range_detail;
+#endif
         return range_calculate_size(rng);
     }
 

Modified: branches/release/libs/range/doc/boost_range.qbk
==============================================================================
--- branches/release/libs/range/doc/boost_range.qbk (original)
+++ branches/release/libs/range/doc/boost_range.qbk 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -78,6 +78,7 @@
 [def __range_adaptors_reversed__ [link range.reference.adaptors.reference.reversed reversed]]
 [def __range_adaptors_sliced__ [link range.reference.adaptors.reference.sliced sliced]]
 [def __range_adaptors_strided__ [link range.reference.adaptors.reference.strided strided]]
+[def __range_adaptors_type_erased__ [link range.reference.adaptors.reference.type_erased type_erased]]
 [def __range_adaptors_tokenized__ [link range.reference.adaptors.reference.tokenized tokenized]]
 [def __range_adaptors_transformed__ [link range.reference.adaptors.reference.transformed transformed]]
 [def __range_adaptors_uniqued__ [link range.reference.adaptors.reference.uniqued uniqued]]
@@ -174,6 +175,7 @@
 
 [def __sgi_inner_product__ [@http://www.sgi.com/tech/stl/inner_product.html inner_product]]
 [def __sgi_partial_sum__ [@http://www.sgi.com/tech/stl/partial_sum.html partial_sum]]
+[def __type_erasure_article__ [@http://www.artima.com/cppsource/type_erasure.html type erasure article]]
 
 Boost.Range is a collection of concepts and utilities, range-based algorithms,
 as well as range adaptors that allow for efficient and expressive code.

Modified: branches/release/libs/range/doc/html/index.html
==============================================================================
--- branches/release/libs/range/doc/html/index.html (original)
+++ branches/release/libs/range/doc/html/index.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -30,7 +30,7 @@
 </h3></div></div>
 <div><p class="copyright">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves</p></div>
 <div><div class="legalnotice">
-<a name="id618509"></a><p>
+<a name="id607962"></a><p>
         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)
       </p>
@@ -82,6 +82,7 @@
 </dl></dd>
 <dt><span class="section">Provided Ranges</span></dt>
 <dd><dl>
+<dt><span class="section">any_range</span></dt>
 <dt><span class="section">counting_range</span></dt>
 <dt><span class="section">istream_range</span></dt>
 <dt><span class="section">irange</span></dt>
@@ -143,7 +144,7 @@
   </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"><p><small>Last revised: December 23, 2010 at 17:58:25 GMT</small></p></td>
+<td align="left"><p><small>Last revised: January 01, 2011 at 16:31:27 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: branches/release/libs/range/doc/html/quickbook_HTML.manifest
==============================================================================
--- branches/release/libs/range/doc/html/quickbook_HTML.manifest (original)
+++ branches/release/libs/range/doc/html/quickbook_HTML.manifest 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -30,6 +30,7 @@
 range/reference/adaptors/reference/reversed.html
 range/reference/adaptors/reference/sliced.html
 range/reference/adaptors/reference/strided.html
+range/reference/adaptors/reference/type_erased.html
 range/reference/adaptors/reference/tokenized.html
 range/reference/adaptors/reference/transformed.html
 range/reference/adaptors/reference/uniqued.html
@@ -118,6 +119,7 @@
 range/reference/algorithms/numeric/inner_product.html
 range/reference/algorithms/numeric/partial_sum.html
 range/reference/ranges.html
+range/reference/ranges/any_range.html
 range/reference/ranges/counting_range.html
 range/reference/ranges/istream_range.html
 range/reference/ranges/irange.html

Modified: branches/release/libs/range/doc/html/range/concepts/bidirectional_range.html
==============================================================================
--- branches/release/libs/range/doc/html/range/concepts/bidirectional_range.html (original)
+++ branches/release/libs/range/doc/html/range/concepts/bidirectional_range.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.concepts.bidirectional_range"></a><a class="link" href="bidirectional_range.html" title="Bidirectional Range">Bidirectional Range</a>
 </h3></div></div></div>
 <a name="range.concepts.bidirectional_range.notation"></a><h5>
-<a name="id660804"></a>
+<a name="id650256"></a>
         <a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.notation">Notation</a>
       </h5>
 <div class="informaltable"><table class="table">
@@ -65,7 +65,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.bidirectional_range.description"></a><h5>
-<a name="id660892"></a>
+<a name="id650345"></a>
         <a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.description">Description</a>
       </h5>
 <p>
@@ -75,7 +75,7 @@
         Traversal Iterator</a>.
       </p>
 <a name="range.concepts.bidirectional_range.refinement_of"></a><h5>
-<a name="id660950"></a>
+<a name="id650403"></a>
         <a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.refinement_of">Refinement
         of</a>
       </h5>
@@ -83,7 +83,7 @@
         <a class="link" href="forward_range.html" title="Forward Range">Forward Range</a>
       </p>
 <a name="range.concepts.bidirectional_range.associated_types"></a><h5>
-<a name="id660973"></a>
+<a name="id650426"></a>
         <a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.associated_types">Associated
         types</a>
       </h5>
@@ -136,7 +136,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.bidirectional_range.valid_expressions"></a><h5>
-<a name="id661129"></a>
+<a name="id650581"></a>
         <a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.valid_expressions">Valid
         expressions</a>
       </h5>
@@ -221,7 +221,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.bidirectional_range.complexity_guarantees"></a><h5>
-<a name="id661589"></a>
+<a name="id651042"></a>
         <a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.complexity_guarantees">Complexity
         guarantees</a>
       </h5>
@@ -232,7 +232,7 @@
         <a class="link" href="forward_range.html" title="Forward Range">Forward Range</a>.
       </p>
 <a name="range.concepts.bidirectional_range.invariants"></a><h5>
-<a name="id661729"></a>
+<a name="id651182"></a>
         <a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.invariants">Invariants</a>
       </h5>
 <div class="informaltable"><table class="table">
@@ -272,7 +272,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.bidirectional_range.see_also"></a><h5>
-<a name="id661978"></a>
+<a name="id651431"></a>
         <a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.see_also">See also</a>
       </h5>
 <p>

Modified: branches/release/libs/range/doc/html/range/concepts/concept_checking.html
==============================================================================
--- branches/release/libs/range/doc/html/range/concepts/concept_checking.html (original)
+++ branches/release/libs/range/doc/html/range/concepts/concept_checking.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -79,7 +79,7 @@
           </li>
 </ul></div>
 <a name="range.concepts.concept_checking.see_also"></a><h5>
-<a name="id662924"></a>
+<a name="id652377"></a>
         <a class="link" href="concept_checking.html#range.concepts.concept_checking.see_also">See also</a>
       </h5>
 <p>

Modified: branches/release/libs/range/doc/html/range/concepts/forward_range.html
==============================================================================
--- branches/release/libs/range/doc/html/range/concepts/forward_range.html (original)
+++ branches/release/libs/range/doc/html/range/concepts/forward_range.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.concepts.forward_range"></a><a class="link" href="forward_range.html" title="Forward Range">Forward Range</a>
 </h3></div></div></div>
 <a name="range.concepts.forward_range.notation"></a><h5>
-<a name="id660433"></a>
+<a name="id649886"></a>
         <a class="link" href="forward_range.html#range.concepts.forward_range.notation">Notation</a>
       </h5>
 <div class="informaltable"><table class="table">
@@ -65,7 +65,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.forward_range.description"></a><h5>
-<a name="id660521"></a>
+<a name="id649974"></a>
         <a class="link" href="forward_range.html#range.concepts.forward_range.description">Description</a>
       </h5>
 <p>
@@ -73,14 +73,14 @@
         Traversal Iterator</a>.
       </p>
 <a name="range.concepts.forward_range.refinement_of"></a><h5>
-<a name="id660586"></a>
+<a name="id650039"></a>
         <a class="link" href="forward_range.html#range.concepts.forward_range.refinement_of">Refinement of</a>
       </h5>
 <p>
         <a class="link" href="single_pass_range.html" title="Single Pass Range">Single Pass Range</a>
       </p>
 <a name="range.concepts.forward_range.associated_types"></a><h5>
-<a name="id660609"></a>
+<a name="id650062"></a>
         <a class="link" href="forward_range.html#range.concepts.forward_range.associated_types">Associated
         types</a>
       </h5>
@@ -132,7 +132,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.forward_range.see_also"></a><h5>
-<a name="id660758"></a>
+<a name="id650211"></a>
         <a class="link" href="forward_range.html#range.concepts.forward_range.see_also">See also</a>
       </h5>
 <p>

Modified: branches/release/libs/range/doc/html/range/concepts/random_access_range.html
==============================================================================
--- branches/release/libs/range/doc/html/range/concepts/random_access_range.html (original)
+++ branches/release/libs/range/doc/html/range/concepts/random_access_range.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.concepts.random_access_range"></a><a class="link" href="random_access_range.html" title="Random Access Range">Random Access Range</a>
 </h3></div></div></div>
 <a name="range.concepts.random_access_range.description"></a><h5>
-<a name="id662025"></a>
+<a name="id651477"></a>
         <a class="link" href="random_access_range.html#range.concepts.random_access_range.description">Description</a>
       </h5>
 <p>
@@ -35,7 +35,7 @@
         Access Traversal Iterator</a>.
       </p>
 <a name="range.concepts.random_access_range.refinement_of"></a><h5>
-<a name="id662090"></a>
+<a name="id651543"></a>
         <a class="link" href="random_access_range.html#range.concepts.random_access_range.refinement_of">Refinement
         of</a>
       </h5>
@@ -43,7 +43,7 @@
         <a class="link" href="bidirectional_range.html" title="Bidirectional Range">Bidirectional Range</a>
       </p>
 <a name="range.concepts.random_access_range.valid_expressions"></a><h5>
-<a name="id662113"></a>
+<a name="id651566"></a>
         <a class="link" href="random_access_range.html#range.concepts.random_access_range.valid_expressions">Valid
         expressions</a>
       </h5>
@@ -89,7 +89,7 @@
 </tr></tbody>
 </table></div>
 <a name="range.concepts.random_access_range.expression_semantics"></a><h5>
-<a name="id662251"></a>
+<a name="id651704"></a>
         <a class="link" href="random_access_range.html#range.concepts.random_access_range.expression_semantics">Expression
         semantics</a>
       </h5>
@@ -139,7 +139,7 @@
 </tr></tbody>
 </table></div>
 <a name="range.concepts.random_access_range.complexity_guarantees"></a><h5>
-<a name="id662466"></a>
+<a name="id651919"></a>
         <a class="link" href="random_access_range.html#range.concepts.random_access_range.complexity_guarantees">Complexity
         guarantees</a>
       </h5>
@@ -147,7 +147,7 @@
         <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">size</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code> completes in amortized constant time.
       </p>
 <a name="range.concepts.random_access_range.invariants"></a><h5>
-<a name="id662514"></a>
+<a name="id651967"></a>
         <a class="link" href="random_access_range.html#range.concepts.random_access_range.invariants">Invariants</a>
       </h5>
 <div class="informaltable"><table class="table">

Modified: branches/release/libs/range/doc/html/range/concepts/single_pass_range.html
==============================================================================
--- branches/release/libs/range/doc/html/range/concepts/single_pass_range.html (original)
+++ branches/release/libs/range/doc/html/range/concepts/single_pass_range.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.concepts.single_pass_range"></a><a class="link" href="single_pass_range.html" title="Single Pass Range">Single Pass Range</a>
 </h3></div></div></div>
 <a name="range.concepts.single_pass_range.notation"></a><h5>
-<a name="id659140"></a>
+<a name="id648593"></a>
         <a class="link" href="single_pass_range.html#range.concepts.single_pass_range.notation">Notation</a>
       </h5>
 <div class="informaltable"><table class="table">
@@ -65,7 +65,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.single_pass_range.description"></a><h5>
-<a name="id659233"></a>
+<a name="id648686"></a>
         <a class="link" href="single_pass_range.html#range.concepts.single_pass_range.description">Description</a>
       </h5>
 <p>
@@ -73,7 +73,7 @@
         Pass Iterator</a>.
       </p>
 <a name="range.concepts.single_pass_range.associated_types"></a><h5>
-<a name="id659298"></a>
+<a name="id648751"></a>
         <a class="link" href="single_pass_range.html#range.concepts.single_pass_range.associated_types">Associated
         types</a>
       </h5>
@@ -126,7 +126,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.single_pass_range.valid_expressions"></a><h5>
-<a name="id659461"></a>
+<a name="id648914"></a>
         <a class="link" href="single_pass_range.html#range.concepts.single_pass_range.valid_expressions">Valid
         expressions</a>
       </h5>
@@ -198,7 +198,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.single_pass_range.expression_semantics"></a><h5>
-<a name="id659780"></a>
+<a name="id649233"></a>
         <a class="link" href="single_pass_range.html#range.concepts.single_pass_range.expression_semantics">Expression
         semantics</a>
       </h5>
@@ -266,7 +266,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.single_pass_range.complexity_guarantees"></a><h5>
-<a name="id660037"></a>
+<a name="id649490"></a>
         <a class="link" href="single_pass_range.html#range.concepts.single_pass_range.complexity_guarantees">Complexity
         guarantees</a>
       </h5>
@@ -276,7 +276,7 @@
         constant time.
       </p>
 <a name="range.concepts.single_pass_range.invariants"></a><h5>
-<a name="id660114"></a>
+<a name="id649567"></a>
         <a class="link" href="single_pass_range.html#range.concepts.single_pass_range.invariants">Invariants</a>
       </h5>
 <div class="informaltable"><table class="table">
@@ -316,7 +316,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.single_pass_range.see_also"></a><h5>
-<a name="id660370"></a>
+<a name="id649823"></a>
         <a class="link" href="single_pass_range.html#range.concepts.single_pass_range.see_also">See also</a>
       </h5>
 <p>

Modified: branches/release/libs/range/doc/html/range/history_ack.html
==============================================================================
--- branches/release/libs/range/doc/html/range/history_ack.html (original)
+++ branches/release/libs/range/doc/html/range/history_ack.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -26,7 +26,7 @@
 <a name="range.history_ack"></a><a class="link" href="history_ack.html" title="History and Acknowledgement">History and Acknowledgement</a>
 </h2></div></div></div>
 <a name="range.history_ack.version_1___before_boost_1_43"></a><h4>
-<a name="id793098"></a>
+<a name="id786758"></a>
       <a class="link" href="history_ack.html#range.history_ack.version_1___before_boost_1_43">Version 1 -
       before Boost 1.43</a>
     </h4>
@@ -79,7 +79,7 @@
       The concept checks and their documentation was provided by Daniel Walker.
     </p>
 <a name="range.history_ack.version_2___boost_1_43_and_beyond"></a><h4>
-<a name="id793199"></a>
+<a name="id786859"></a>
       <a class="link" href="history_ack.html#range.history_ack.version_2___boost_1_43_and_beyond">Version
       2 - Boost 1.43 and beyond</a>
     </h4>

Modified: branches/release/libs/range/doc/html/range/introduction.html
==============================================================================
--- branches/release/libs/range/doc/html/range/introduction.html (original)
+++ branches/release/libs/range/doc/html/range/introduction.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -70,7 +70,7 @@
         </li>
 </ul></div>
 <a name="range.introduction.example___iterate_over_the_values_in_a_map"></a><h4>
-<a name="id617787"></a>
+<a name="id607240"></a>
       <a class="link" href="introduction.html#range.introduction.example___iterate_over_the_values_in_a_map">Example
       - Iterate over the values in a map</a>
     </h4>
@@ -84,7 +84,7 @@
 <p>
     </p>
 <a name="range.introduction.example___iterate_over_the_keys_in_a_map"></a><h4>
-<a name="id617908"></a>
+<a name="id607360"></a>
       <a class="link" href="introduction.html#range.introduction.example___iterate_over_the_keys_in_a_map">Example
       - Iterate over the keys in a map</a>
     </h4>
@@ -98,7 +98,7 @@
 <p>
     </p>
 <a name="range.introduction.example___push_the_even_values_from_a_map_in_reverse_order_into_the_container__code__phrase_role__identifier__target__phrase___code_"></a><h4>
-<a name="id658861"></a>
+<a name="id648314"></a>
       <a class="link" href="introduction.html#range.introduction.example___push_the_even_values_from_a_map_in_reverse_order_into_the_container__code__phrase_role__identifier__target__phrase___code_">Example
       - Push the even values from a map in reverse order into the container <code class="computeroutput"><span class="identifier">target</span></code></a>
     </h4>

Modified: branches/release/libs/range/doc/html/range/mfc_atl.html
==============================================================================
--- branches/release/libs/range/doc/html/range/mfc_atl.html (original)
+++ branches/release/libs/range/doc/html/range/mfc_atl.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -34,7 +34,7 @@
 <dt><span class="section">References</span></dt>
 </dl></div>
 <a name="range.mfc_atl.introduction"></a><h5>
-<a name="id786627"></a>
+<a name="id780286"></a>
       <a class="link" href="mfc_atl.html#range.mfc_atl.introduction">Introduction</a>
     </h5>
 <p>
@@ -100,7 +100,7 @@
 </tbody>
 </table></div>
 <a name="range.mfc_atl.overview"></a><h5>
-<a name="id786761"></a>
+<a name="id780420"></a>
       <a class="link" href="mfc_atl.html#range.mfc_atl.overview">Overview</a>
     </h5>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference.html (original)
+++ branches/release/libs/range/doc/html/range/reference.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -58,6 +58,7 @@
 </dl></dd>
 <dt><span class="section">Provided Ranges</span></dt>
 <dd><dl>
+<dt><span class="section">any_range</span></dt>
 <dt><span class="section">counting_range</span></dt>
 <dt><span class="section">istream_range</span></dt>
 <dt><span class="section">irange</span></dt>

Modified: branches/release/libs/range/doc/html/range/reference/adaptors/introduction.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/adaptors/introduction.html (original)
+++ branches/release/libs/range/doc/html/range/reference/adaptors/introduction.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -122,7 +122,7 @@
           situations, you will really appreciate the succinctness of <code class="computeroutput"><span class="keyword">operator</span><span class="special">|()</span></code>.
         </p>
 <a name="range.reference.adaptors.introduction.composition_of_adaptors"></a><h6>
-<a name="id670426"></a>
+<a name="id659630"></a>
           <a class="link" href="introduction.html#range.reference.adaptors.introduction.composition_of_adaptors">Composition
           of Adaptors</a>
         </h6>
@@ -169,7 +169,7 @@
           is the design solution to this problem.
         </p>
 <a name="range.reference.adaptors.introduction.range_adaptor_alternative_to_copy_if_algorithm"></a><h6>
-<a name="id670736"></a>
+<a name="id659939"></a>
           <a class="link" href="introduction.html#range.reference.adaptors.introduction.range_adaptor_alternative_to_copy_if_algorithm">Range
           Adaptor alternative to copy_if algorithm</a>
         </h6>
@@ -186,7 +186,7 @@
 <p>
         </p>
 <a name="range.reference.adaptors.introduction.range_adaptor_alternative_to_count_if_algorithm"></a><h6>
-<a name="id670900"></a>
+<a name="id660104"></a>
           <a class="link" href="introduction.html#range.reference.adaptors.introduction.range_adaptor_alternative_to_count_if_algorithm">Range
           Adaptor alternative to count_if algorithm</a>
         </h6>

Modified: branches/release/libs/range/doc/html/range/reference/adaptors/reference.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/adaptors/reference.html (original)
+++ branches/release/libs/range/doc/html/range/reference/adaptors/reference.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -39,6 +39,7 @@
 <dt><span class="section">reversed</span></dt>
 <dt><span class="section">sliced</span></dt>
 <dt><span class="section">strided</span></dt>
+<dt><span class="section">type_erased</span></dt>
 <dt><span class="section">tokenized</span></dt>
 <dt><span class="section">transformed</span></dt>
 <dt><span class="section">uniqued</span></dt>

Modified: branches/release/libs/range/doc/html/range/reference/adaptors/reference/strided.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/adaptors/reference/strided.html (original)
+++ branches/release/libs/range/doc/html/range/reference/adaptors/reference/strided.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="sliced.html" title="sliced">
-<link rel="next" href="tokenized.html" title="tokenized">
+<link rel="next" href="type_erased.html" title="type_erased">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="sliced.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tokenized.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="sliced.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_erased.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h5 class="title">
@@ -77,9 +77,7 @@
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
 <li class="listitem">
                 <span class="bold"><strong>Precondition:</strong></span> <code class="computeroutput"><span class="number">0</span>
- <span class="special">&lt;=</span> <span class="identifier">n</span></code>
- and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">size</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
- is a valid expression.
+ <span class="special">&lt;=</span> <span class="identifier">n</span></code>.
               </li>
 <li class="listitem">
                 <span class="bold"><strong>Returns:</strong></span> A new range based on <code class="computeroutput"><span class="identifier">rng</span></code> where traversal is performed
@@ -145,7 +143,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="sliced.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="tokenized.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="sliced.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="type_erased.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/release/libs/range/doc/html/range/reference/adaptors/reference/tokenized.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/adaptors/reference/tokenized.html (original)
+++ branches/release/libs/range/doc/html/range/reference/adaptors/reference/tokenized.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
 <link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="up" href="../reference.html" title="Reference">
-<link rel="prev" href="strided.html" title="strided">
+<link rel="prev" href="type_erased.html" title="type_erased">
 <link rel="next" href="transformed.html" title="transformed">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,7 +20,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="strided.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transformed.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="type_erased.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transformed.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h5 class="title">
@@ -149,7 +149,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="strided.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transformed.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="type_erased.html"><img src="../../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="transformed.html"><img src="../../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/heap/make_heap.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/heap/make_heap.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/heap/make_heap.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.heap.make_heap"></a><a class="link" href="make_heap.html" title="make_heap">make_heap</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.heap.make_heap.prototype"></a><h6>
-<a name="id749200"></a>
+<a name="id741272"></a>
             <a class="link" href="make_heap.html#range.reference.algorithms.heap.make_heap.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.heap.make_heap.description"></a><h6>
-<a name="id749575"></a>
+<a name="id741648"></a>
             <a class="link" href="make_heap.html#range.reference.algorithms.heap.make_heap.description">Description</a>
           </h6>
 <p>
@@ -60,14 +60,14 @@
             the predicate versions.
           </p>
 <a name="range.reference.algorithms.heap.make_heap.definition"></a><h6>
-<a name="id749649"></a>
+<a name="id741722"></a>
             <a class="link" href="make_heap.html#range.reference.algorithms.heap.make_heap.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">heap_algorithm</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.heap.make_heap.requirements"></a><h6>
-<a name="id749718"></a>
+<a name="id741791"></a>
             <a class="link" href="make_heap.html#range.reference.algorithms.heap.make_heap.requirements">Requirements</a>
           </h6>
 <p>
@@ -118,7 +118,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.heap.make_heap.complexity"></a><h6>
-<a name="id749966"></a>
+<a name="id742039"></a>
             <a class="link" href="make_heap.html#range.reference.algorithms.heap.make_heap.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/heap/pop_heap.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/heap/pop_heap.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/heap/pop_heap.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.heap.pop_heap"></a><a class="link" href="pop_heap.html" title="pop_heap">pop_heap</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.heap.pop_heap.prototype"></a><h6>
-<a name="id748194"></a>
+<a name="id740266"></a>
             <a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.heap.pop_heap.description"></a><h6>
-<a name="id748570"></a>
+<a name="id740642"></a>
             <a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.description">Description</a>
           </h6>
 <p>
@@ -62,14 +62,14 @@
             the predicate versions.
           </p>
 <a name="range.reference.algorithms.heap.pop_heap.definition"></a><h6>
-<a name="id748724"></a>
+<a name="id740796"></a>
             <a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">heap_algorithm</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.heap.pop_heap.requirements"></a><h6>
-<a name="id748794"></a>
+<a name="id740866"></a>
             <a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.requirements">Requirements</a>
           </h6>
 <p>
@@ -120,7 +120,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.heap.pop_heap.precondition_"></a><h6>
-<a name="id749041"></a>
+<a name="id741114"></a>
             <a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.precondition_">Precondition:</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -132,7 +132,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.heap.pop_heap.complexity"></a><h6>
-<a name="id749116"></a>
+<a name="id741189"></a>
             <a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/heap/push_heap.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/heap/push_heap.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/heap/push_heap.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.heap.push_heap"></a><a class="link" href="push_heap.html" title="push_heap">push_heap</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.heap.push_heap.prototype"></a><h6>
-<a name="id747150"></a>
+<a name="id739222"></a>
             <a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.heap.push_heap.description"></a><h6>
-<a name="id747526"></a>
+<a name="id739596"></a>
             <a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.description">Description</a>
           </h6>
 <p>
@@ -62,14 +62,14 @@
             the predicate versions.
           </p>
 <a name="range.reference.algorithms.heap.push_heap.definition"></a><h6>
-<a name="id747683"></a>
+<a name="id739755"></a>
             <a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">heap_algorithm</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.heap.push_heap.requirements"></a><h6>
-<a name="id747753"></a>
+<a name="id739825"></a>
             <a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.requirements">Requirements</a>
           </h6>
 <p>
@@ -120,7 +120,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.heap.push_heap.precondition_"></a><h6>
-<a name="id748001"></a>
+<a name="id740073"></a>
             <a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.precondition_">Precondition:</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -132,7 +132,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.heap.push_heap.complexity"></a><h6>
-<a name="id748121"></a>
+<a name="id740193"></a>
             <a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/heap/sort_heap.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/heap/sort_heap.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/heap/sort_heap.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.heap.sort_heap"></a><a class="link" href="sort_heap.html" title="sort_heap">sort_heap</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.heap.sort_heap.prototype"></a><h6>
-<a name="id750042"></a>
+<a name="id742115"></a>
             <a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.heap.sort_heap.description"></a><h6>
-<a name="id750417"></a>
+<a name="id742491"></a>
             <a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.description">Description</a>
           </h6>
 <p>
@@ -61,14 +61,14 @@
             the predicate versions.
           </p>
 <a name="range.reference.algorithms.heap.sort_heap.definition"></a><h6>
-<a name="id750482"></a>
+<a name="id742555"></a>
             <a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">heap_algorithm</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.heap.sort_heap.requirements"></a><h6>
-<a name="id750553"></a>
+<a name="id742626"></a>
             <a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.requirements">Requirements</a>
           </h6>
 <p>
@@ -119,14 +119,14 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.heap.sort_heap.precondition_"></a><h6>
-<a name="id750800"></a>
+<a name="id742873"></a>
             <a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.precondition_">Precondition:</a>
           </h6>
 <p>
             <code class="computeroutput"><span class="identifier">rng</span></code> is a heap.
           </p>
 <a name="range.reference.algorithms.heap.sort_heap.complexity"></a><h6>
-<a name="id750833"></a>
+<a name="id742906"></a>
             <a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/copy.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/copy.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/copy.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.copy"></a><a class="link" href="copy.html" title="copy">copy</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.copy.prototype"></a><h6>
-<a name="id692133"></a>
+<a name="id684203"></a>
             <a class="link" href="copy.html#range.reference.algorithms.mutating.copy.prototype">Prototype</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.copy.description"></a><h6>
-<a name="id692261"></a>
+<a name="id684330"></a>
             <a class="link" href="copy.html#range.reference.algorithms.mutating.copy.description">Description</a>
           </h6>
 <p>
@@ -50,14 +50,14 @@
             <span class="identifier">distance</span><span class="special">(</span><span class="identifier">source_rng</span><span class="special">)</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.copy.definition"></a><h6>
-<a name="id692389"></a>
+<a name="id684459"></a>
             <a class="link" href="copy.html#range.reference.algorithms.mutating.copy.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">copy</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.copy.requirements"></a><h6>
-<a name="id692458"></a>
+<a name="id684528"></a>
             <a class="link" href="copy.html#range.reference.algorithms.mutating.copy.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -78,7 +78,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.copy.precondition_"></a><h6>
-<a name="id692568"></a>
+<a name="id684638"></a>
             <a class="link" href="copy.html#range.reference.algorithms.mutating.copy.precondition_">Precondition:</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -92,7 +92,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.copy.complexity"></a><h6>
-<a name="id692674"></a>
+<a name="id684744"></a>
             <a class="link" href="copy.html#range.reference.algorithms.mutating.copy.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/copy_backward.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/copy_backward.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/copy_backward.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.copy_backward"></a><a class="link" href="copy_backward.html" title="copy_backward">copy_backward</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.copy_backward.prototype"></a><h6>
-<a name="id692738"></a>
+<a name="id684808"></a>
             <a class="link" href="copy_backward.html#range.reference.algorithms.mutating.copy_backward.prototype">Prototype</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.copy_backward.description"></a><h6>
-<a name="id692866"></a>
+<a name="id684936"></a>
             <a class="link" href="copy_backward.html#range.reference.algorithms.mutating.copy_backward.description">Description</a>
           </h6>
 <p>
@@ -59,14 +59,14 @@
             denotes the <span class="bold"><strong>end</strong></span> of the output sequence.
           </p>
 <a name="range.reference.algorithms.mutating.copy_backward.definition"></a><h6>
-<a name="id693020"></a>
+<a name="id685090"></a>
             <a class="link" href="copy_backward.html#range.reference.algorithms.mutating.copy_backward.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">copy_backward</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.copy_backward.requirements"></a><h6>
-<a name="id693090"></a>
+<a name="id685160"></a>
             <a class="link" href="copy_backward.html#range.reference.algorithms.mutating.copy_backward.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -87,7 +87,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.copy_backward.precondition_"></a><h6>
-<a name="id693200"></a>
+<a name="id685270"></a>
             <a class="link" href="copy_backward.html#range.reference.algorithms.mutating.copy_backward.precondition_">Precondition:</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -101,7 +101,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.copy_backward.complexity"></a><h6>
-<a name="id693308"></a>
+<a name="id685378"></a>
             <a class="link" href="copy_backward.html#range.reference.algorithms.mutating.copy_backward.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/fill.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/fill.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/fill.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.fill"></a><a class="link" href="fill.html" title="fill">fill</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.fill.prototype"></a><h6>
-<a name="id693373"></a>
+<a name="id685443"></a>
             <a class="link" href="fill.html#range.reference.algorithms.mutating.fill.prototype">Prototype</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.fill.description"></a><h6>
-<a name="id693511"></a>
+<a name="id685579"></a>
             <a class="link" href="fill.html#range.reference.algorithms.mutating.fill.description">Description</a>
           </h6>
 <p>
@@ -48,14 +48,14 @@
             in the range <code class="computeroutput"><span class="identifier">rng</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.fill.definition"></a><h6>
-<a name="id693564"></a>
+<a name="id685634"></a>
             <a class="link" href="fill.html#range.reference.algorithms.mutating.fill.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">fill</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.fill.requirements"></a><h6>
-<a name="id693634"></a>
+<a name="id685703"></a>
             <a class="link" href="fill.html#range.reference.algorithms.mutating.fill.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -78,7 +78,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.fill.complexity"></a><h6>
-<a name="id693754"></a>
+<a name="id685823"></a>
             <a class="link" href="fill.html#range.reference.algorithms.mutating.fill.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/fill_n.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/fill_n.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/fill_n.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.fill_n"></a><a class="link" href="fill_n.html" title="fill_n">fill_n</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.fill_n.prototype"></a><h6>
-<a name="id693816"></a>
+<a name="id685887"></a>
             <a class="link" href="fill_n.html#range.reference.algorithms.mutating.fill_n.prototype">Prototype</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.fill_n.description"></a><h6>
-<a name="id693986"></a>
+<a name="id686056"></a>
             <a class="link" href="fill_n.html#range.reference.algorithms.mutating.fill_n.description">Description</a>
           </h6>
 <p>
@@ -47,14 +47,14 @@
             <code class="computeroutput"><span class="identifier">val</span></code> to <code class="computeroutput"><span class="identifier">n</span></code> elements in the range <code class="computeroutput"><span class="identifier">rng</span></code> begining with <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.fill_n.definition"></a><h6>
-<a name="id694082"></a>
+<a name="id686152"></a>
             <a class="link" href="fill_n.html#range.reference.algorithms.mutating.fill_n.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">fill_n</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.fill_n.requirements"></a><h6>
-<a name="id694152"></a>
+<a name="id686222"></a>
             <a class="link" href="fill_n.html#range.reference.algorithms.mutating.fill_n.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -77,7 +77,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.fill_n.complexity"></a><h6>
-<a name="id694271"></a>
+<a name="id686341"></a>
             <a class="link" href="fill_n.html#range.reference.algorithms.mutating.fill_n.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/generate.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/generate.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/generate.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.generate"></a><a class="link" href="generate.html" title="generate">generate</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.generate.prototype"></a><h6>
-<a name="id694321"></a>
+<a name="id686391"></a>
             <a class="link" href="generate.html#range.reference.algorithms.mutating.generate.prototype">Prototype</a>
           </h6>
 <p>
@@ -42,7 +42,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.generate.description"></a><h6>
-<a name="id694559"></a>
+<a name="id686629"></a>
             <a class="link" href="generate.html#range.reference.algorithms.mutating.generate.description">Description</a>
           </h6>
 <p>
@@ -52,14 +52,14 @@
             Returns the resultant range.
           </p>
 <a name="range.reference.algorithms.mutating.generate.definition"></a><h6>
-<a name="id694619"></a>
+<a name="id686689"></a>
             <a class="link" href="generate.html#range.reference.algorithms.mutating.generate.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">generate</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.generate.requirements"></a><h6>
-<a name="id694688"></a>
+<a name="id686758"></a>
             <a class="link" href="generate.html#range.reference.algorithms.mutating.generate.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -83,7 +83,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.generate.precondition_"></a><h6>
-<a name="id694819"></a>
+<a name="id686889"></a>
             <a class="link" href="generate.html#range.reference.algorithms.mutating.generate.precondition_">Precondition:</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -97,7 +97,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.generate.complexity"></a><h6>
-<a name="id694924"></a>
+<a name="id686995"></a>
             <a class="link" href="generate.html#range.reference.algorithms.mutating.generate.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/inplace_merge.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/inplace_merge.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/inplace_merge.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.inplace_merge"></a><a class="link" href="inplace_merge.html" title="inplace_merge">inplace_merge</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.inplace_merge.prototype"></a><h6>
-<a name="id694988"></a>
+<a name="id687058"></a>
             <a class="link" href="inplace_merge.html#range.reference.algorithms.mutating.inplace_merge.prototype">Prototype</a>
           </h6>
 <p>
@@ -58,7 +58,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.inplace_merge.description"></a><h6>
-<a name="id695546"></a>
+<a name="id687615"></a>
             <a class="link" href="inplace_merge.html#range.reference.algorithms.mutating.inplace_merge.description">Description</a>
           </h6>
 <p>
@@ -71,14 +71,14 @@
             input range is preserved.
           </p>
 <a name="range.reference.algorithms.mutating.inplace_merge.definition"></a><h6>
-<a name="id695763"></a>
+<a name="id687833"></a>
             <a class="link" href="inplace_merge.html#range.reference.algorithms.mutating.inplace_merge.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">inplace_merge</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.inplace_merge.requirements"></a><h6>
-<a name="id695833"></a>
+<a name="id687903"></a>
             <a class="link" href="inplace_merge.html#range.reference.algorithms.mutating.inplace_merge.requirements">Requirements</a>
           </h6>
 <p>
@@ -115,11 +115,11 @@
             argument types.
           </p>
 <a name="range.reference.algorithms.mutating.inplace_merge.precondition_"></a><h6>
-<a name="id696088"></a>
+<a name="id688158"></a>
             <a class="link" href="inplace_merge.html#range.reference.algorithms.mutating.inplace_merge.precondition_">Precondition:</a>
           </h6>
 <a name="range.reference.algorithms.mutating.inplace_merge.for_the_non_predicate_version_"></a><h6>
-<a name="id696108"></a>
+<a name="id688178"></a>
             <a class="link" href="inplace_merge.html#range.reference.algorithms.mutating.inplace_merge.for_the_non_predicate_version_">For
             the non-predicate version:</a>
           </h6>
@@ -142,7 +142,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.inplace_merge.for_the_predicate_version_"></a><h6>
-<a name="id696369"></a>
+<a name="id688439"></a>
             <a class="link" href="inplace_merge.html#range.reference.algorithms.mutating.inplace_merge.for_the_predicate_version_">For
             the predicate version:</a>
           </h6>
@@ -163,7 +163,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.inplace_merge.complexity"></a><h6>
-<a name="id696654"></a>
+<a name="id688724"></a>
             <a class="link" href="inplace_merge.html#range.reference.algorithms.mutating.inplace_merge.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/merge.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/merge.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/merge.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.merge"></a><a class="link" href="merge.html" title="merge">merge</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.merge.prototype"></a><h6>
-<a name="id696733"></a>
+<a name="id688803"></a>
             <a class="link" href="merge.html#range.reference.algorithms.mutating.merge.prototype">Prototype</a>
           </h6>
 <p>
@@ -56,7 +56,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.merge.description"></a><h6>
-<a name="id697080"></a>
+<a name="id689149"></a>
             <a class="link" href="merge.html#range.reference.algorithms.mutating.merge.description">Description</a>
           </h6>
 <p>
@@ -75,14 +75,14 @@
             version uses the predicate instead of <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;()</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.merge.definition"></a><h6>
-<a name="id697254"></a>
+<a name="id689324"></a>
             <a class="link" href="merge.html#range.reference.algorithms.mutating.merge.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">merge</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.merge.requirements"></a><h6>
-<a name="id697323"></a>
+<a name="id689393"></a>
             <a class="link" href="merge.html#range.reference.algorithms.mutating.merge.requirements">Requirements</a>
           </h6>
 <p>
@@ -150,11 +150,11 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.merge.precondition_"></a><h6>
-<a name="id697845"></a>
+<a name="id689915"></a>
             <a class="link" href="merge.html#range.reference.algorithms.mutating.merge.precondition_">Precondition:</a>
           </h6>
 <a name="range.reference.algorithms.mutating.merge.for_the_non_predicate_version_"></a><h6>
-<a name="id697864"></a>
+<a name="id689935"></a>
             <a class="link" href="merge.html#range.reference.algorithms.mutating.merge.for_the_non_predicate_version_">For
             the non-predicate version:</a>
           </h6>
@@ -194,7 +194,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.merge.for_the_predicate_version_"></a><h6>
-<a name="id698329"></a>
+<a name="id690400"></a>
             <a class="link" href="merge.html#range.reference.algorithms.mutating.merge.for_the_predicate_version_">For
             the predicate version:</a>
           </h6>
@@ -230,7 +230,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.merge.complexity"></a><h6>
-<a name="id698819"></a>
+<a name="id690889"></a>
             <a class="link" href="merge.html#range.reference.algorithms.mutating.merge.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/nth_element.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/nth_element.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/nth_element.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.nth_element"></a><a class="link" href="nth_element.html" title="nth_element">nth_element</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.nth_element.prototype"></a><h6>
-<a name="id698940"></a>
+<a name="id691010"></a>
             <a class="link" href="nth_element.html#range.reference.algorithms.mutating.nth_element.prototype">Prototype</a>
           </h6>
 <p>
@@ -58,7 +58,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.nth_element.description"></a><h6>
-<a name="id699459"></a>
+<a name="id691529"></a>
             <a class="link" href="nth_element.html#range.reference.algorithms.mutating.nth_element.description">Description</a>
           </h6>
 <p>
@@ -69,14 +69,14 @@
             is the same as the element that would be in that position if <code class="computeroutput"><span class="identifier">rng</span></code> has been sorted.
           </p>
 <a name="range.reference.algorithms.mutating.nth_element.definition"></a><h6>
-<a name="id699536"></a>
+<a name="id691606"></a>
             <a class="link" href="nth_element.html#range.reference.algorithms.mutating.nth_element.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">nth_element</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.nth_element.requirements"></a><h6>
-<a name="id699606"></a>
+<a name="id691676"></a>
             <a class="link" href="nth_element.html#range.reference.algorithms.mutating.nth_element.requirements">Requirements</a>
           </h6>
 <p>
@@ -127,7 +127,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.nth_element.complexity"></a><h6>
-<a name="id699853"></a>
+<a name="id691923"></a>
             <a class="link" href="nth_element.html#range.reference.algorithms.mutating.nth_element.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/partial_sort.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/partial_sort.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/partial_sort.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.partial_sort"></a><a class="link" href="partial_sort.html" title="partial_sort">partial_sort</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.partial_sort.prototype"></a><h6>
-<a name="id699918"></a>
+<a name="id691988"></a>
             <a class="link" href="partial_sort.html#range.reference.algorithms.mutating.partial_sort.prototype">Prototype</a>
           </h6>
 <p>
@@ -58,7 +58,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.partial_sort.description"></a><h6>
-<a name="id700439"></a>
+<a name="id692508"></a>
             <a class="link" href="partial_sort.html#range.reference.algorithms.mutating.partial_sort.description">Description</a>
           </h6>
 <p>
@@ -74,14 +74,14 @@
             predicate instead.
           </p>
 <a name="range.reference.algorithms.mutating.partial_sort.definition"></a><h6>
-<a name="id700615"></a>
+<a name="id692685"></a>
             <a class="link" href="partial_sort.html#range.reference.algorithms.mutating.partial_sort.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">partial_sort</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.partial_sort.requirements"></a><h6>
-<a name="id700686"></a>
+<a name="id692756"></a>
             <a class="link" href="partial_sort.html#range.reference.algorithms.mutating.partial_sort.requirements">Requirements</a>
           </h6>
 <p>
@@ -132,7 +132,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.partial_sort.complexity"></a><h6>
-<a name="id700933"></a>
+<a name="id693003"></a>
             <a class="link" href="partial_sort.html#range.reference.algorithms.mutating.partial_sort.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/partition.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/partition.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/partition.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.partition"></a><a class="link" href="partition.html" title="partition">partition</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.partition.prototype"></a><h6>
-<a name="id701049"></a>
+<a name="id693119"></a>
             <a class="link" href="partition.html#range.reference.algorithms.mutating.partition.prototype">Prototype</a>
           </h6>
 <p>
@@ -66,7 +66,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.partition.description"></a><h6>
-<a name="id701626"></a>
+<a name="id693695"></a>
             <a class="link" href="partition.html#range.reference.algorithms.mutating.partition.description">Description</a>
           </h6>
 <p>
@@ -80,14 +80,14 @@
             corresponds to the middle iterator.
           </p>
 <a name="range.reference.algorithms.mutating.partition.definition"></a><h6>
-<a name="id701704"></a>
+<a name="id693774"></a>
             <a class="link" href="partition.html#range.reference.algorithms.mutating.partition.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">partition</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.partition.requirements"></a><h6>
-<a name="id701774"></a>
+<a name="id693845"></a>
             <a class="link" href="partition.html#range.reference.algorithms.mutating.partition.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -107,7 +107,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.partition.complexity"></a><h6>
-<a name="id701877"></a>
+<a name="id693947"></a>
             <a class="link" href="partition.html#range.reference.algorithms.mutating.partition.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/random_shuffle.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/random_shuffle.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/random_shuffle.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.random_shuffle"></a><a class="link" href="random_shuffle.html" title="random_shuffle">random_shuffle</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.random_shuffle.prototype"></a><h6>
-<a name="id701987"></a>
+<a name="id694058"></a>
             <a class="link" href="random_shuffle.html#range.reference.algorithms.mutating.random_shuffle.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.random_shuffle.description"></a><h6>
-<a name="id702372"></a>
+<a name="id694442"></a>
             <a class="link" href="random_shuffle.html#range.reference.algorithms.mutating.random_shuffle.description">Description</a>
           </h6>
 <p>
@@ -60,14 +60,14 @@
             the shuffles range.
           </p>
 <a name="range.reference.algorithms.mutating.random_shuffle.definition"></a><h6>
-<a name="id702460"></a>
+<a name="id694530"></a>
             <a class="link" href="random_shuffle.html#range.reference.algorithms.mutating.random_shuffle.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">random_shuffle</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.random_shuffle.requirements"></a><h6>
-<a name="id702531"></a>
+<a name="id694601"></a>
             <a class="link" href="random_shuffle.html#range.reference.algorithms.mutating.random_shuffle.requirements">Requirements</a>
           </h6>
 <p>
@@ -98,7 +98,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.random_shuffle.precondition_"></a><h6>
-<a name="id702680"></a>
+<a name="id694751"></a>
             <a class="link" href="random_shuffle.html#range.reference.algorithms.mutating.random_shuffle.precondition_">Precondition:</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
@@ -107,7 +107,7 @@
                 maximum value.
               </li></ul></div>
 <a name="range.reference.algorithms.mutating.random_shuffle.complexity"></a><h6>
-<a name="id702745"></a>
+<a name="id694815"></a>
             <a class="link" href="random_shuffle.html#range.reference.algorithms.mutating.random_shuffle.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.remove"></a><a class="link" href="remove.html" title="remove">remove</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.remove.prototype"></a><h6>
-<a name="id702847"></a>
+<a name="id694919"></a>
             <a class="link" href="remove.html#range.reference.algorithms.mutating.remove.prototype">Prototype</a>
           </h6>
 <p>
@@ -66,7 +66,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.remove.description"></a><h6>
-<a name="id703465"></a>
+<a name="id695536"></a>
             <a class="link" href="remove.html#range.reference.algorithms.mutating.remove.description">Description</a>
           </h6>
 <p>
@@ -83,14 +83,14 @@
             are dereferenceable, but the elements are unspecified.
           </p>
 <a name="range.reference.algorithms.mutating.remove.definition"></a><h6>
-<a name="id703692"></a>
+<a name="id695762"></a>
             <a class="link" href="remove.html#range.reference.algorithms.mutating.remove.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">remove</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.remove.requirements"></a><h6>
-<a name="id703763"></a>
+<a name="id695833"></a>
             <a class="link" href="remove.html#range.reference.algorithms.mutating.remove.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -113,7 +113,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.remove.complexity"></a><h6>
-<a name="id703884"></a>
+<a name="id695954"></a>
             <a class="link" href="remove.html#range.reference.algorithms.mutating.remove.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.remove_copy"></a><a class="link" href="remove_copy.html" title="remove_copy">remove_copy</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.remove_copy.prototype"></a><h6>
-<a name="id703958"></a>
+<a name="id696029"></a>
             <a class="link" href="remove_copy.html#range.reference.algorithms.mutating.remove_copy.prototype">Prototype</a>
           </h6>
 <p>
@@ -44,7 +44,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.remove_copy.description"></a><h6>
-<a name="id704262"></a>
+<a name="id696332"></a>
             <a class="link" href="remove_copy.html#range.reference.algorithms.mutating.remove_copy.description">Description</a>
           </h6>
 <p>
@@ -53,14 +53,14 @@
             <code class="computeroutput"><span class="identifier">rng</span></code> for which <code class="computeroutput"><span class="identifier">x</span> <span class="special">==</span> <span class="identifier">val</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.remove_copy.definition"></a><h6>
-<a name="id704348"></a>
+<a name="id696418"></a>
             <a class="link" href="remove_copy.html#range.reference.algorithms.mutating.remove_copy.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">remove_copy</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.remove_copy.requirements"></a><h6>
-<a name="id704417"></a>
+<a name="id696488"></a>
             <a class="link" href="remove_copy.html#range.reference.algorithms.mutating.remove_copy.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -83,7 +83,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.remove_copy.complexity"></a><h6>
-<a name="id704539"></a>
+<a name="id696609"></a>
             <a class="link" href="remove_copy.html#range.reference.algorithms.mutating.remove_copy.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy_if.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy_if.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy_if.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.remove_copy_if"></a><a class="link" href="remove_copy_if.html" title="remove_copy_if">remove_copy_if</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.remove_copy_if.prototype"></a><h6>
-<a name="id704613"></a>
+<a name="id696683"></a>
             <a class="link" href="remove_copy_if.html#range.reference.algorithms.mutating.remove_copy_if.prototype">Prototype</a>
           </h6>
 <p>
@@ -44,7 +44,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.remove_copy_if.description"></a><h6>
-<a name="id704895"></a>
+<a name="id696964"></a>
             <a class="link" href="remove_copy_if.html#range.reference.algorithms.mutating.remove_copy_if.description">Description</a>
           </h6>
 <p>
@@ -54,14 +54,14 @@
             is <code class="computeroutput"><span class="keyword">false</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.remove_copy_if.definition"></a><h6>
-<a name="id704984"></a>
+<a name="id697054"></a>
             <a class="link" href="remove_copy_if.html#range.reference.algorithms.mutating.remove_copy_if.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">remove_copy_if</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.remove_copy_if.requirements"></a><h6>
-<a name="id705054"></a>
+<a name="id697124"></a>
             <a class="link" href="remove_copy_if.html#range.reference.algorithms.mutating.remove_copy_if.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -79,7 +79,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.remove_copy_if.complexity"></a><h6>
-<a name="id705147"></a>
+<a name="id697217"></a>
             <a class="link" href="remove_copy_if.html#range.reference.algorithms.mutating.remove_copy_if.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove_if.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove_if.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/remove_if.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.remove_if"></a><a class="link" href="remove_if.html" title="remove_if">remove_if</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.remove_if.prototype"></a><h6>
-<a name="id705221"></a>
+<a name="id697291"></a>
             <a class="link" href="remove_if.html#range.reference.algorithms.mutating.remove_if.prototype">Prototype</a>
           </h6>
 <p>
@@ -66,7 +66,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.remove_if.description"></a><h6>
-<a name="id705797"></a>
+<a name="id697867"></a>
             <a class="link" href="remove_if.html#range.reference.algorithms.mutating.remove_if.description">Description</a>
           </h6>
 <p>
@@ -82,14 +82,14 @@
             are unspecified.
           </p>
 <a name="range.reference.algorithms.mutating.remove_if.definition"></a><h6>
-<a name="id706018"></a>
+<a name="id698089"></a>
             <a class="link" href="remove_if.html#range.reference.algorithms.mutating.remove_if.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">remove_if</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.remove_if.requirements"></a><h6>
-<a name="id706090"></a>
+<a name="id698160"></a>
             <a class="link" href="remove_if.html#range.reference.algorithms.mutating.remove_if.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -112,7 +112,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.remove_if.complexity"></a><h6>
-<a name="id706212"></a>
+<a name="id698282"></a>
             <a class="link" href="remove_if.html#range.reference.algorithms.mutating.remove_if.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.replace"></a><a class="link" href="replace.html" title="replace">replace</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.replace.prototype"></a><h6>
-<a name="id706298"></a>
+<a name="id698368"></a>
             <a class="link" href="replace.html#range.reference.algorithms.mutating.replace.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.replace.description"></a><h6>
-<a name="id706609"></a>
+<a name="id698680"></a>
             <a class="link" href="replace.html#range.reference.algorithms.mutating.replace.description">Description</a>
           </h6>
 <p>
@@ -57,14 +57,14 @@
             Return a reference to <code class="computeroutput"><span class="identifier">rng</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.replace.definition"></a><h6>
-<a name="id706685"></a>
+<a name="id698755"></a>
             <a class="link" href="replace.html#range.reference.algorithms.mutating.replace.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">replace</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.replace.requirements"></a><h6>
-<a name="id706755"></a>
+<a name="id698825"></a>
             <a class="link" href="replace.html#range.reference.algorithms.mutating.replace.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -93,7 +93,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.replace.complexity"></a><h6>
-<a name="id706914"></a>
+<a name="id698985"></a>
             <a class="link" href="replace.html#range.reference.algorithms.mutating.replace.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.replace_copy"></a><a class="link" href="replace_copy.html" title="replace_copy">replace_copy</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.replace_copy.prototype"></a><h6>
-<a name="id707013"></a>
+<a name="id699084"></a>
             <a class="link" href="replace_copy.html#range.reference.algorithms.mutating.replace_copy.prototype">Prototype</a>
           </h6>
 <p>
@@ -40,7 +40,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.replace_copy.description"></a><h6>
-<a name="id707209"></a>
+<a name="id699279"></a>
             <a class="link" href="replace_copy.html#range.reference.algorithms.mutating.replace_copy.description">Description</a>
           </h6>
 <p>
@@ -53,14 +53,14 @@
             <span class="identifier">x</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.replace_copy.definition"></a><h6>
-<a name="id707318"></a>
+<a name="id699388"></a>
             <a class="link" href="replace_copy.html#range.reference.algorithms.mutating.replace_copy.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">replace_copy</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.replace_copy.requirements"></a><h6>
-<a name="id707388"></a>
+<a name="id699458"></a>
             <a class="link" href="replace_copy.html#range.reference.algorithms.mutating.replace_copy.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -87,7 +87,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.replace_copy.complexity"></a><h6>
-<a name="id707536"></a>
+<a name="id699606"></a>
             <a class="link" href="replace_copy.html#range.reference.algorithms.mutating.replace_copy.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy_if.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy_if.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy_if.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.replace_copy_if"></a><a class="link" href="replace_copy_if.html" title="replace_copy_if">replace_copy_if</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.replace_copy_if.prototype"></a><h6>
-<a name="id707610"></a>
+<a name="id699680"></a>
             <a class="link" href="replace_copy_if.html#range.reference.algorithms.mutating.replace_copy_if.prototype">Prototype</a>
           </h6>
 <p>
@@ -40,7 +40,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.replace_copy_if.description"></a><h6>
-<a name="id707811"></a>
+<a name="id699881"></a>
             <a class="link" href="replace_copy_if.html#range.reference.algorithms.mutating.replace_copy_if.description">Description</a>
           </h6>
 <p>
@@ -51,14 +51,14 @@
             <span class="special">:</span> <span class="identifier">x</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.replace_copy_if.definition"></a><h6>
-<a name="id707922"></a>
+<a name="id699992"></a>
             <a class="link" href="replace_copy_if.html#range.reference.algorithms.mutating.replace_copy_if.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">replace_copy_if</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.replace_copy_if.requirements"></a><h6>
-<a name="id707992"></a>
+<a name="id700063"></a>
             <a class="link" href="replace_copy_if.html#range.reference.algorithms.mutating.replace_copy_if.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -89,7 +89,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.replace_copy_if.complexity"></a><h6>
-<a name="id708169"></a>
+<a name="id700239"></a>
             <a class="link" href="replace_copy_if.html#range.reference.algorithms.mutating.replace_copy_if.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace_if.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace_if.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/replace_if.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.replace_if"></a><a class="link" href="replace_if.html" title="replace_if">replace_if</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.replace_if.prototype"></a><h6>
-<a name="id708254"></a>
+<a name="id700324"></a>
             <a class="link" href="replace_if.html#range.reference.algorithms.mutating.replace_if.prototype">Prototype</a>
           </h6>
 <p>
@@ -42,7 +42,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.replace_if.description"></a><h6>
-<a name="id708572"></a>
+<a name="id700643"></a>
             <a class="link" href="replace_if.html#range.reference.algorithms.mutating.replace_if.description">Description</a>
           </h6>
 <p>
@@ -51,14 +51,14 @@
             Returns a reference to <code class="computeroutput"><span class="identifier">rng</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.replace_if.definition"></a><h6>
-<a name="id708684"></a>
+<a name="id700754"></a>
             <a class="link" href="replace_if.html#range.reference.algorithms.mutating.replace_if.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">replace_if</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.replace_if.requirements"></a><h6>
-<a name="id708754"></a>
+<a name="id700825"></a>
             <a class="link" href="replace_if.html#range.reference.algorithms.mutating.replace_if.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -90,7 +90,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.replace_if.complexity"></a><h6>
-<a name="id708930"></a>
+<a name="id701001"></a>
             <a class="link" href="replace_if.html#range.reference.algorithms.mutating.replace_if.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/reverse.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/reverse.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/reverse.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.reverse"></a><a class="link" href="reverse.html" title="reverse">reverse</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.reverse.prototype"></a><h6>
-<a name="id709040"></a>
+<a name="id701111"></a>
             <a class="link" href="reverse.html#range.reference.algorithms.mutating.reverse.prototype">Prototype</a>
           </h6>
 <p>
@@ -42,7 +42,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.reverse.description"></a><h6>
-<a name="id709211"></a>
+<a name="id701281"></a>
             <a class="link" href="reverse.html#range.reference.algorithms.mutating.reverse.description">Description</a>
           </h6>
 <p>
@@ -50,14 +50,14 @@
             Returns a reference to the reversed range.
           </p>
 <a name="range.reference.algorithms.mutating.reverse.definition"></a><h6>
-<a name="id709244"></a>
+<a name="id701314"></a>
             <a class="link" href="reverse.html#range.reference.algorithms.mutating.reverse.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">reverse</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.reverse.requirements"></a><h6>
-<a name="id709314"></a>
+<a name="id701385"></a>
             <a class="link" href="reverse.html#range.reference.algorithms.mutating.reverse.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -72,7 +72,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.reverse.complexity"></a><h6>
-<a name="id709380"></a>
+<a name="id701451"></a>
             <a class="link" href="reverse.html#range.reference.algorithms.mutating.reverse.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/reverse_copy.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/reverse_copy.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/reverse_copy.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.reverse_copy"></a><a class="link" href="reverse_copy.html" title="reverse_copy">reverse_copy</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.reverse_copy.prototype"></a><h6>
-<a name="id709469"></a>
+<a name="id701540"></a>
             <a class="link" href="reverse_copy.html#range.reference.algorithms.mutating.reverse_copy.prototype">Prototype</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.reverse_copy.description"></a><h6>
-<a name="id709596"></a>
+<a name="id701667"></a>
             <a class="link" href="reverse_copy.html#range.reference.algorithms.mutating.reverse_copy.description">Description</a>
           </h6>
 <p>
@@ -49,14 +49,14 @@
             Returns the output iterator one passed the last copied element.
           </p>
 <a name="range.reference.algorithms.mutating.reverse_copy.definition"></a><h6>
-<a name="id709652"></a>
+<a name="id701723"></a>
             <a class="link" href="reverse_copy.html#range.reference.algorithms.mutating.reverse_copy.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">reverse_copy</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.reverse_copy.requirements"></a><h6>
-<a name="id709722"></a>
+<a name="id701792"></a>
             <a class="link" href="reverse_copy.html#range.reference.algorithms.mutating.reverse_copy.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -75,7 +75,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.reverse_copy.complexity"></a><h6>
-<a name="id709814"></a>
+<a name="id701885"></a>
             <a class="link" href="reverse_copy.html#range.reference.algorithms.mutating.reverse_copy.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/rotate.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/rotate.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/rotate.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.rotate"></a><a class="link" href="rotate.html" title="rotate">rotate</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.rotate.prototype"></a><h6>
-<a name="id709890"></a>
+<a name="id701961"></a>
             <a class="link" href="rotate.html#range.reference.algorithms.mutating.rotate.prototype">Prototype</a>
           </h6>
 <p>
@@ -44,7 +44,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.rotate.description"></a><h6>
-<a name="id710146"></a>
+<a name="id702217"></a>
             <a class="link" href="rotate.html#range.reference.algorithms.mutating.rotate.description">Description</a>
           </h6>
 <p>
@@ -53,14 +53,14 @@
             and <code class="computeroutput"><span class="special">[</span><span class="identifier">middle</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">))</span></code>. Returns a reference to <code class="computeroutput"><span class="identifier">rng</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.rotate.definition"></a><h6>
-<a name="id710267"></a>
+<a name="id702338"></a>
             <a class="link" href="rotate.html#range.reference.algorithms.mutating.rotate.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">rotate</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.rotate.requirements"></a><h6>
-<a name="id710337"></a>
+<a name="id702407"></a>
             <a class="link" href="rotate.html#range.reference.algorithms.mutating.rotate.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -74,7 +74,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.rotate.precondition_"></a><h6>
-<a name="id710402"></a>
+<a name="id702473"></a>
             <a class="link" href="rotate.html#range.reference.algorithms.mutating.rotate.precondition_">Precondition:</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -86,7 +86,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.rotate.complexity"></a><h6>
-<a name="id710515"></a>
+<a name="id702586"></a>
             <a class="link" href="rotate.html#range.reference.algorithms.mutating.rotate.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/rotate_copy.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/rotate_copy.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/rotate_copy.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.rotate_copy"></a><a class="link" href="rotate_copy.html" title="rotate_copy">rotate_copy</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.rotate_copy.prototype"></a><h6>
-<a name="id710578"></a>
+<a name="id702649"></a>
             <a class="link" href="rotate_copy.html#range.reference.algorithms.mutating.rotate_copy.prototype">Prototype</a>
           </h6>
 <p>
@@ -42,7 +42,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.rotate_copy.description"></a><h6>
-<a name="id710746"></a>
+<a name="id702817"></a>
             <a class="link" href="rotate_copy.html#range.reference.algorithms.mutating.rotate_copy.description">Description</a>
           </h6>
 <p>
@@ -51,14 +51,14 @@
             and <code class="computeroutput"><span class="special">[</span><span class="identifier">middle</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">))</span></code> to <code class="computeroutput"><span class="identifier">out</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.rotate_copy.definition"></a><h6>
-<a name="id710867"></a>
+<a name="id702938"></a>
             <a class="link" href="rotate_copy.html#range.reference.algorithms.mutating.rotate_copy.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">rotate_copy</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.rotate_copy.requirements"></a><h6>
-<a name="id710937"></a>
+<a name="id703007"></a>
             <a class="link" href="rotate_copy.html#range.reference.algorithms.mutating.rotate_copy.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -76,7 +76,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.rotate_copy.precondition_"></a><h6>
-<a name="id711029"></a>
+<a name="id703100"></a>
             <a class="link" href="rotate_copy.html#range.reference.algorithms.mutating.rotate_copy.precondition_">Precondition:</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -88,7 +88,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.rotate_copy.complexity"></a><h6>
-<a name="id711141"></a>
+<a name="id703212"></a>
             <a class="link" href="rotate_copy.html#range.reference.algorithms.mutating.rotate_copy.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/sort.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/sort.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/sort.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.sort"></a><a class="link" href="sort.html" title="sort">sort</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.sort.prototype"></a><h6>
-<a name="id711206"></a>
+<a name="id703276"></a>
             <a class="link" href="sort.html#range.reference.algorithms.mutating.sort.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.sort.description"></a><h6>
-<a name="id711582"></a>
+<a name="id703652"></a>
             <a class="link" href="sort.html#range.reference.algorithms.mutating.sort.description">Description</a>
           </h6>
 <p>
@@ -71,14 +71,14 @@
             <code class="computeroutput"><span class="special">[</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">]</span></code>, <code class="computeroutput"><span class="identifier">pred</span><span class="special">(</span><span class="identifier">y</span><span class="special">,</span> <span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">false</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.sort.definition"></a><h6>
-<a name="id711824"></a>
+<a name="id703896"></a>
             <a class="link" href="sort.html#range.reference.algorithms.mutating.sort.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">sort</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.sort.requirements"></a><h6>
-<a name="id711894"></a>
+<a name="id703965"></a>
             <a class="link" href="sort.html#range.reference.algorithms.mutating.sort.requirements">Requirements</a>
           </h6>
 <p>
@@ -129,7 +129,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.sort.complexity"></a><h6>
-<a name="id712141"></a>
+<a name="id704212"></a>
             <a class="link" href="sort.html#range.reference.algorithms.mutating.sort.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/stable_partition.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/stable_partition.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/stable_partition.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.stable_partition"></a><a class="link" href="stable_partition.html" title="stable_partition">stable_partition</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.stable_partition.prototype"></a><h6>
-<a name="id712254"></a>
+<a name="id704324"></a>
             <a class="link" href="stable_partition.html#range.reference.algorithms.mutating.stable_partition.prototype">Prototype</a>
           </h6>
 <p>
@@ -60,7 +60,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.stable_partition.description"></a><h6>
-<a name="id712828"></a>
+<a name="id704898"></a>
             <a class="link" href="stable_partition.html#range.reference.algorithms.mutating.stable_partition.description">Description</a>
           </h6>
 <p>
@@ -82,14 +82,14 @@
             the iterator to the first element that fails to satisfy <code class="computeroutput"><span class="identifier">pred</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.stable_partition.definition"></a><h6>
-<a name="id712968"></a>
+<a name="id705039"></a>
             <a class="link" href="stable_partition.html#range.reference.algorithms.mutating.stable_partition.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">stable_partition</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.stable_partition.requirements"></a><h6>
-<a name="id713039"></a>
+<a name="id705110"></a>
             <a class="link" href="stable_partition.html#range.reference.algorithms.mutating.stable_partition.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -107,7 +107,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.stable_partition.complexity"></a><h6>
-<a name="id713132"></a>
+<a name="id705203"></a>
             <a class="link" href="stable_partition.html#range.reference.algorithms.mutating.stable_partition.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/stable_sort.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/stable_sort.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/stable_sort.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.stable_sort"></a><a class="link" href="stable_sort.html" title="stable_sort">stable_sort</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.stable_sort.prototype"></a><h6>
-<a name="id713298"></a>
+<a name="id705369"></a>
             <a class="link" href="stable_sort.html#range.reference.algorithms.mutating.stable_sort.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.stable_sort.description"></a><h6>
-<a name="id713674"></a>
+<a name="id705745"></a>
             <a class="link" href="stable_sort.html#range.reference.algorithms.mutating.stable_sort.description">Description</a>
           </h6>
 <p>
@@ -71,14 +71,14 @@
             <code class="computeroutput"><span class="special">[</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">]</span></code>, <code class="computeroutput"><span class="identifier">pred</span><span class="special">(</span><span class="identifier">y</span><span class="special">,</span><span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">false</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.stable_sort.definition"></a><h6>
-<a name="id713918"></a>
+<a name="id705989"></a>
             <a class="link" href="stable_sort.html#range.reference.algorithms.mutating.stable_sort.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">stable_sort</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.stable_sort.requirements"></a><h6>
-<a name="id713988"></a>
+<a name="id706060"></a>
             <a class="link" href="stable_sort.html#range.reference.algorithms.mutating.stable_sort.requirements">Requirements</a>
           </h6>
 <p>
@@ -129,7 +129,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.stable_sort.complexity"></a><h6>
-<a name="id714235"></a>
+<a name="id706307"></a>
             <a class="link" href="stable_sort.html#range.reference.algorithms.mutating.stable_sort.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/swap_ranges.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/swap_ranges.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/swap_ranges.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.swap_ranges"></a><a class="link" href="swap_ranges.html" title="swap_ranges">swap_ranges</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.swap_ranges.prototype"></a><h6>
-<a name="id714414"></a>
+<a name="id706485"></a>
             <a class="link" href="swap_ranges.html#range.reference.algorithms.mutating.swap_ranges.prototype">Prototype</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.swap_ranges.description"></a><h6>
-<a name="id714545"></a>
+<a name="id706616"></a>
             <a class="link" href="swap_ranges.html#range.reference.algorithms.mutating.swap_ranges.description">Description</a>
           </h6>
 <p>
@@ -49,14 +49,14 @@
             Returns a reference to <code class="computeroutput"><span class="identifier">rng2</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.swap_ranges.definition"></a><h6>
-<a name="id714632"></a>
+<a name="id706703"></a>
             <a class="link" href="swap_ranges.html#range.reference.algorithms.mutating.swap_ranges.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">swap_ranges</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.swap_ranges.requirements"></a><h6>
-<a name="id714702"></a>
+<a name="id706773"></a>
             <a class="link" href="swap_ranges.html#range.reference.algorithms.mutating.swap_ranges.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -80,7 +80,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.swap_ranges.complexity"></a><h6>
-<a name="id714809"></a>
+<a name="id706880"></a>
             <a class="link" href="swap_ranges.html#range.reference.algorithms.mutating.swap_ranges.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/transform.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/transform.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/transform.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.transform"></a><a class="link" href="transform.html" title="transform">transform</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.transform.prototype"></a><h6>
-<a name="id714874"></a>
+<a name="id706944"></a>
             <a class="link" href="transform.html#range.reference.algorithms.mutating.transform.prototype">Prototype</a>
           </h6>
 <p>
@@ -56,7 +56,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.transform.description"></a><h6>
-<a name="id715207"></a>
+<a name="id707279"></a>
             <a class="link" href="transform.html#range.reference.algorithms.mutating.transform.description">Description</a>
           </h6>
 <p>
@@ -92,14 +92,14 @@
             The return value is <code class="computeroutput"><span class="identifier">out</span> <span class="special">+</span> <span class="identifier">min</span><span class="special">(</span><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">),</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">))</span></code>.
           </p>
 <a name="range.reference.algorithms.mutating.transform.definition"></a><h6>
-<a name="id715747"></a>
+<a name="id707818"></a>
             <a class="link" href="transform.html#range.reference.algorithms.mutating.transform.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">transform</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.transform.requirements"></a><h6>
-<a name="id715818"></a>
+<a name="id707889"></a>
             <a class="link" href="transform.html#range.reference.algorithms.mutating.transform.requirements">Requirements</a>
           </h6>
 <p>
@@ -169,7 +169,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.transform.precondition_"></a><h6>
-<a name="id716187"></a>
+<a name="id708258"></a>
             <a class="link" href="transform.html#range.reference.algorithms.mutating.transform.precondition_">Precondition:</a>
           </h6>
 <p>
@@ -203,7 +203,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.transform.complexity"></a><h6>
-<a name="id716610"></a>
+<a name="id708682"></a>
             <a class="link" href="transform.html#range.reference.algorithms.mutating.transform.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/unique.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/unique.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/unique.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.unique"></a><a class="link" href="unique.html" title="unique">unique</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.unique.prototype"></a><h6>
-<a name="id716728"></a>
+<a name="id708800"></a>
             <a class="link" href="unique.html#range.reference.algorithms.mutating.unique.prototype">Prototype</a>
           </h6>
 <p>
@@ -68,7 +68,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.unique.description"></a><h6>
-<a name="id717751"></a>
+<a name="id709822"></a>
             <a class="link" href="unique.html#range.reference.algorithms.mutating.unique.description">Description</a>
           </h6>
 <p>
@@ -86,14 +86,14 @@
             type.
           </p>
 <a name="range.reference.algorithms.mutating.unique.definition"></a><h6>
-<a name="id717869"></a>
+<a name="id709940"></a>
             <a class="link" href="unique.html#range.reference.algorithms.mutating.unique.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">unique</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.unique.requirements"></a><h6>
-<a name="id717938"></a>
+<a name="id710010"></a>
             <a class="link" href="unique.html#range.reference.algorithms.mutating.unique.requirements">Requirements</a>
           </h6>
 <p>
@@ -137,7 +137,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.unique.complexity"></a><h6>
-<a name="id718160"></a>
+<a name="id710232"></a>
             <a class="link" href="unique.html#range.reference.algorithms.mutating.unique.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/mutating/unique_copy.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/mutating/unique_copy.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/mutating/unique_copy.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.mutating.unique_copy"></a><a class="link" href="unique_copy.html" title="unique_copy">unique_copy</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.mutating.unique_copy.prototype"></a><h6>
-<a name="id718283"></a>
+<a name="id710354"></a>
             <a class="link" href="unique_copy.html#range.reference.algorithms.mutating.unique_copy.prototype">Prototype</a>
           </h6>
 <p>
@@ -42,7 +42,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.mutating.unique_copy.description"></a><h6>
-<a name="id718540"></a>
+<a name="id710611"></a>
             <a class="link" href="unique_copy.html#range.reference.algorithms.mutating.unique_copy.description">Description</a>
           </h6>
 <p>
@@ -55,14 +55,14 @@
             value type.
           </p>
 <a name="range.reference.algorithms.mutating.unique_copy.definition"></a><h6>
-<a name="id718625"></a>
+<a name="id710696"></a>
             <a class="link" href="unique_copy.html#range.reference.algorithms.mutating.unique_copy.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">unique_copy</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.mutating.unique_copy.requirements"></a><h6>
-<a name="id718696"></a>
+<a name="id710767"></a>
             <a class="link" href="unique_copy.html#range.reference.algorithms.mutating.unique_copy.requirements">Requirements</a>
           </h6>
 <p>
@@ -116,7 +116,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.mutating.unique_copy.complexity"></a><h6>
-<a name="id718974"></a>
+<a name="id711046"></a>
             <a class="link" href="unique_copy.html#range.reference.algorithms.mutating.unique_copy.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/new/copy_n.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/new/copy_n.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/new/copy_n.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.new.copy_n"></a><a class="link" href="copy_n.html" title="copy_n">copy_n</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.new.copy_n.prototype"></a><h6>
-<a name="id752657"></a>
+<a name="id744730"></a>
             <a class="link" href="copy_n.html#range.reference.algorithms.new.copy_n.prototype">Prototype</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.new.copy_n.description"></a><h6>
-<a name="id752815"></a>
+<a name="id744888"></a>
             <a class="link" href="copy_n.html#range.reference.algorithms.new.copy_n.description">Description</a>
           </h6>
 <p>
@@ -53,14 +53,14 @@
             from <code class="computeroutput"><span class="special">[</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">rng</span><span class="special">),</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">n</span><span class="special">)</span></code> to the range <code class="computeroutput"><span class="special">[</span><span class="identifier">out</span><span class="special">,</span> <span class="identifier">out</span> <span class="special">+</span> <span class="identifier">n</span><span class="special">)</span></code>
           </p>
 <a name="range.reference.algorithms.new.copy_n.definition"></a><h6>
-<a name="id752985"></a>
+<a name="id745058"></a>
             <a class="link" href="copy_n.html#range.reference.algorithms.new.copy_n.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm_ext</span><span class="special">/</span><span class="identifier">copy_n</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.new.copy_n.requirements"></a><h6>
-<a name="id753056"></a>
+<a name="id745129"></a>
             <a class="link" href="copy_n.html#range.reference.algorithms.new.copy_n.requirements">Requirements</a>
           </h6>
 <div class="orderedlist"><ol class="orderedlist" type="1">
@@ -79,7 +79,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.new.copy_n.complexity"></a><h6>
-<a name="id753164"></a>
+<a name="id745236"></a>
             <a class="link" href="copy_n.html#range.reference.algorithms.new.copy_n.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/new/erase.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/new/erase.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/new/erase.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.new.erase"></a><a class="link" href="erase.html" title="erase">erase</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.new.erase.prototype"></a><h6>
-<a name="id753215"></a>
+<a name="id745287"></a>
             <a class="link" href="erase.html#range.reference.algorithms.new.erase.prototype">Prototype</a>
           </h6>
 <p>
@@ -41,7 +41,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.new.erase.description"></a><h6>
-<a name="id753355"></a>
+<a name="id745427"></a>
             <a class="link" href="erase.html#range.reference.algorithms.new.erase.description">Description</a>
           </h6>
 <p>
@@ -58,14 +58,14 @@
             the frequently used combination equivalent to <code class="computeroutput"><span class="identifier">target</span><span class="special">.</span><span class="identifier">erase</span><span class="special">(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">remove_if</span><span class="special">(</span><span class="identifier">target</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">target</span><span class="special">.</span><span class="identifier">end</span><span class="special">(),</span> <span class="identifier">pred</span><span class="special">),</span> <span class="identifier">target</span><span class="special">.</span><span class="identifier">end</span><span class="special">());</span></code>
           </p>
 <a name="range.reference.algorithms.new.erase.definition"></a><h6>
-<a name="id753654"></a>
+<a name="id745727"></a>
             <a class="link" href="erase.html#range.reference.algorithms.new.erase.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm_ext</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.new.erase.requirements"></a><h6>
-<a name="id753723"></a>
+<a name="id745796"></a>
             <a class="link" href="erase.html#range.reference.algorithms.new.erase.requirements">Requirements</a>
           </h6>
 <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
@@ -73,7 +73,7 @@
                 erase of an iterator range.
               </li></ol></div>
 <a name="range.reference.algorithms.new.erase.complexity"></a><h6>
-<a name="id753767"></a>
+<a name="id745840"></a>
             <a class="link" href="erase.html#range.reference.algorithms.new.erase.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/new/for_each.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/new/for_each.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/new/for_each.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.new.for_each"></a><a class="link" href="for_each.html" title="for_each">for_each</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.new.for_each.prototype"></a><h6>
-<a name="id753831"></a>
+<a name="id745904"></a>
             <a class="link" href="for_each.html#range.reference.algorithms.new.for_each.prototype">Prototype</a>
           </h6>
 <p>
@@ -72,7 +72,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.new.for_each.description"></a><h6>
-<a name="id754406"></a>
+<a name="id746478"></a>
             <a class="link" href="for_each.html#range.reference.algorithms.new.for_each.description">Description</a>
           </h6>
 <p>
@@ -88,14 +88,14 @@
             It is safe to call this function with unequal length ranges.
           </p>
 <a name="range.reference.algorithms.new.for_each.definition"></a><h6>
-<a name="id754561"></a>
+<a name="id746634"></a>
             <a class="link" href="for_each.html#range.reference.algorithms.new.for_each.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm_ext</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.new.for_each.requirements"></a><h6>
-<a name="id754632"></a>
+<a name="id746705"></a>
             <a class="link" href="for_each.html#range.reference.algorithms.new.for_each.requirements">Requirements</a>
           </h6>
 <div class="orderedlist"><ol class="orderedlist" type="1">
@@ -125,7 +125,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.new.for_each.complexity"></a><h6>
-<a name="id754793"></a>
+<a name="id746866"></a>
             <a class="link" href="for_each.html#range.reference.algorithms.new.for_each.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/new/insert.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/new/insert.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/new/insert.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.new.insert"></a><a class="link" href="insert.html" title="insert">insert</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.new.insert.prototype"></a><h6>
-<a name="id754896"></a>
+<a name="id746969"></a>
             <a class="link" href="insert.html#range.reference.algorithms.new.insert.prototype">Prototype</a>
           </h6>
 <p>
@@ -44,7 +44,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.new.insert.description"></a><h6>
-<a name="id755066"></a>
+<a name="id747139"></a>
             <a class="link" href="insert.html#range.reference.algorithms.new.insert.description">Description</a>
           </h6>
 <p>
@@ -54,14 +54,14 @@
             <code class="computeroutput"><span class="identifier">target</span></code>.
           </p>
 <a name="range.reference.algorithms.new.insert.definition"></a><h6>
-<a name="id755132"></a>
+<a name="id747205"></a>
             <a class="link" href="insert.html#range.reference.algorithms.new.insert.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm_ext</span><span class="special">/</span><span class="identifier">insert</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.new.insert.requirements"></a><h6>
-<a name="id755202"></a>
+<a name="id747275"></a>
             <a class="link" href="insert.html#range.reference.algorithms.new.insert.requirements">Requirements</a>
           </h6>
 <div class="orderedlist"><ol class="orderedlist" type="1">
@@ -81,7 +81,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.new.insert.complexity"></a><h6>
-<a name="id755300"></a>
+<a name="id747373"></a>
             <a class="link" href="insert.html#range.reference.algorithms.new.insert.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/new/iota.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/new/iota.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/new/iota.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.new.iota"></a><a class="link" href="iota.html" title="iota">iota</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.new.iota.prototype"></a><h6>
-<a name="id755365"></a>
+<a name="id747438"></a>
             <a class="link" href="iota.html#range.reference.algorithms.new.iota.prototype">Prototype</a>
           </h6>
 <p>
@@ -39,7 +39,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.new.iota.description"></a><h6>
-<a name="id755491"></a>
+<a name="id747564"></a>
             <a class="link" href="iota.html#range.reference.algorithms.new.iota.description">Description</a>
           </h6>
 <p>
@@ -50,14 +50,14 @@
             <span class="special">+</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">distance</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">rng</span><span class="special">),</span> <span class="identifier">it</span><span class="special">)</span></code>
           </p>
 <a name="range.reference.algorithms.new.iota.definition"></a><h6>
-<a name="id755627"></a>
+<a name="id747700"></a>
             <a class="link" href="iota.html#range.reference.algorithms.new.iota.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm_ext</span><span class="special">/</span><span class="identifier">iota</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.new.iota.requirements"></a><h6>
-<a name="id755697"></a>
+<a name="id747770"></a>
             <a class="link" href="iota.html#range.reference.algorithms.new.iota.requirements">Requirements</a>
           </h6>
 <div class="orderedlist"><ol class="orderedlist" type="1">
@@ -73,7 +73,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.new.iota.complexity"></a><h6>
-<a name="id755777"></a>
+<a name="id747850"></a>
             <a class="link" href="iota.html#range.reference.algorithms.new.iota.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/new/is_sorted.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/new/is_sorted.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/new/is_sorted.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.new.is_sorted"></a><a class="link" href="is_sorted.html" title="is_sorted">is_sorted</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.new.is_sorted.prototype"></a><h6>
-<a name="id755851"></a>
+<a name="id747924"></a>
             <a class="link" href="is_sorted.html#range.reference.algorithms.new.is_sorted.prototype">Prototype</a>
           </h6>
 <p>
@@ -42,7 +42,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.new.is_sorted.description"></a><h6>
-<a name="id756045"></a>
+<a name="id748118"></a>
             <a class="link" href="is_sorted.html#range.reference.algorithms.new.is_sorted.description">Description</a>
           </h6>
 <p>
@@ -58,14 +58,14 @@
             is <code class="computeroutput"><span class="keyword">true</span></code>.
           </p>
 <a name="range.reference.algorithms.new.is_sorted.definition"></a><h6>
-<a name="id756233"></a>
+<a name="id748306"></a>
             <a class="link" href="is_sorted.html#range.reference.algorithms.new.is_sorted.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm_ext</span><span class="special">/</span><span class="identifier">is_sorted</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.new.is_sorted.requirements"></a><h6>
-<a name="id756303"></a>
+<a name="id748376"></a>
             <a class="link" href="is_sorted.html#range.reference.algorithms.new.is_sorted.requirements">Requirements</a>
           </h6>
 <div class="orderedlist"><ol class="orderedlist" type="1">
@@ -85,7 +85,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.new.is_sorted.complexity"></a><h6>
-<a name="id756412"></a>
+<a name="id748485"></a>
             <a class="link" href="is_sorted.html#range.reference.algorithms.new.is_sorted.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/new/overwrite.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/new/overwrite.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/new/overwrite.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.new.overwrite"></a><a class="link" href="overwrite.html" title="overwrite">overwrite</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.new.overwrite.prototype"></a><h6>
-<a name="id756477"></a>
+<a name="id748550"></a>
             <a class="link" href="overwrite.html#range.reference.algorithms.new.overwrite.prototype">Prototype</a>
           </h6>
 <p>
@@ -43,7 +43,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.new.overwrite.description"></a><h6>
-<a name="id756611"></a>
+<a name="id748683"></a>
             <a class="link" href="overwrite.html#range.reference.algorithms.new.overwrite.description">Description</a>
           </h6>
 <p>
@@ -52,14 +52,14 @@
             into the range <code class="computeroutput"><span class="identifier">to</span></code>.
           </p>
 <a name="range.reference.algorithms.new.overwrite.definition"></a><h6>
-<a name="id756666"></a>
+<a name="id748739"></a>
             <a class="link" href="overwrite.html#range.reference.algorithms.new.overwrite.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm_ext</span><span class="special">/</span><span class="identifier">overwrite</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.new.overwrite.requirements"></a><h6>
-<a name="id756737"></a>
+<a name="id748810"></a>
             <a class="link" href="overwrite.html#range.reference.algorithms.new.overwrite.requirements">Requirements</a>
           </h6>
 <div class="orderedlist"><ol class="orderedlist" type="1">
@@ -88,7 +88,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.new.overwrite.complexity"></a><h6>
-<a name="id756914"></a>
+<a name="id748987"></a>
             <a class="link" href="overwrite.html#range.reference.algorithms.new.overwrite.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/new/push_back.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/new/push_back.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/new/push_back.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.new.push_back"></a><a class="link" href="push_back.html" title="push_back">push_back</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.new.push_back.prototype"></a><h6>
-<a name="id756978"></a>
+<a name="id749051"></a>
             <a class="link" href="push_back.html#range.reference.algorithms.new.push_back.prototype">Prototype</a>
           </h6>
 <p>
@@ -43,7 +43,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.new.push_back.description"></a><h6>
-<a name="id757117"></a>
+<a name="id749190"></a>
             <a class="link" href="push_back.html#range.reference.algorithms.new.push_back.description">Description</a>
           </h6>
 <p>
@@ -52,14 +52,14 @@
             to the back of the container <code class="computeroutput"><span class="identifier">target</span></code>.
           </p>
 <a name="range.reference.algorithms.new.push_back.definition"></a><h6>
-<a name="id757173"></a>
+<a name="id749246"></a>
             <a class="link" href="push_back.html#range.reference.algorithms.new.push_back.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm_ext</span><span class="special">/</span><span class="identifier">push_back</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.new.push_back.requirements"></a><h6>
-<a name="id757243"></a>
+<a name="id749316"></a>
             <a class="link" href="push_back.html#range.reference.algorithms.new.push_back.requirements">Requirements</a>
           </h6>
 <div class="orderedlist"><ol class="orderedlist" type="1">
@@ -79,7 +79,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.new.push_back.complexity"></a><h6>
-<a name="id757354"></a>
+<a name="id749427"></a>
             <a class="link" href="push_back.html#range.reference.algorithms.new.push_back.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/new/push_front.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/new/push_front.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/new/push_front.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.new.push_front"></a><a class="link" href="push_front.html" title="push_front">push_front</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.new.push_front.prototype"></a><h6>
-<a name="id757420"></a>
+<a name="id749493"></a>
             <a class="link" href="push_front.html#range.reference.algorithms.new.push_front.prototype">Prototype</a>
           </h6>
 <p>
@@ -43,7 +43,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.new.push_front.description"></a><h6>
-<a name="id757558"></a>
+<a name="id749631"></a>
             <a class="link" href="push_front.html#range.reference.algorithms.new.push_front.description">Description</a>
           </h6>
 <p>
@@ -52,14 +52,14 @@
             to the front of the container <code class="computeroutput"><span class="identifier">target</span></code>.
           </p>
 <a name="range.reference.algorithms.new.push_front.definition"></a><h6>
-<a name="id757613"></a>
+<a name="id749686"></a>
             <a class="link" href="push_front.html#range.reference.algorithms.new.push_front.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm_ext</span><span class="special">/</span><span class="identifier">push_front</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.new.push_front.requirements"></a><h6>
-<a name="id757682"></a>
+<a name="id749755"></a>
             <a class="link" href="push_front.html#range.reference.algorithms.new.push_front.requirements">Requirements</a>
           </h6>
 <div class="orderedlist"><ol class="orderedlist" type="1">
@@ -79,7 +79,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.new.push_front.complexity"></a><h6>
-<a name="id757794"></a>
+<a name="id749868"></a>
             <a class="link" href="push_front.html#range.reference.algorithms.new.push_front.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/new/remove_erase.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/new/remove_erase.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/new/remove_erase.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.new.remove_erase"></a><a class="link" href="remove_erase.html" title="remove_erase">remove_erase</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.new.remove_erase.prototype"></a><h6>
-<a name="id757860"></a>
+<a name="id749933"></a>
             <a class="link" href="remove_erase.html#range.reference.algorithms.new.remove_erase.prototype">Prototype</a>
           </h6>
 <p>
@@ -40,7 +40,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.new.remove_erase.description"></a><h6>
-<a name="id757996"></a>
+<a name="id750070"></a>
             <a class="link" href="remove_erase.html#range.reference.algorithms.new.remove_erase.description">Description</a>
           </h6>
 <p>
@@ -50,14 +50,14 @@
             algorithm which merely rearranges elements.
           </p>
 <a name="range.reference.algorithms.new.remove_erase.definition"></a><h6>
-<a name="id758053"></a>
+<a name="id750126"></a>
             <a class="link" href="remove_erase.html#range.reference.algorithms.new.remove_erase.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm_ext</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.new.remove_erase.requirements"></a><h6>
-<a name="id758124"></a>
+<a name="id750197"></a>
             <a class="link" href="remove_erase.html#range.reference.algorithms.new.remove_erase.requirements">Requirements</a>
           </h6>
 <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
@@ -65,7 +65,7 @@
                 erase of an iterator range.
               </li></ol></div>
 <a name="range.reference.algorithms.new.remove_erase.complexity"></a><h6>
-<a name="id758169"></a>
+<a name="id750242"></a>
             <a class="link" href="remove_erase.html#range.reference.algorithms.new.remove_erase.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/new/remove_erase_if.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/new/remove_erase_if.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/new/remove_erase_if.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.new.remove_erase_if"></a><a class="link" href="remove_erase_if.html" title="remove_erase_if">remove_erase_if</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.new.remove_erase_if.prototype"></a><h6>
-<a name="id758234"></a>
+<a name="id750307"></a>
             <a class="link" href="remove_erase_if.html#range.reference.algorithms.new.remove_erase_if.prototype">Prototype</a>
           </h6>
 <p>
@@ -40,7 +40,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.new.remove_erase_if.description"></a><h6>
-<a name="id758361"></a>
+<a name="id750434"></a>
             <a class="link" href="remove_erase_if.html#range.reference.algorithms.new.remove_erase_if.description">Description</a>
           </h6>
 <p>
@@ -51,14 +51,14 @@
             algorithm which merely rearranges elements.
           </p>
 <a name="range.reference.algorithms.new.remove_erase_if.definition"></a><h6>
-<a name="id758441"></a>
+<a name="id750514"></a>
             <a class="link" href="remove_erase_if.html#range.reference.algorithms.new.remove_erase_if.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm_ext</span><span class="special">/</span><span class="identifier">erase</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.new.remove_erase_if.requirements"></a><h6>
-<a name="id758512"></a>
+<a name="id750585"></a>
             <a class="link" href="remove_erase_if.html#range.reference.algorithms.new.remove_erase_if.requirements">Requirements</a>
           </h6>
 <div class="orderedlist"><ol class="orderedlist" type="1">
@@ -72,7 +72,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.new.remove_erase_if.complexity"></a><h6>
-<a name="id758586"></a>
+<a name="id750659"></a>
             <a class="link" href="remove_erase_if.html#range.reference.algorithms.new.remove_erase_if.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/adjacent_find.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/adjacent_find.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/adjacent_find.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.adjacent_find"></a><a class="link" href="adjacent_find.html" title="adjacent_find">adjacent_find</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.adjacent_find.prototype"></a><h6>
-<a name="id719114"></a>
+<a name="id711185"></a>
             <a class="link" href="adjacent_find.html#range.reference.algorithms.non_mutating.adjacent_find.prototype">Prototype</a>
           </h6>
 <p>
@@ -76,7 +76,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.adjacent_find.description"></a><h6>
-<a name="id720090"></a>
+<a name="id712162"></a>
             <a class="link" href="adjacent_find.html#range.reference.algorithms.non_mutating.adjacent_find.description">Description</a>
           </h6>
 <p>
@@ -97,14 +97,14 @@
             is <code class="computeroutput"><span class="keyword">true</span></code>.
           </p>
 <a name="range.reference.algorithms.non_mutating.adjacent_find.definition"></a><h6>
-<a name="id720298"></a>
+<a name="id712369"></a>
             <a class="link" href="adjacent_find.html#range.reference.algorithms.non_mutating.adjacent_find.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">adjacent_find</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.adjacent_find.requirements"></a><h6>
-<a name="id720368"></a>
+<a name="id712440"></a>
             <a class="link" href="adjacent_find.html#range.reference.algorithms.non_mutating.adjacent_find.requirements">Requirements</a>
           </h6>
 <p>
@@ -142,7 +142,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.adjacent_find.complexity"></a><h6>
-<a name="id720558"></a>
+<a name="id712629"></a>
             <a class="link" href="adjacent_find.html#range.reference.algorithms.non_mutating.adjacent_find.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/binary_search.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/binary_search.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/binary_search.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.binary_search"></a><a class="link" href="binary_search.html" title="binary_search">binary_search</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.binary_search.prototype"></a><h6>
-<a name="id720658"></a>
+<a name="id712729"></a>
             <a class="link" href="binary_search.html#range.reference.algorithms.non_mutating.binary_search.prototype">Prototype</a>
           </h6>
 <p>
@@ -42,7 +42,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.binary_search.description"></a><h6>
-<a name="id720934"></a>
+<a name="id713006"></a>
             <a class="link" href="binary_search.html#range.reference.algorithms.non_mutating.binary_search.description">Description</a>
           </h6>
 <p>
@@ -52,14 +52,14 @@
             range <code class="computeroutput"><span class="identifier">rng</span></code>.
           </p>
 <a name="range.reference.algorithms.non_mutating.binary_search.definition"></a><h6>
-<a name="id721000"></a>
+<a name="id713072"></a>
             <a class="link" href="binary_search.html#range.reference.algorithms.non_mutating.binary_search.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">binary_search</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.binary_search.requirements"></a><h6>
-<a name="id721071"></a>
+<a name="id713142"></a>
             <a class="link" href="binary_search.html#range.reference.algorithms.non_mutating.binary_search.requirements">Requirements</a>
           </h6>
 <p>
@@ -110,7 +110,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.binary_search.precondition_"></a><h6>
-<a name="id721340"></a>
+<a name="id713411"></a>
             <a class="link" href="binary_search.html#range.reference.algorithms.non_mutating.binary_search.precondition_">Precondition:</a>
           </h6>
 <p>
@@ -128,7 +128,7 @@
             order according to the function object <code class="computeroutput"><span class="identifier">pred</span></code>.
           </p>
 <a name="range.reference.algorithms.non_mutating.binary_search.complexity"></a><h6>
-<a name="id721432"></a>
+<a name="id713503"></a>
             <a class="link" href="binary_search.html#range.reference.algorithms.non_mutating.binary_search.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/count.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/count.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/count.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.count"></a><a class="link" href="count.html" title="count">count</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.count.prototype"></a><h6>
-<a name="id721595"></a>
+<a name="id713666"></a>
             <a class="link" href="count.html#range.reference.algorithms.non_mutating.count.prototype">Prototype</a>
           </h6>
 <p>
@@ -44,7 +44,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.count.description"></a><h6>
-<a name="id721889"></a>
+<a name="id713960"></a>
             <a class="link" href="count.html#range.reference.algorithms.non_mutating.count.description">Description</a>
           </h6>
 <p>
@@ -54,14 +54,14 @@
             is <code class="computeroutput"><span class="keyword">true</span></code>.
           </p>
 <a name="range.reference.algorithms.non_mutating.count.definition"></a><h6>
-<a name="id721977"></a>
+<a name="id714048"></a>
             <a class="link" href="count.html#range.reference.algorithms.non_mutating.count.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">count</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.count.requirements"></a><h6>
-<a name="id722047"></a>
+<a name="id714118"></a>
             <a class="link" href="count.html#range.reference.algorithms.non_mutating.count.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -84,7 +84,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.count.complexity"></a><h6>
-<a name="id722179"></a>
+<a name="id714250"></a>
             <a class="link" href="count.html#range.reference.algorithms.non_mutating.count.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/count_if.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/count_if.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/count_if.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.count_if"></a><a class="link" href="count_if.html" title="count_if">count_if</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.count_if.prototype"></a><h6>
-<a name="id722244"></a>
+<a name="id714315"></a>
             <a class="link" href="count_if.html#range.reference.algorithms.non_mutating.count_if.prototype">Prototype</a>
           </h6>
 <p>
@@ -40,7 +40,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.count_if.description"></a><h6>
-<a name="id722401"></a>
+<a name="id714472"></a>
             <a class="link" href="count_if.html#range.reference.algorithms.non_mutating.count_if.description">Description</a>
           </h6>
 <p>
@@ -50,14 +50,14 @@
             is <code class="computeroutput"><span class="keyword">true</span></code>.
           </p>
 <a name="range.reference.algorithms.non_mutating.count_if.definition"></a><h6>
-<a name="id722491"></a>
+<a name="id714562"></a>
             <a class="link" href="count_if.html#range.reference.algorithms.non_mutating.count_if.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">count_if</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.count_if.requirements"></a><h6>
-<a name="id722560"></a>
+<a name="id714631"></a>
             <a class="link" href="count_if.html#range.reference.algorithms.non_mutating.count_if.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -80,7 +80,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.count_if.complexity"></a><h6>
-<a name="id722692"></a>
+<a name="id714763"></a>
             <a class="link" href="count_if.html#range.reference.algorithms.non_mutating.count_if.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/equal.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/equal.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/equal.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.equal"></a><a class="link" href="equal.html" title="equal">equal</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.equal.prototype"></a><h6>
-<a name="id722767"></a>
+<a name="id714837"></a>
             <a class="link" href="equal.html#range.reference.algorithms.non_mutating.equal.prototype">Prototype</a>
           </h6>
 <p>
@@ -52,7 +52,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.equal.description"></a><h6>
-<a name="id723049"></a>
+<a name="id715120"></a>
             <a class="link" href="equal.html#range.reference.algorithms.non_mutating.equal.description">Description</a>
           </h6>
 <p>
@@ -70,14 +70,14 @@
             considered equal in the predicate version if <code class="computeroutput"><span class="identifier">pred</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">)</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>.
           </p>
 <a name="range.reference.algorithms.non_mutating.equal.definition"></a><h6>
-<a name="id723283"></a>
+<a name="id715354"></a>
             <a class="link" href="equal.html#range.reference.algorithms.non_mutating.equal.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">equal</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.equal.requirements"></a><h6>
-<a name="id723353"></a>
+<a name="id715424"></a>
             <a class="link" href="equal.html#range.reference.algorithms.non_mutating.equal.requirements">Requirements</a>
           </h6>
 <p>
@@ -138,7 +138,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.equal.complexity"></a><h6>
-<a name="id723663"></a>
+<a name="id715734"></a>
             <a class="link" href="equal.html#range.reference.algorithms.non_mutating.equal.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/equal_range.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/equal_range.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/equal_range.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.equal_range"></a><a class="link" href="equal_range.html" title="equal_range">equal_range</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.equal_range.prototype"></a><h6>
-<a name="id723754"></a>
+<a name="id715826"></a>
             <a class="link" href="equal_range.html#range.reference.algorithms.non_mutating.equal_range.prototype">Prototype</a>
           </h6>
 <p>
@@ -70,7 +70,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.equal_range.description"></a><h6>
-<a name="id724626"></a>
+<a name="id716698"></a>
             <a class="link" href="equal_range.html#range.reference.algorithms.non_mutating.equal_range.description">Description</a>
           </h6>
 <p>
@@ -84,14 +84,14 @@
             is determined by <code class="computeroutput"><span class="identifier">pred</span></code>.
           </p>
 <a name="range.reference.algorithms.non_mutating.equal_range.definition"></a><h6>
-<a name="id724769"></a>
+<a name="id716841"></a>
             <a class="link" href="equal_range.html#range.reference.algorithms.non_mutating.equal_range.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">equal_range</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.equal_range.requirements"></a><h6>
-<a name="id724839"></a>
+<a name="id716911"></a>
             <a class="link" href="equal_range.html#range.reference.algorithms.non_mutating.equal_range.requirements">Requirements</a>
           </h6>
 <p>
@@ -142,7 +142,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.equal_range.precondition_"></a><h6>
-<a name="id725107"></a>
+<a name="id717180"></a>
             <a class="link" href="equal_range.html#range.reference.algorithms.non_mutating.equal_range.precondition_">Precondition:</a>
           </h6>
 <p>
@@ -154,7 +154,7 @@
             is ordered in ascending order according to <code class="computeroutput"><span class="identifier">pred</span></code>.
           </p>
 <a name="range.reference.algorithms.non_mutating.equal_range.complexity"></a><h6>
-<a name="id725182"></a>
+<a name="id717254"></a>
             <a class="link" href="equal_range.html#range.reference.algorithms.non_mutating.equal_range.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.find"></a><a class="link" href="find.html" title="find">find</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.find.prototype"></a><h6>
-<a name="id725845"></a>
+<a name="id717917"></a>
             <a class="link" href="find.html#range.reference.algorithms.non_mutating.find.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.find.description"></a><h6>
-<a name="id726134"></a>
+<a name="id718205"></a>
             <a class="link" href="find.html#range.reference.algorithms.non_mutating.find.description">Description</a>
           </h6>
 <p>
@@ -59,14 +59,14 @@
             same manner as the returned iterator described above.
           </p>
 <a name="range.reference.algorithms.non_mutating.find.definition"></a><h6>
-<a name="id726250"></a>
+<a name="id718322"></a>
             <a class="link" href="find.html#range.reference.algorithms.non_mutating.find.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">find</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.find.requirements"></a><h6>
-<a name="id726320"></a>
+<a name="id718392"></a>
             <a class="link" href="find.html#range.reference.algorithms.non_mutating.find.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -87,7 +87,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.find.complexity"></a><h6>
-<a name="id726439"></a>
+<a name="id718511"></a>
             <a class="link" href="find.html#range.reference.algorithms.non_mutating.find.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find_end.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find_end.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find_end.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.find_end"></a><a class="link" href="find_end.html" title="find_end">find_end</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.find_end.prototype"></a><h6>
-<a name="id726503"></a>
+<a name="id718575"></a>
             <a class="link" href="find_end.html#range.reference.algorithms.non_mutating.find_end.prototype">Prototype</a>
           </h6>
 <p>
@@ -65,7 +65,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.find_end.description"></a><h6>
-<a name="id727163"></a>
+<a name="id719235"></a>
             <a class="link" href="find_end.html#range.reference.algorithms.non_mutating.find_end.description">Description</a>
           </h6>
 <p>
@@ -80,14 +80,14 @@
             same manner as the returned iterator described above.
           </p>
 <a name="range.reference.algorithms.non_mutating.find_end.definition"></a><h6>
-<a name="id727287"></a>
+<a name="id719359"></a>
             <a class="link" href="find_end.html#range.reference.algorithms.non_mutating.find_end.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">find_end</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.find_end.requirements"></a><h6>
-<a name="id727358"></a>
+<a name="id719430"></a>
             <a class="link" href="find_end.html#range.reference.algorithms.non_mutating.find_end.requirements">Requirements</a>
           </h6>
 <p>
@@ -147,7 +147,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.find_end.complexity"></a><h6>
-<a name="id727670"></a>
+<a name="id719742"></a>
             <a class="link" href="find_end.html#range.reference.algorithms.non_mutating.find_end.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find_first_of.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find_first_of.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find_first_of.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.find_first_of"></a><a class="link" href="find_first_of.html" title="find_first_of">find_first_of</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.find_first_of.prototype"></a><h6>
-<a name="id727840"></a>
+<a name="id719912"></a>
             <a class="link" href="find_first_of.html#range.reference.algorithms.non_mutating.find_first_of.prototype">Prototype</a>
           </h6>
 <p>
@@ -65,7 +65,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.find_first_of.description"></a><h6>
-<a name="id728499"></a>
+<a name="id720570"></a>
             <a class="link" href="find_first_of.html#range.reference.algorithms.non_mutating.find_first_of.description">Description</a>
           </h6>
 <p>
@@ -85,14 +85,14 @@
             same manner as the returned iterator described above.
           </p>
 <a name="range.reference.algorithms.non_mutating.find_first_of.definition"></a><h6>
-<a name="id728627"></a>
+<a name="id720699"></a>
             <a class="link" href="find_first_of.html#range.reference.algorithms.non_mutating.find_first_of.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">find_first_of</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.find_first_of.requirements"></a><h6>
-<a name="id728699"></a>
+<a name="id720771"></a>
             <a class="link" href="find_first_of.html#range.reference.algorithms.non_mutating.find_first_of.requirements">Requirements</a>
           </h6>
 <p>
@@ -146,7 +146,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.find_first_of.complexity"></a><h6>
-<a name="id728965"></a>
+<a name="id721037"></a>
             <a class="link" href="find_first_of.html#range.reference.algorithms.non_mutating.find_first_of.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find_if.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find_if.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/find_if.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.find_if"></a><a class="link" href="find_if.html" title="find_if">find_if</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.find_if.prototype"></a><h6>
-<a name="id729054"></a>
+<a name="id721127"></a>
             <a class="link" href="find_if.html#range.reference.algorithms.non_mutating.find_if.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.find_if.description"></a><h6>
-<a name="id729344"></a>
+<a name="id721417"></a>
             <a class="link" href="find_if.html#range.reference.algorithms.non_mutating.find_if.description">Description</a>
           </h6>
 <p>
@@ -63,14 +63,14 @@
             defines found in the same manner as the returned iterator described above.
           </p>
 <a name="range.reference.algorithms.non_mutating.find_if.definition"></a><h6>
-<a name="id729473"></a>
+<a name="id721545"></a>
             <a class="link" href="find_if.html#range.reference.algorithms.non_mutating.find_if.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">find_if</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.find_if.requirements"></a><h6>
-<a name="id729544"></a>
+<a name="id721616"></a>
             <a class="link" href="find_if.html#range.reference.algorithms.non_mutating.find_if.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -89,7 +89,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.find_if.precondition_"></a><h6>
-<a name="id729648"></a>
+<a name="id721721"></a>
             <a class="link" href="find_if.html#range.reference.algorithms.non_mutating.find_if.precondition_">Precondition:</a>
           </h6>
 <p>
@@ -97,7 +97,7 @@
             <code class="computeroutput"><span class="identifier">rng</span></code>, <code class="computeroutput"><span class="special">*</span><span class="identifier">i</span></code> is in the domain of <code class="computeroutput"><span class="identifier">UnaryPredicate</span></code>.
           </p>
 <a name="range.reference.algorithms.non_mutating.find_if.complexity"></a><h6>
-<a name="id729718"></a>
+<a name="id721791"></a>
             <a class="link" href="find_if.html#range.reference.algorithms.non_mutating.find_if.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/for_each.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/for_each.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/for_each.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.for_each"></a><a class="link" href="for_each.html" title="for_each">for_each</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.for_each.prototype"></a><h6>
-<a name="id725276"></a>
+<a name="id717348"></a>
             <a class="link" href="for_each.html#range.reference.algorithms.non_mutating.for_each.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.for_each.description"></a><h6>
-<a name="id725500"></a>
+<a name="id717573"></a>
             <a class="link" href="for_each.html#range.reference.algorithms.non_mutating.for_each.description">Description</a>
           </h6>
 <p>
@@ -58,14 +58,14 @@
             <code class="computeroutput"><span class="identifier">fun</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>.
           </p>
 <a name="range.reference.algorithms.non_mutating.for_each.definition"></a><h6>
-<a name="id725579"></a>
+<a name="id717651"></a>
             <a class="link" href="for_each.html#range.reference.algorithms.non_mutating.for_each.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">for_each</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.for_each.requirements"></a><h6>
-<a name="id725650"></a>
+<a name="id717722"></a>
             <a class="link" href="for_each.html#range.reference.algorithms.non_mutating.for_each.requirements">Requirements</a>
           </h6>
 <div class="itemizedlist"><ul class="itemizedlist" type="disc">
@@ -89,7 +89,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.for_each.complexity"></a><h6>
-<a name="id725772"></a>
+<a name="id717844"></a>
             <a class="link" href="for_each.html#range.reference.algorithms.non_mutating.for_each.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/lexicographical_compare.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/lexicographical_compare.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/lexicographical_compare.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.lexicographical_compare"></a><a class="link" href="lexicographical_compare.html" title="lexicographical_compare">lexicographical_compare</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.lexicographical_compare.prototype"></a><h6>
-<a name="id729795"></a>
+<a name="id721867"></a>
             <a class="link" href="lexicographical_compare.html#range.reference.algorithms.non_mutating.lexicographical_compare.prototype">Prototype</a>
           </h6>
 <p>
@@ -52,7 +52,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.lexicographical_compare.description"></a><h6>
-<a name="id730077"></a>
+<a name="id722150"></a>
             <a class="link" href="lexicographical_compare.html#range.reference.algorithms.non_mutating.lexicographical_compare.description">Description</a>
           </h6>
 <p>
@@ -72,14 +72,14 @@
             predicate versions.
           </p>
 <a name="range.reference.algorithms.non_mutating.lexicographical_compare.definition"></a><h6>
-<a name="id730245"></a>
+<a name="id722318"></a>
             <a class="link" href="lexicographical_compare.html#range.reference.algorithms.non_mutating.lexicographical_compare.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">lexicographical_compare</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.lexicographical_compare.requirements"></a><h6>
-<a name="id730316"></a>
+<a name="id722389"></a>
             <a class="link" href="lexicographical_compare.html#range.reference.algorithms.non_mutating.lexicographical_compare.requirements">Requirements</a>
           </h6>
 <p>
@@ -144,7 +144,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.lexicographical_compare.complexity"></a><h6>
-<a name="id730692"></a>
+<a name="id722764"></a>
             <a class="link" href="lexicographical_compare.html#range.reference.algorithms.non_mutating.lexicographical_compare.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/lower_bound.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/lower_bound.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/lower_bound.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.lower_bound"></a><a class="link" href="lower_bound.html" title="lower_bound">lower_bound</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.lower_bound.prototype"></a><h6>
-<a name="id730796"></a>
+<a name="id722868"></a>
             <a class="link" href="lower_bound.html#range.reference.algorithms.non_mutating.lower_bound.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.lower_bound.description"></a><h6>
-<a name="id731085"></a>
+<a name="id723158"></a>
             <a class="link" href="lower_bound.html#range.reference.algorithms.non_mutating.lower_bound.description">Description</a>
           </h6>
 <p>
@@ -71,14 +71,14 @@
             same manner as the returned iterator described above.
           </p>
 <a name="range.reference.algorithms.non_mutating.lower_bound.definition"></a><h6>
-<a name="id731275"></a>
+<a name="id723347"></a>
             <a class="link" href="lower_bound.html#range.reference.algorithms.non_mutating.lower_bound.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">lower_bound</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.lower_bound.requirements"></a><h6>
-<a name="id731346"></a>
+<a name="id723418"></a>
             <a class="link" href="lower_bound.html#range.reference.algorithms.non_mutating.lower_bound.requirements">Requirements</a>
           </h6>
 <p>
@@ -129,7 +129,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.lower_bound.precondition_"></a><h6>
-<a name="id731615"></a>
+<a name="id723687"></a>
             <a class="link" href="lower_bound.html#range.reference.algorithms.non_mutating.lower_bound.precondition_">Precondition:</a>
           </h6>
 <p>
@@ -147,7 +147,7 @@
             order according to <code class="computeroutput"><span class="identifier">pred</span></code>.
           </p>
 <a name="range.reference.algorithms.non_mutating.lower_bound.complexity"></a><h6>
-<a name="id731707"></a>
+<a name="id723780"></a>
             <a class="link" href="lower_bound.html#range.reference.algorithms.non_mutating.lower_bound.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/max_element.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/max_element.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/max_element.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.max_element"></a><a class="link" href="max_element.html" title="max_element">max_element</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.max_element.prototype"></a><h6>
-<a name="id731847"></a>
+<a name="id723919"></a>
             <a class="link" href="max_element.html#range.reference.algorithms.non_mutating.max_element.prototype">Prototype</a>
           </h6>
 <p>
@@ -83,7 +83,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.max_element.description"></a><h6>
-<a name="id732833"></a>
+<a name="id724905"></a>
             <a class="link" href="max_element.html#range.reference.algorithms.non_mutating.max_element.description">Description</a>
           </h6>
 <p>
@@ -97,14 +97,14 @@
             same manner as the returned iterator described above.
           </p>
 <a name="range.reference.algorithms.non_mutating.max_element.definition"></a><h6>
-<a name="id732927"></a>
+<a name="id725000"></a>
             <a class="link" href="max_element.html#range.reference.algorithms.non_mutating.max_element.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">max_element</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.max_element.requirements"></a><h6>
-<a name="id732999"></a>
+<a name="id725071"></a>
             <a class="link" href="max_element.html#range.reference.algorithms.non_mutating.max_element.requirements">Requirements</a>
           </h6>
 <p>
@@ -141,7 +141,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.max_element.complexity"></a><h6>
-<a name="id733176"></a>
+<a name="id725249"></a>
             <a class="link" href="max_element.html#range.reference.algorithms.non_mutating.max_element.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/min_element.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/min_element.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/min_element.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.min_element"></a><a class="link" href="min_element.html" title="min_element">min_element</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.min_element.prototype"></a><h6>
-<a name="id733276"></a>
+<a name="id725348"></a>
             <a class="link" href="min_element.html#range.reference.algorithms.non_mutating.min_element.prototype">Prototype</a>
           </h6>
 <p>
@@ -83,7 +83,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.min_element.description"></a><h6>
-<a name="id734263"></a>
+<a name="id726335"></a>
             <a class="link" href="min_element.html#range.reference.algorithms.non_mutating.min_element.description">Description</a>
           </h6>
 <p>
@@ -97,14 +97,14 @@
             same manner as the returned iterator described above.
           </p>
 <a name="range.reference.algorithms.non_mutating.min_element.definition"></a><h6>
-<a name="id734357"></a>
+<a name="id726429"></a>
             <a class="link" href="min_element.html#range.reference.algorithms.non_mutating.min_element.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">min_element</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.min_element.requirements"></a><h6>
-<a name="id734428"></a>
+<a name="id726500"></a>
             <a class="link" href="min_element.html#range.reference.algorithms.non_mutating.min_element.requirements">Requirements</a>
           </h6>
 <p>
@@ -141,7 +141,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.min_element.complexity"></a><h6>
-<a name="id734606"></a>
+<a name="id726678"></a>
             <a class="link" href="min_element.html#range.reference.algorithms.non_mutating.min_element.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/mismatch.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/mismatch.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/mismatch.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.mismatch"></a><a class="link" href="mismatch.html" title="mismatch">mismatch</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.mismatch.prototype"></a><h6>
-<a name="id734705"></a>
+<a name="id726777"></a>
             <a class="link" href="mismatch.html#range.reference.algorithms.non_mutating.mismatch.prototype">Prototype</a>
           </h6>
 <p>
@@ -105,7 +105,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.mismatch.description"></a><h6>
-<a name="id736409"></a>
+<a name="id728481"></a>
             <a class="link" href="mismatch.html#range.reference.algorithms.non_mutating.mismatch.description">Description</a>
           </h6>
 <p>
@@ -117,14 +117,14 @@
             Equality is determined by <code class="computeroutput"><span class="keyword">operator</span><span class="special">==</span></code> for non-predicate versions of <code class="computeroutput"><span class="identifier">mismatch</span></code>, and by satisfying <code class="computeroutput"><span class="identifier">pred</span></code> in the predicate versions.
           </p>
 <a name="range.reference.algorithms.non_mutating.mismatch.definition"></a><h6>
-<a name="id736505"></a>
+<a name="id728578"></a>
             <a class="link" href="mismatch.html#range.reference.algorithms.non_mutating.mismatch.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">mismatch</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.mismatch.requirements"></a><h6>
-<a name="id736576"></a>
+<a name="id728648"></a>
             <a class="link" href="mismatch.html#range.reference.algorithms.non_mutating.mismatch.requirements">Requirements</a>
           </h6>
 <p>
@@ -185,14 +185,14 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.mismatch.precondition_"></a><h6>
-<a name="id736887"></a>
+<a name="id728960"></a>
             <a class="link" href="mismatch.html#range.reference.algorithms.non_mutating.mismatch.precondition_">Precondition:</a>
           </h6>
 <p>
             <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">)</span> <span class="special">&gt;=</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.mismatch.complexity"></a><h6>
-<a name="id736960"></a>
+<a name="id729032"></a>
             <a class="link" href="mismatch.html#range.reference.algorithms.non_mutating.mismatch.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/search.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/search.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/search.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.search"></a><a class="link" href="search.html" title="search">search</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.search.prototype"></a><h6>
-<a name="id737024"></a>
+<a name="id729096"></a>
             <a class="link" href="search.html#range.reference.algorithms.non_mutating.search.prototype">Prototype</a>
           </h6>
 <p>
@@ -95,7 +95,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.search.description"></a><h6>
-<a name="id738362"></a>
+<a name="id730434"></a>
             <a class="link" href="search.html#range.reference.algorithms.non_mutating.search.description">Description</a>
           </h6>
 <p>
@@ -114,14 +114,14 @@
             same manner as the returned iterator described above.
           </p>
 <a name="range.reference.algorithms.non_mutating.search.definition"></a><h6>
-<a name="id738525"></a>
+<a name="id730597"></a>
             <a class="link" href="search.html#range.reference.algorithms.non_mutating.search.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">search</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.search.requirements"></a><h6>
-<a name="id738596"></a>
+<a name="id730668"></a>
             <a class="link" href="search.html#range.reference.algorithms.non_mutating.search.requirements">Requirements</a>
           </h6>
 <p>
@@ -182,7 +182,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.search.complexity"></a><h6>
-<a name="id738907"></a>
+<a name="id730979"></a>
             <a class="link" href="search.html#range.reference.algorithms.non_mutating.search.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/search_n.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/search_n.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/search_n.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.search_n"></a><a class="link" href="search_n.html" title="search_n">search_n</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.search_n.prototype"></a><h6>
-<a name="id738948"></a>
+<a name="id731020"></a>
             <a class="link" href="search_n.html#range.reference.algorithms.non_mutating.search_n.prototype">Prototype</a>
           </h6>
 <p>
@@ -54,7 +54,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.search_n.description"></a><h6>
-<a name="id739697"></a>
+<a name="id731769"></a>
             <a class="link" href="search_n.html#range.reference.algorithms.non_mutating.search_n.description">Description</a>
           </h6>
 <p>
@@ -63,14 +63,14 @@
             and by a predicate when one is supplied.
           </p>
 <a name="range.reference.algorithms.non_mutating.search_n.definition"></a><h6>
-<a name="id739763"></a>
+<a name="id731836"></a>
             <a class="link" href="search_n.html#range.reference.algorithms.non_mutating.search_n.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">search_n</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.search_n.requirements"></a><h6>
-<a name="id739834"></a>
+<a name="id731906"></a>
             <a class="link" href="search_n.html#range.reference.algorithms.non_mutating.search_n.requirements">Requirements</a>
           </h6>
 <p>
@@ -124,7 +124,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.search_n.complexity"></a><h6>
-<a name="id740123"></a>
+<a name="id732195"></a>
             <a class="link" href="search_n.html#range.reference.algorithms.non_mutating.search_n.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/upper_bound.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/upper_bound.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/non_mutating/upper_bound.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.non_mutating.upper_bound"></a><a class="link" href="upper_bound.html" title="upper_bound">upper_bound</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.non_mutating.upper_bound.prototype"></a><h6>
-<a name="id740164"></a>
+<a name="id732236"></a>
             <a class="link" href="upper_bound.html#range.reference.algorithms.non_mutating.upper_bound.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.non_mutating.upper_bound.description"></a><h6>
-<a name="id740453"></a>
+<a name="id732525"></a>
             <a class="link" href="upper_bound.html#range.reference.algorithms.non_mutating.upper_bound.description">Description</a>
           </h6>
 <p>
@@ -70,14 +70,14 @@
             same manner as the returned iterator described above.
           </p>
 <a name="range.reference.algorithms.non_mutating.upper_bound.definition"></a><h6>
-<a name="id740647"></a>
+<a name="id732719"></a>
             <a class="link" href="upper_bound.html#range.reference.algorithms.non_mutating.upper_bound.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">upper_bound</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.non_mutating.upper_bound.requirements"></a><h6>
-<a name="id740718"></a>
+<a name="id732790"></a>
             <a class="link" href="upper_bound.html#range.reference.algorithms.non_mutating.upper_bound.requirements">Requirements</a>
           </h6>
 <p>
@@ -128,7 +128,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.non_mutating.upper_bound.precondition_"></a><h6>
-<a name="id740986"></a>
+<a name="id733059"></a>
             <a class="link" href="upper_bound.html#range.reference.algorithms.non_mutating.upper_bound.precondition_">Precondition:</a>
           </h6>
 <p>
@@ -146,7 +146,7 @@
             order according to <code class="computeroutput"><span class="identifier">pred</span></code>.
           </p>
 <a name="range.reference.algorithms.non_mutating.upper_bound.complexity"></a><h6>
-<a name="id741078"></a>
+<a name="id733150"></a>
             <a class="link" href="upper_bound.html#range.reference.algorithms.non_mutating.upper_bound.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/numeric/accumulate.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/numeric/accumulate.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/numeric/accumulate.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.numeric.accumulate"></a><a class="link" href="accumulate.html" title="accumulate">accumulate</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.numeric.accumulate.prototype"></a><h6>
-<a name="id758668"></a>
+<a name="id750741"></a>
             <a class="link" href="accumulate.html#range.reference.algorithms.numeric.accumulate.prototype">Prototype</a>
           </h6>
 <p>
@@ -52,7 +52,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.numeric.accumulate.description"></a><h6>
-<a name="id758929"></a>
+<a name="id751002"></a>
             <a class="link" href="accumulate.html#range.reference.algorithms.numeric.accumulate.description">Description</a>
           </h6>
 <p>
@@ -63,18 +63,18 @@
             The return value is the resultant value of the above algorithm.
           </p>
 <a name="range.reference.algorithms.numeric.accumulate.definition"></a><h6>
-<a name="id759004"></a>
+<a name="id751077"></a>
             <a class="link" href="accumulate.html#range.reference.algorithms.numeric.accumulate.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">numeric</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.numeric.accumulate.requirements"></a><h6>
-<a name="id759066"></a>
+<a name="id751139"></a>
             <a class="link" href="accumulate.html#range.reference.algorithms.numeric.accumulate.requirements">Requirements</a>
           </h6>
 <a name="range.reference.algorithms.numeric.accumulate.for_the_first_version"></a><h6>
-<a name="id759087"></a>
+<a name="id751160"></a>
             <a class="link" href="accumulate.html#range.reference.algorithms.numeric.accumulate.for_the_first_version">For
             the first version</a>
           </h6>
@@ -99,7 +99,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.numeric.accumulate.for_the_second_version"></a><h6>
-<a name="id759229"></a>
+<a name="id751302"></a>
             <a class="link" href="accumulate.html#range.reference.algorithms.numeric.accumulate.for_the_second_version">For
             the second version</a>
           </h6>
@@ -133,7 +133,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.numeric.accumulate.complexity"></a><h6>
-<a name="id759422"></a>
+<a name="id751495"></a>
             <a class="link" href="accumulate.html#range.reference.algorithms.numeric.accumulate.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/numeric/adjacent_difference.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/numeric/adjacent_difference.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/numeric/adjacent_difference.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.numeric.adjacent_difference"></a><a class="link" href="adjacent_difference.html" title="adjacent_difference">adjacent_difference</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.numeric.adjacent_difference.prototype"></a><h6>
-<a name="id759487"></a>
+<a name="id751560"></a>
             <a class="link" href="adjacent_difference.html#range.reference.algorithms.numeric.adjacent_difference.prototype">Prototype</a>
           </h6>
 <p>
@@ -54,7 +54,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.numeric.adjacent_difference.description"></a><h6>
-<a name="id759751"></a>
+<a name="id751824"></a>
             <a class="link" href="adjacent_difference.html#range.reference.algorithms.numeric.adjacent_difference.description">Description</a>
           </h6>
 <p>
@@ -68,18 +68,18 @@
             instead of <code class="computeroutput"><span class="keyword">operator</span><span class="special">-()</span></code>.
           </p>
 <a name="range.reference.algorithms.numeric.adjacent_difference.definition"></a><h6>
-<a name="id759852"></a>
+<a name="id751925"></a>
             <a class="link" href="adjacent_difference.html#range.reference.algorithms.numeric.adjacent_difference.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">numeric</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.numeric.adjacent_difference.requirements"></a><h6>
-<a name="id759914"></a>
+<a name="id751986"></a>
             <a class="link" href="adjacent_difference.html#range.reference.algorithms.numeric.adjacent_difference.requirements">Requirements</a>
           </h6>
 <a name="range.reference.algorithms.numeric.adjacent_difference.for_the_first_version"></a><h6>
-<a name="id759935"></a>
+<a name="id752008"></a>
             <a class="link" href="adjacent_difference.html#range.reference.algorithms.numeric.adjacent_difference.for_the_first_version">For
             the first version</a>
           </h6>
@@ -110,7 +110,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.numeric.adjacent_difference.for_the_second_version"></a><h6>
-<a name="id760142"></a>
+<a name="id752216"></a>
             <a class="link" href="adjacent_difference.html#range.reference.algorithms.numeric.adjacent_difference.for_the_second_version">For
             the second version</a>
           </h6>
@@ -145,7 +145,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.numeric.adjacent_difference.precondition_"></a><h6>
-<a name="id760336"></a>
+<a name="id752409"></a>
             <a class="link" href="adjacent_difference.html#range.reference.algorithms.numeric.adjacent_difference.precondition_">Precondition:</a>
           </h6>
 <p>
@@ -153,7 +153,7 @@
             <span class="special">+</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">))</span></code> is a valid range.
           </p>
 <a name="range.reference.algorithms.numeric.adjacent_difference.complexity"></a><h6>
-<a name="id760410"></a>
+<a name="id752483"></a>
             <a class="link" href="adjacent_difference.html#range.reference.algorithms.numeric.adjacent_difference.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/numeric/inner_product.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/numeric/inner_product.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/numeric/inner_product.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.numeric.inner_product"></a><a class="link" href="inner_product.html" title="inner_product">inner_product</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.numeric.inner_product.prototype"></a><h6>
-<a name="id760510"></a>
+<a name="id752584"></a>
             <a class="link" href="inner_product.html#range.reference.algorithms.numeric.inner_product.prototype">Prototype</a>
           </h6>
 <p>
@@ -53,7 +53,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.numeric.inner_product.description"></a><h6>
-<a name="id760873"></a>
+<a name="id752946"></a>
             <a class="link" href="inner_product.html#range.reference.algorithms.numeric.inner_product.description">Description</a>
           </h6>
 <p>
@@ -66,18 +66,18 @@
             algorithm please see inner_product.
           </p>
 <a name="range.reference.algorithms.numeric.inner_product.definition"></a><h6>
-<a name="id760949"></a>
+<a name="id753022"></a>
             <a class="link" href="inner_product.html#range.reference.algorithms.numeric.inner_product.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">numeric</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.numeric.inner_product.requirements"></a><h6>
-<a name="id761010"></a>
+<a name="id753084"></a>
             <a class="link" href="inner_product.html#range.reference.algorithms.numeric.inner_product.requirements">Requirements</a>
           </h6>
 <a name="range.reference.algorithms.numeric.inner_product.for_the_first_version"></a><h6>
-<a name="id761031"></a>
+<a name="id753104"></a>
             <a class="link" href="inner_product.html#range.reference.algorithms.numeric.inner_product.for_the_first_version">For
             the first version</a>
           </h6>
@@ -112,7 +112,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.numeric.inner_product.for_the_second_version"></a><h6>
-<a name="id761288"></a>
+<a name="id753362"></a>
             <a class="link" href="inner_product.html#range.reference.algorithms.numeric.inner_product.for_the_second_version">For
             the second version</a>
           </h6>
@@ -161,14 +161,14 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.numeric.inner_product.precondition_"></a><h6>
-<a name="id761589"></a>
+<a name="id753663"></a>
             <a class="link" href="inner_product.html#range.reference.algorithms.numeric.inner_product.precondition_">Precondition:</a>
           </h6>
 <p>
             <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">)</span> <span class="special">&gt;=</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span></code> is a valid range.
           </p>
 <a name="range.reference.algorithms.numeric.inner_product.complexity"></a><h6>
-<a name="id761662"></a>
+<a name="id753736"></a>
             <a class="link" href="inner_product.html#range.reference.algorithms.numeric.inner_product.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/numeric/partial_sum.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/numeric/partial_sum.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/numeric/partial_sum.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.numeric.partial_sum"></a><a class="link" href="partial_sum.html" title="partial_sum">partial_sum</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.numeric.partial_sum.prototype"></a><h6>
-<a name="id761728"></a>
+<a name="id753801"></a>
             <a class="link" href="partial_sum.html#range.reference.algorithms.numeric.partial_sum.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.numeric.partial_sum.description"></a><h6>
-<a name="id761985"></a>
+<a name="id754058"></a>
             <a class="link" href="partial_sum.html#range.reference.algorithms.numeric.partial_sum.description">Description</a>
           </h6>
 <p>
@@ -57,18 +57,18 @@
             in the same manner as <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">partial_sum</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">rng</span><span class="special">),</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">),</span> <span class="identifier">out_it</span><span class="special">)</span></code>. See partial_sum.
           </p>
 <a name="range.reference.algorithms.numeric.partial_sum.definition"></a><h6>
-<a name="id762125"></a>
+<a name="id754198"></a>
             <a class="link" href="partial_sum.html#range.reference.algorithms.numeric.partial_sum.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">numeric</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.numeric.partial_sum.requirements"></a><h6>
-<a name="id762186"></a>
+<a name="id754259"></a>
             <a class="link" href="partial_sum.html#range.reference.algorithms.numeric.partial_sum.requirements">Requirements</a>
           </h6>
 <a name="range.reference.algorithms.numeric.partial_sum.for_the_first_version"></a><h6>
-<a name="id762206"></a>
+<a name="id754280"></a>
             <a class="link" href="partial_sum.html#range.reference.algorithms.numeric.partial_sum.for_the_first_version">For
             the first version</a>
           </h6>
@@ -98,7 +98,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.numeric.partial_sum.for_the_second_version"></a><h6>
-<a name="id762414"></a>
+<a name="id754487"></a>
             <a class="link" href="partial_sum.html#range.reference.algorithms.numeric.partial_sum.for_the_second_version">For
             the second version</a>
           </h6>
@@ -127,7 +127,7 @@
               </li>
 </ol></div>
 <a name="range.reference.algorithms.numeric.partial_sum.precondition_"></a><h6>
-<a name="id762579"></a>
+<a name="id754652"></a>
             <a class="link" href="partial_sum.html#range.reference.algorithms.numeric.partial_sum.precondition_">Precondition:</a>
           </h6>
 <p>
@@ -135,7 +135,7 @@
             <span class="special">+</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">))</span></code> is a valid range.
           </p>
 <a name="range.reference.algorithms.numeric.partial_sum.complexity"></a><h6>
-<a name="id762652"></a>
+<a name="id754726"></a>
             <a class="link" href="partial_sum.html#range.reference.algorithms.numeric.partial_sum.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/permutation/next_permutation.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/permutation/next_permutation.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/permutation/next_permutation.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.permutation.next_permutation"></a><a class="link" href="next_permutation.html" title="next_permutation">next_permutation</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.permutation.next_permutation.prototype"></a><h6>
-<a name="id750959"></a>
+<a name="id743032"></a>
             <a class="link" href="next_permutation.html#range.reference.algorithms.permutation.next_permutation.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.permutation.next_permutation.description"></a><h6>
-<a name="id751305"></a>
+<a name="id743378"></a>
             <a class="link" href="next_permutation.html#range.reference.algorithms.permutation.next_permutation.description">Description</a>
           </h6>
 <p>
@@ -66,14 +66,14 @@
             the predicate versions.
           </p>
 <a name="range.reference.algorithms.permutation.next_permutation.definition"></a><h6>
-<a name="id751404"></a>
+<a name="id743477"></a>
             <a class="link" href="next_permutation.html#range.reference.algorithms.permutation.next_permutation.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">permutation</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.permutation.next_permutation.requirements"></a><h6>
-<a name="id751475"></a>
+<a name="id743548"></a>
             <a class="link" href="next_permutation.html#range.reference.algorithms.permutation.next_permutation.requirements">Requirements</a>
           </h6>
 <p>
@@ -124,7 +124,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.permutation.next_permutation.complexity"></a><h6>
-<a name="id751723"></a>
+<a name="id743796"></a>
             <a class="link" href="next_permutation.html#range.reference.algorithms.permutation.next_permutation.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/permutation/prev_permutation.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/permutation/prev_permutation.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/permutation/prev_permutation.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.permutation.prev_permutation"></a><a class="link" href="prev_permutation.html" title="prev_permutation">prev_permutation</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.permutation.prev_permutation.prototype"></a><h6>
-<a name="id751799"></a>
+<a name="id743872"></a>
             <a class="link" href="prev_permutation.html#range.reference.algorithms.permutation.prev_permutation.prototype">Prototype</a>
           </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.permutation.prev_permutation.description"></a><h6>
-<a name="id752146"></a>
+<a name="id744218"></a>
             <a class="link" href="prev_permutation.html#range.reference.algorithms.permutation.prev_permutation.description">Description</a>
           </h6>
 <p>
@@ -66,14 +66,14 @@
             the predicate versions.
           </p>
 <a name="range.reference.algorithms.permutation.prev_permutation.definition"></a><h6>
-<a name="id752245"></a>
+<a name="id744318"></a>
             <a class="link" href="prev_permutation.html#range.reference.algorithms.permutation.prev_permutation.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">permutation</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.permutation.prev_permutation.requirements"></a><h6>
-<a name="id752316"></a>
+<a name="id744389"></a>
             <a class="link" href="prev_permutation.html#range.reference.algorithms.permutation.prev_permutation.requirements">Requirements</a>
           </h6>
 <p>
@@ -124,7 +124,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.permutation.prev_permutation.complexity"></a><h6>
-<a name="id752565"></a>
+<a name="id744638"></a>
             <a class="link" href="prev_permutation.html#range.reference.algorithms.permutation.prev_permutation.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/set/includes.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/set/includes.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/set/includes.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.set.includes"></a><a class="link" href="includes.html" title="includes">includes</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.set.includes.prototype"></a><h6>
-<a name="id741228"></a>
+<a name="id733300"></a>
             <a class="link" href="includes.html#range.reference.algorithms.set.includes.prototype">Prototype</a>
           </h6>
 <p>
@@ -47,7 +47,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.set.includes.description"></a><h6>
-<a name="id741508"></a>
+<a name="id733580"></a>
             <a class="link" href="includes.html#range.reference.algorithms.set.includes.description">Description</a>
           </h6>
 <p>
@@ -59,14 +59,14 @@
             the predicate versions.
           </p>
 <a name="range.reference.algorithms.set.includes.definition"></a><h6>
-<a name="id741601"></a>
+<a name="id733674"></a>
             <a class="link" href="includes.html#range.reference.algorithms.set.includes.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">set_algorithm</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.set.includes.requirements"></a><h6>
-<a name="id741671"></a>
+<a name="id733743"></a>
             <a class="link" href="includes.html#range.reference.algorithms.set.includes.requirements">Requirements</a>
           </h6>
 <p>
@@ -144,7 +144,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.set.includes.precondition_"></a><h6>
-<a name="id742080"></a>
+<a name="id734152"></a>
             <a class="link" href="includes.html#range.reference.algorithms.set.includes.precondition_">Precondition:</a>
           </h6>
 <p>
@@ -162,7 +162,7 @@
             according to <code class="computeroutput"><span class="identifier">pred</span></code>.
           </p>
 <a name="range.reference.algorithms.set.includes.complexity"></a><h6>
-<a name="id742194"></a>
+<a name="id734266"></a>
             <a class="link" href="includes.html#range.reference.algorithms.set.includes.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/set/set_difference.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/set/set_difference.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/set/set_difference.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.set.set_difference"></a><a class="link" href="set_difference.html" title="set_difference">set_difference</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.set.set_difference.prototype"></a><h6>
-<a name="id744721"></a>
+<a name="id736793"></a>
             <a class="link" href="set_difference.html#range.reference.algorithms.set.set_difference.prototype">Prototype</a>
           </h6>
 <p>
@@ -56,7 +56,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.set.set_difference.description"></a><h6>
-<a name="id745067"></a>
+<a name="id737139"></a>
             <a class="link" href="set_difference.html#range.reference.algorithms.set.set_difference.description">Description</a>
           </h6>
 <p>
@@ -70,14 +70,14 @@
             the predicate versions.
           </p>
 <a name="range.reference.algorithms.set.set_difference.definition"></a><h6>
-<a name="id745154"></a>
+<a name="id737226"></a>
             <a class="link" href="set_difference.html#range.reference.algorithms.set.set_difference.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">set_algorithm</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.set.set_difference.requirements"></a><h6>
-<a name="id745225"></a>
+<a name="id737297"></a>
             <a class="link" href="set_difference.html#range.reference.algorithms.set.set_difference.requirements">Requirements</a>
           </h6>
 <p>
@@ -163,7 +163,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.set.set_difference.precondition_"></a><h6>
-<a name="id745690"></a>
+<a name="id737763"></a>
             <a class="link" href="set_difference.html#range.reference.algorithms.set.set_difference.precondition_">Precondition:</a>
           </h6>
 <p>
@@ -181,7 +181,7 @@
             according to <code class="computeroutput"><span class="identifier">pred</span></code>.
           </p>
 <a name="range.reference.algorithms.set.set_difference.complexity"></a><h6>
-<a name="id745805"></a>
+<a name="id737877"></a>
             <a class="link" href="set_difference.html#range.reference.algorithms.set.set_difference.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/set/set_intersection.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/set/set_intersection.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/set/set_intersection.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.set.set_intersection"></a><a class="link" href="set_intersection.html" title="set_intersection">set_intersection</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.set.set_intersection.prototype"></a><h6>
-<a name="id743516"></a>
+<a name="id735588"></a>
             <a class="link" href="set_intersection.html#range.reference.algorithms.set.set_intersection.prototype">Prototype</a>
           </h6>
 <p>
@@ -56,7 +56,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.set.set_intersection.description"></a><h6>
-<a name="id743862"></a>
+<a name="id735934"></a>
             <a class="link" href="set_intersection.html#range.reference.algorithms.set.set_intersection.description">Description</a>
           </h6>
 <p>
@@ -70,14 +70,14 @@
             the predicate versions.
           </p>
 <a name="range.reference.algorithms.set.set_intersection.definition"></a><h6>
-<a name="id743949"></a>
+<a name="id736021"></a>
             <a class="link" href="set_intersection.html#range.reference.algorithms.set.set_intersection.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">set_algorithm</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.set.set_intersection.requirements"></a><h6>
-<a name="id744019"></a>
+<a name="id736091"></a>
             <a class="link" href="set_intersection.html#range.reference.algorithms.set.set_intersection.requirements">Requirements</a>
           </h6>
 <p>
@@ -163,7 +163,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.set.set_intersection.precondition_"></a><h6>
-<a name="id744484"></a>
+<a name="id736557"></a>
             <a class="link" href="set_intersection.html#range.reference.algorithms.set.set_intersection.precondition_">Precondition:</a>
           </h6>
 <p>
@@ -181,7 +181,7 @@
             according to <code class="computeroutput"><span class="identifier">pred</span></code>.
           </p>
 <a name="range.reference.algorithms.set.set_intersection.complexity"></a><h6>
-<a name="id744599"></a>
+<a name="id736671"></a>
             <a class="link" href="set_intersection.html#range.reference.algorithms.set.set_intersection.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/set/set_symmetric_difference.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/set/set_symmetric_difference.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/set/set_symmetric_difference.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.set.set_symmetric_difference"></a><a class="link" href="set_symmetric_difference.html" title="set_symmetric_difference">set_symmetric_difference</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.set.set_symmetric_difference.prototype"></a><h6>
-<a name="id745928"></a>
+<a name="id738000"></a>
             <a class="link" href="set_symmetric_difference.html#range.reference.algorithms.set.set_symmetric_difference.prototype">Prototype</a>
           </h6>
 <p>
@@ -58,7 +58,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.set.set_symmetric_difference.description"></a><h6>
-<a name="id746274"></a>
+<a name="id738347"></a>
             <a class="link" href="set_symmetric_difference.html#range.reference.algorithms.set.set_symmetric_difference.description">Description</a>
           </h6>
 <p>
@@ -74,14 +74,14 @@
             the predicate versions.
           </p>
 <a name="range.reference.algorithms.set.set_symmetric_difference.definition"></a><h6>
-<a name="id746362"></a>
+<a name="id738434"></a>
             <a class="link" href="set_symmetric_difference.html#range.reference.algorithms.set.set_symmetric_difference.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">set_algorithm</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.set.set_symmetric_difference.requirements"></a><h6>
-<a name="id746432"></a>
+<a name="id738504"></a>
             <a class="link" href="set_symmetric_difference.html#range.reference.algorithms.set.set_symmetric_difference.requirements">Requirements</a>
           </h6>
 <p>
@@ -167,7 +167,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.set.set_symmetric_difference.precondition_"></a><h6>
-<a name="id746896"></a>
+<a name="id738968"></a>
             <a class="link" href="set_symmetric_difference.html#range.reference.algorithms.set.set_symmetric_difference.precondition_">Precondition:</a>
           </h6>
 <p>
@@ -185,7 +185,7 @@
             according to <code class="computeroutput"><span class="identifier">pred</span></code>.
           </p>
 <a name="range.reference.algorithms.set.set_symmetric_difference.complexity"></a><h6>
-<a name="id747010"></a>
+<a name="id739082"></a>
             <a class="link" href="set_symmetric_difference.html#range.reference.algorithms.set.set_symmetric_difference.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/algorithms/set/set_union.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/algorithms/set/set_union.html (original)
+++ branches/release/libs/range/doc/html/range/reference/algorithms/set/set_union.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.algorithms.set.set_union"></a><a class="link" href="set_union.html" title="set_union">set_union</a>
 </h5></div></div></div>
 <a name="range.reference.algorithms.set.set_union.prototype"></a><h6>
-<a name="id742315"></a>
+<a name="id734387"></a>
             <a class="link" href="set_union.html#range.reference.algorithms.set.set_union.prototype">Prototype</a>
           </h6>
 <p>
@@ -56,7 +56,7 @@
 <p>
           </p>
 <a name="range.reference.algorithms.set.set_union.description"></a><h6>
-<a name="id742661"></a>
+<a name="id734733"></a>
             <a class="link" href="set_union.html#range.reference.algorithms.set.set_union.description">Description</a>
           </h6>
 <p>
@@ -69,14 +69,14 @@
             in the predicate versions.
           </p>
 <a name="range.reference.algorithms.set.set_union.definition"></a><h6>
-<a name="id742744"></a>
+<a name="id734816"></a>
             <a class="link" href="set_union.html#range.reference.algorithms.set.set_union.definition">Definition</a>
           </h6>
 <p>
             Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">algorithm</span><span class="special">/</span><span class="identifier">set_algorithm</span><span class="special">.</span><span class="identifier">hpp</span></code>
           </p>
 <a name="range.reference.algorithms.set.set_union.requirements"></a><h6>
-<a name="id742815"></a>
+<a name="id734887"></a>
             <a class="link" href="set_union.html#range.reference.algorithms.set.set_union.requirements">Requirements</a>
           </h6>
 <p>
@@ -162,7 +162,7 @@
               </li>
 </ul></div>
 <a name="range.reference.algorithms.set.set_union.precondition_"></a><h6>
-<a name="id743280"></a>
+<a name="id735352"></a>
             <a class="link" href="set_union.html#range.reference.algorithms.set.set_union.precondition_">Precondition:</a>
           </h6>
 <p>
@@ -180,7 +180,7 @@
             according to <code class="computeroutput"><span class="identifier">pred</span></code>.
           </p>
 <a name="range.reference.algorithms.set.set_union.complexity"></a><h6>
-<a name="id743392"></a>
+<a name="id735465"></a>
             <a class="link" href="set_union.html#range.reference.algorithms.set.set_union.complexity">Complexity</a>
           </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/concept_implementation/semantics.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/concept_implementation/semantics.html (original)
+++ branches/release/libs/range/doc/html/range/reference/concept_implementation/semantics.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -31,7 +31,7 @@
 <dt><span class="section">Functions</span></dt>
 </dl></div>
 <a name="range.reference.concept_implementation.semantics.notation"></a><h6>
-<a name="id665247"></a>
+<a name="id654700"></a>
           <a class="link" href="semantics.html#range.reference.concept_implementation.semantics.notation">notation</a>
         </h6>
 <div class="informaltable"><table class="table">

Modified: branches/release/libs/range/doc/html/range/reference/concept_implementation/semantics/functions.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/concept_implementation/semantics/functions.html (original)
+++ branches/release/libs/range/doc/html/range/reference/concept_implementation/semantics/functions.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -168,27 +168,10 @@
                   </td>
 <td>
                     <p>
- <code class="computeroutput"><span class="identifier">The</span> <span class="identifier">size</span>
- <span class="identifier">of</span> <span class="identifier">the</span>
- <span class="identifier">range</span> <span class="identifier">with</span>
- <span class="identifier">complexity</span> <span class="identifier">O</span><span class="special">(</span><span class="number">1</span><span class="special">).</span> <span class="identifier">For</span>
- <span class="identifier">RandomAccessRanges</span> <span class="keyword">this</span> <span class="identifier">is</span>
- <span class="identifier">achieved</span> <span class="identifier">via</span>
- <span class="identifier">boost</span><span class="special">::</span><span class="identifier">end</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span>
- <span class="special">-</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">x</span><span class="special">).</span> <span class="identifier">For</span>
- <span class="identifier">other</span> <span class="identifier">traversal</span>
- <span class="identifier">categories</span> <span class="identifier">range_calculate_size</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="identifier">is</span>
- <span class="identifier">returned</span><span class="special">.</span>
- <span class="identifier">Note</span> <span class="identifier">that</span>
- <span class="identifier">unless</span> <span class="identifier">range_calculate_size</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="identifier">has</span>
- <span class="identifier">been</span> <span class="identifier">implemented</span>
- <span class="identifier">by</span> <span class="identifier">the</span>
- <span class="identifier">user</span> <span class="identifier">as</span>
- <span class="identifier">an</span> <span class="identifier">extension</span>
- <span class="identifier">then</span> <span class="identifier">the</span>
- <span class="identifier">Argument</span> <span class="identifier">Dependent</span>
- <span class="identifier">Lookup</span> <span class="identifier">will</span>
- <span class="keyword">return</span> <span class="identifier">x</span><span class="special">.</span><span class="identifier">size</span><span class="special">()</span></code>
+ <code class="computeroutput"><span class="identifier">range_calculate_size</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> which by default is <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">end</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span>
+ <span class="special">-</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>. Users may supply alternative
+ implementations by implementing <code class="computeroutput"><span class="identifier">range_calculate_size</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> so that it will be found via
+ ADL
                     </p>
                   </td>
 <td>

Modified: branches/release/libs/range/doc/html/range/reference/ranges.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/ranges.html (original)
+++ branches/release/libs/range/doc/html/range/reference/ranges.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="up" href="../reference.html" title="Reference">
 <link rel="prev" href="algorithms/numeric/partial_sum.html" title="partial_sum">
-<link rel="next" href="ranges/counting_range.html" title="counting_range">
+<link rel="next" href="ranges/any_range.html" title="any_range">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,13 +20,14 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="algorithms/numeric/partial_sum.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ranges/counting_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="algorithms/numeric/partial_sum.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ranges/any_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="range.reference.ranges"></a><a class="link" href="ranges.html" title="Provided Ranges">Provided Ranges</a>
 </h3></div></div></div>
 <div class="toc"><dl>
+<dt><span class="section">any_range</span></dt>
 <dt><span class="section">counting_range</span></dt>
 <dt><span class="section">istream_range</span></dt>
 <dt><span class="section">irange</span></dt>
@@ -42,7 +43,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="algorithms/numeric/partial_sum.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ranges/counting_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="algorithms/numeric/partial_sum.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="ranges/any_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/release/libs/range/doc/html/range/reference/ranges/counting_range.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/ranges/counting_range.html (original)
+++ branches/release/libs/range/doc/html/range/reference/ranges/counting_range.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
 <link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="up" href="../ranges.html" title="Provided Ranges">
-<link rel="prev" href="../ranges.html" title="Provided Ranges">
+<link rel="prev" href="any_range.html" title="any_range">
 <link rel="next" href="istream_range.html" title="istream_range">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
@@ -20,14 +20,14 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../ranges.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ranges.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="istream_range.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="any_range.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ranges.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="istream_range.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 <div class="section">
 <div class="titlepage"><div><div><h4 class="title">
 <a name="range.reference.ranges.counting_range"></a><a class="link" href="counting_range.html" title="counting_range">counting_range</a>
 </h4></div></div></div>
 <a name="range.reference.ranges.counting_range.prototype"></a><h6>
-<a name="id762769"></a>
+<a name="id756497"></a>
           <a class="link" href="counting_range.html#range.reference.ranges.counting_range.prototype">Prototype</a>
         </h6>
 <p>
@@ -48,7 +48,7 @@
 <p>
         </p>
 <a name="range.reference.ranges.counting_range.description"></a><h6>
-<a name="id763151"></a>
+<a name="id756879"></a>
           <a class="link" href="counting_range.html#range.reference.ranges.counting_range.description">Description</a>
         </h6>
 <p>
@@ -58,14 +58,14 @@
           (from Boost.Iterator).
         </p>
 <a name="range.reference.ranges.counting_range.definition"></a><h6>
-<a name="id763206"></a>
+<a name="id756935"></a>
           <a class="link" href="counting_range.html#range.reference.ranges.counting_range.definition">Definition</a>
         </h6>
 <p>
           Defined in header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">counting_range</span><span class="special">.</span><span class="identifier">hpp</span></code>
         </p>
 <a name="range.reference.ranges.counting_range.requirements"></a><h6>
-<a name="id763267"></a>
+<a name="id756996"></a>
           <a class="link" href="counting_range.html#range.reference.ranges.counting_range.requirements">Requirements</a>
         </h6>
 <div class="orderedlist"><ol class="orderedlist" type="1"><li class="listitem">
@@ -84,7 +84,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../ranges.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ranges.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="istream_range.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
+<a accesskey="p" href="any_range.html"><img src="../../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ranges.html"><img src="../../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="istream_range.html"><img src="../../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: branches/release/libs/range/doc/html/range/reference/ranges/irange.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/ranges/irange.html (original)
+++ branches/release/libs/range/doc/html/range/reference/ranges/irange.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.ranges.irange"></a><a class="link" href="irange.html" title="irange">irange</a>
 </h4></div></div></div>
 <a name="range.reference.ranges.irange.prototype"></a><h6>
-<a name="id763696"></a>
+<a name="id757425"></a>
           <a class="link" href="irange.html#range.reference.ranges.irange.prototype">Prototype</a>
         </h6>
 <p>
@@ -44,7 +44,7 @@
 <p>
         </p>
 <a name="range.reference.ranges.irange.description"></a><h6>
-<a name="id763990"></a>
+<a name="id757718"></a>
           <a class="link" href="irange.html#range.reference.ranges.irange.description">Description</a>
         </h6>
 <p>
@@ -58,14 +58,14 @@
           parameters denoted a half-open range.
         </p>
 <a name="range.reference.ranges.irange.definition"></a><h6>
-<a name="id764067"></a>
+<a name="id757796"></a>
           <a class="link" href="irange.html#range.reference.ranges.irange.definition">Definition</a>
         </h6>
 <p>
           Defined in the header file <code class="computeroutput"><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">irange</span><span class="special">.</span><span class="identifier">hpp</span></code>
         </p>
 <a name="range.reference.ranges.irange.requirements"></a><h6>
-<a name="id764128"></a>
+<a name="id757857"></a>
           <a class="link" href="irange.html#range.reference.ranges.irange.requirements">Requirements</a>
         </h6>
 <div class="orderedlist"><ol class="orderedlist" type="1">
@@ -80,7 +80,7 @@
             </li>
 </ol></div>
 <a name="range.reference.ranges.irange.complexity"></a><h6>
-<a name="id764211"></a>
+<a name="id757940"></a>
           <a class="link" href="irange.html#range.reference.ranges.irange.complexity">Complexity</a>
         </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/ranges/istream_range.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/ranges/istream_range.html (original)
+++ branches/release/libs/range/doc/html/range/reference/ranges/istream_range.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -27,7 +27,7 @@
 <a name="range.reference.ranges.istream_range"></a><a class="link" href="istream_range.html" title="istream_range">istream_range</a>
 </h4></div></div></div>
 <a name="range.reference.ranges.istream_range.prototype"></a><h6>
-<a name="id763339"></a>
+<a name="id757067"></a>
           <a class="link" href="istream_range.html#range.reference.ranges.istream_range.prototype">Prototype</a>
         </h6>
 <p>
@@ -40,7 +40,7 @@
 <p>
         </p>
 <a name="range.reference.ranges.istream_range.description"></a><h6>
-<a name="id763555"></a>
+<a name="id757284"></a>
           <a class="link" href="istream_range.html#range.reference.ranges.istream_range.description">Description</a>
         </h6>
 <p>
@@ -49,7 +49,7 @@
           wrapping a <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">istream_iterator</span></code>.
         </p>
 <a name="range.reference.ranges.istream_range.definition"></a><h6>
-<a name="id763619"></a>
+<a name="id757348"></a>
           <a class="link" href="istream_range.html#range.reference.ranges.istream_range.definition">Definition</a>
         </h6>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/utilities/iterator_range.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/utilities/iterator_range.html (original)
+++ branches/release/libs/range/doc/html/range/reference/utilities/iterator_range.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -48,7 +48,7 @@
           type.
         </p>
 <a name="range.reference.utilities.iterator_range.synopsis"></a><h5>
-<a name="id764572"></a>
+<a name="id758301"></a>
           <a class="link" href="iterator_range.html#range.reference.utilities.iterator_range.synopsis">Synopsis</a>
         </h5>
 <p>
@@ -188,7 +188,7 @@
           iterators from the same container.
         </p>
 <a name="range.reference.utilities.iterator_range.details_member_functions"></a><h5>
-<a name="id767779"></a>
+<a name="id761507"></a>
           <a class="link" href="iterator_range.html#range.reference.utilities.iterator_range.details_member_functions">Details
           member functions</a>
         </h5>
@@ -207,7 +207,7 @@
             <span class="special">==</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">end</span><span class="special">();</span></code>
           </p></blockquote></div>
 <a name="range.reference.utilities.iterator_range.details_functions"></a><h5>
-<a name="id768014"></a>
+<a name="id761741"></a>
           <a class="link" href="iterator_range.html#range.reference.utilities.iterator_range.details_functions">Details
           functions</a>
         </h5>

Modified: branches/release/libs/range/doc/html/range/reference/utilities/join.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/utilities/join.html (original)
+++ branches/release/libs/range/doc/html/range/reference/utilities/join.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -39,7 +39,7 @@
           check if the end of a range has been reached internally during traversal.
         </p>
 <a name="range.reference.utilities.join.synposis"></a><h5>
-<a name="id770410"></a>
+<a name="id764138"></a>
           <a class="link" href="join.html#range.reference.utilities.join.synposis">Synposis</a>
         </h5>
 <p>
@@ -108,7 +108,7 @@
             </li>
 </ul></div>
 <a name="range.reference.utilities.join.example"></a><h5>
-<a name="id771245"></a>
+<a name="id764973"></a>
           <a class="link" href="join.html#range.reference.utilities.join.example">Example</a>
         </h5>
 <p>

Modified: branches/release/libs/range/doc/html/range/reference/utilities/sub_range.html
==============================================================================
--- branches/release/libs/range/doc/html/range/reference/utilities/sub_range.html (original)
+++ branches/release/libs/range/doc/html/range/reference/utilities/sub_range.html 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -35,7 +35,7 @@
           is.
         </p>
 <a name="range.reference.utilities.sub_range.synopsis"></a><h5>
-<a name="id769145"></a>
+<a name="id762873"></a>
           <a class="link" href="sub_range.html#range.reference.utilities.sub_range.synopsis">Synopsis</a>
         </h5>
 <p>

Modified: branches/release/libs/range/doc/reference/adaptors.qbk
==============================================================================
--- branches/release/libs/range/doc/reference/adaptors.qbk (original)
+++ branches/release/libs/range/doc/reference/adaptors.qbk 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -177,6 +177,7 @@
 [include adaptors/reversed.qbk]
 [include adaptors/sliced.qbk]
 [include adaptors/strided.qbk]
+[include adaptors/type_erased.qbk]
 [include adaptors/tokenized.qbk]
 [include adaptors/transformed.qbk]
 [include adaptors/uniqued.qbk]

Modified: branches/release/libs/range/doc/reference/adaptors/strided.qbk
==============================================================================
--- branches/release/libs/range/doc/reference/adaptors/strided.qbk (original)
+++ branches/release/libs/range/doc/reference/adaptors/strided.qbk 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -11,7 +11,7 @@
     [[Function] [`boost::adaptors::stride(rng, n)`]]
 ]
 
-* [*Precondition:] `0 <= n` and `boost::size(rng)` is a valid expression.
+* [*Precondition:] `0 <= n`.
 * [*Returns:] A new range based on `rng` where traversal is performed in steps of `n`.
 * [*Range Category:] __single_pass_range__
 * [*Returned Range Category:] The range category of `rng`.

Modified: branches/release/libs/range/doc/reference/ranges.qbk
==============================================================================
--- branches/release/libs/range/doc/reference/ranges.qbk (original)
+++ branches/release/libs/range/doc/reference/ranges.qbk 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -5,6 +5,7 @@
 /]
 [section:ranges Provided Ranges]
 
+[include ranges/any_range.qbk]
 [include ranges/counting_range.qbk]
 [include ranges/istream_range.qbk]
 [include ranges/irange.qbk]

Modified: branches/release/libs/range/doc/reference/semantics.qbk
==============================================================================
--- branches/release/libs/range/doc/reference/semantics.qbk (original)
+++ branches/release/libs/range/doc/reference/semantics.qbk 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -21,7 +21,7 @@
 [table
     [[Expression] [Return type] [Complexity]]
     [
- [`range_iterator<X>::type`]
+ [`range_iterator<X>::type`]
         [``
             T::iterator
             P::first_type
@@ -129,7 +129,7 @@
     [
         [`size(x)`]
         [`range_difference<X>::type`]
- [`The size of the range with complexity O(1). For RandomAccessRanges this is achieved via boost::end(x) - boost::begin(x). For other traversal categories range_calculate_size(x) is returned. Note that unless range_calculate_size(x) has been implemented by the user as an extension then the Argument Dependent Lookup will return x.size()`]
+ [`range_calculate_size(x)` which by default is `boost::end(x) - boost::begin(x)`. Users may supply alternative implementations by implementing `range_calculate_size(x)` so that it will be found via ADL]
         [constant time]
     ]
     [

Modified: branches/release/libs/range/test/Jamfile.v2
==============================================================================
--- branches/release/libs/range/test/Jamfile.v2 (original)
+++ branches/release/libs/range/test/Jamfile.v2 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -59,6 +59,8 @@
         [ range-test adaptor_test/sliced_example ]
         [ range-test adaptor_test/strided_example ]
         [ range-test adaptor_test/transformed_example ]
+ [ range-test adaptor_test/type_erased ]
+ [ range-test adaptor_test/type_erased_example ]
         [ range-test adaptor_test/uniqued_example ]
         [ range-test algorithm_test/adjacent_find ]
         [ range-test algorithm_test/binary_search ]
@@ -131,11 +133,13 @@
         [ range-test algorithm_example ]
         [ range-test array ]
 # [ range-test atl : <include>$(VC71_ROOT)/atlmfc/include ]
+ [ range-test begin ]
         [ range-test combine ]
         [ range-test compat2 ]
         [ range-test compat3 ]
         [ range-test const_ranges ]
         [ range-test counting_range ]
+ [ range-test end ]
         [ range-test extension_mechanism ]
         [ range-test extension_size ]
         [ range-test has_range_iterator ]

Modified: branches/release/libs/range/test/adaptor_test/strided.cpp
==============================================================================
--- branches/release/libs/range/test/adaptor_test/strided.cpp (original)
+++ branches/release/libs/range/test/adaptor_test/strided.cpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -128,10 +128,10 @@
 
             typedef boost::strided_range<Container> strided_range_t;
             strided_range_t rng( boost::adaptors::stride(c, 0) );
- typedef typename boost::range_iterator<strided_range_t>::type iter_t;
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<strided_range_t>::type iter_t;
 
- iter_t first(boost::begin(c), 0, 0, boost::size(c));
- iter_t last(boost::end(c), 0, boost::size(c), boost::size(c));
+ iter_t first(boost::begin(c), boost::begin(c), boost::end(c), 0);
+ iter_t last(boost::begin(c), boost::end(c), boost::end(c), 0);
 
             iter_t it = first;
             for (int i = 0; i < 10; ++i, ++it)
@@ -206,16 +206,6 @@
                 ++(this->base_reference());
             }
 
- bool equal(const strided_mock_iterator& other) const
- {
- return this->base() == other.base();
- }
-
- BOOST_DEDUCED_TYPENAME super_t::reference dereference() const
- {
- return *(this->base());
- }
-
             friend class boost::iterator_core_access;
         };
 

Copied: branches/release/libs/range/test/adaptor_test/type_erased.cpp (from r67580, /trunk/libs/range/test/adaptor_test/type_erased.cpp)
==============================================================================
--- /trunk/libs/range/test/adaptor_test/type_erased.cpp (original)
+++ branches/release/libs/range/test/adaptor_test/type_erased.cpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -22,448 +22,442 @@
 
 namespace boost_range_adaptor_type_erased_test
 {
- namespace
+ class MockType
     {
- class MockType
+ public:
+ MockType()
+ : m_x(0)
         {
- public:
- explicit MockType(int x)
- : m_x(x) {}
-
- int get() const { return m_x; }
-
- bool operator==(const MockType& other) const
- {
- return m_x == other.m_x;
- }
-
- bool operator!=(const MockType& other) const
- {
- return m_x != other.m_x;
- }
-
- private:
- int m_x;
- };
+ }
 
- std::ostream& operator<<(std::ostream& out, const MockType& obj)
+ MockType(int x)
+ : m_x(x)
         {
- out << obj.get();
- return out;
         }
 
- template<class Container>
- void test_type_erased_impl(Container& c)
+ int get() const { return m_x; }
+
+ inline bool operator==(const MockType& other) const
         {
- using namespace boost::adaptors;
- typedef typename boost::range_value<Container>::type value_type;
- typedef typename boost::adaptors::type_erased<> type_erased_t;
+ return m_x == other.m_x;
+ }
 
+ inline bool operator!=(const MockType& other) const
+ {
+ return m_x != other.m_x;
+ }
 
- std::vector<value_type> output;
+ private:
+ int m_x;
+ };
 
- boost::push_back(output, boost::adaptors::type_erase(c, type_erased_t()));
+ inline std::ostream& operator<<(std::ostream& out, const MockType& obj)
+ {
+ out << obj.get();
+ return out;
+ }
 
- BOOST_CHECK_EQUAL_COLLECTIONS( output.begin(), output.end(),
- c.begin(), c.end() );
+ template<class Container>
+ void test_type_erased_impl(Container& c)
+ {
+ using namespace boost::adaptors;
+ typedef typename boost::range_value<Container>::type value_type;
+ typedef typename boost::adaptors::type_erased<> type_erased_t;
 
- output.clear();
- boost::push_back(output, c | type_erased_t());
 
- BOOST_CHECK_EQUAL_COLLECTIONS( output.begin(), output.end(),
- c.begin(), c.end() );
- }
+ std::vector<value_type> output;
 
- template<class Container>
- void test_const_and_mutable(Container& c)
- {
- test_type_erased_impl(c);
+ boost::push_back(output, boost::adaptors::type_erase(c, type_erased_t()));
 
- const Container& const_c = c;
- test_type_erased_impl(const_c);
- }
+ BOOST_CHECK_EQUAL_COLLECTIONS( output.begin(), output.end(),
+ c.begin(), c.end() );
 
- template<class Container>
- void test_driver()
- {
- using namespace boost::assign;
+ output.clear();
+ boost::push_back(output, c | type_erased_t());
 
- typedef typename boost::range_value<Container>::type value_type;
+ BOOST_CHECK_EQUAL_COLLECTIONS( output.begin(), output.end(),
+ c.begin(), c.end() );
+ }
 
- Container c;
- test_const_and_mutable(c);
+ template<class Container>
+ void test_const_and_mutable(Container& c)
+ {
+ test_type_erased_impl(c);
 
- c += value_type(1);
- test_const_and_mutable(c);
+ const Container& const_c = c;
+ test_type_erased_impl(const_c);
+ }
 
- c += value_type(2);
- test_const_and_mutable(c);
- }
+ template<class Container>
+ void test_driver()
+ {
+ using namespace boost::assign;
 
- void test_type_erased()
- {
- test_driver< std::list<int> >();
- test_driver< std::vector<int> >();
+ typedef typename boost::range_value<Container>::type value_type;
 
- test_driver< std::list<MockType> >();
- test_driver< std::vector<MockType> >();
- }
+ Container c;
+ test_const_and_mutable(c);
 
- template<
- class Traversal
- , class Container
- >
- void test_writeable(Container&, boost::single_pass_traversal_tag)
- {}
-
- template<
- class Traversal
- , class Container
- >
- void test_writeable(Container& source, boost::forward_traversal_tag)
- {
- using namespace boost::adaptors;
+ c += value_type(1);
+ test_const_and_mutable(c);
 
- typedef typename boost::range_value<Container>::type value_type;
- typedef typename boost::range_difference<Container>::type difference_type;
- typedef typename boost::range_reference<Container>::type mutable_reference_type;
- typedef boost::any_range<
- value_type
- , Traversal
- , mutable_reference_type
- , difference_type
- > mutable_any_range;
-
- mutable_any_range r = source | boost::adaptors::type_erased<>();
- std::vector<value_type> output_test;
- boost::fill(r, value_type(1));
- BOOST_CHECK_EQUAL( boost::distance(r), boost::distance(source) );
- std::vector<value_type> reference_output(source.size(), value_type(1));
- BOOST_CHECK_EQUAL_COLLECTIONS( reference_output.begin(), reference_output.end(),
- r.begin(), r.end() );
+ c += value_type(2);
+ test_const_and_mutable(c);
+ }
 
- }
+ void test_type_erased()
+ {
+ test_driver< std::list<int> >();
+ test_driver< std::vector<int> >();
 
- template<
- class Container
- , class Traversal
- , class Buffer
- >
- void test_type_erased_impl()
- {
- using namespace boost::adaptors;
+ test_driver< std::list<MockType> >();
+ test_driver< std::vector<MockType> >();
+ }
 
- typedef Buffer buffer_type;
+ template<
+ class Traversal
+ , class Container
+ >
+ void test_writeable(Container&, boost::single_pass_traversal_tag)
+ {}
+
+ template<
+ class Traversal
+ , class Container
+ >
+ void test_writeable(Container& source, boost::forward_traversal_tag)
+ {
+ using namespace boost::adaptors;
 
- typedef typename boost::range_value<Container>::type value_type;
+ typedef typename boost::range_value<Container>::type value_type;
+ typedef typename boost::range_difference<Container>::type difference_type;
+ typedef typename boost::range_reference<Container>::type mutable_reference_type;
+ typedef boost::any_range<
+ value_type
+ , Traversal
+ , mutable_reference_type
+ , difference_type
+ > mutable_any_range;
+
+ mutable_any_range r = source | boost::adaptors::type_erased<>();
+ std::vector<value_type> output_test;
+ boost::fill(r, value_type(1));
+ BOOST_CHECK_EQUAL( boost::distance(r), boost::distance(source) );
+ std::vector<value_type> reference_output(source.size(), value_type(1));
+ BOOST_CHECK_EQUAL_COLLECTIONS( reference_output.begin(), reference_output.end(),
+ r.begin(), r.end() );
 
- typedef typename boost::any_range_type_generator<
- Container
- , boost::use_default
- , Traversal
- , boost::use_default
- , boost::use_default
- , Buffer
- >::type mutable_any_range;
-
- typedef typename boost::any_range_type_generator<
- const Container
- , boost::use_default
- , Traversal
- , boost::use_default
- , boost::use_default
- , Buffer
- >::type const_any_range;
-
- typedef boost::adaptors::type_erased<
- boost::use_default
- , Traversal
- , boost::use_default
- , boost::use_default
- , Buffer
- > type_erased_t;
-
- type_erased_t type_erased_ex;
-
- Container source;
- for (int i = 0; i < 100; ++i)
- source.push_back(value_type(i));
-
- mutable_any_range r(source);
- BOOST_CHECK_EQUAL_COLLECTIONS( source.begin(), source.end(),
- r.begin(), r.end() );
-
- r = mutable_any_range();
- BOOST_CHECK_EQUAL( r.empty(), true );
-
- r = source | type_erased_ex;
- BOOST_CHECK_EQUAL_COLLECTIONS( source.begin(), source.end(),
- r.begin(), r.end() );
- r = mutable_any_range();
-
- r = boost::adaptors::type_erase(source, type_erased_ex);
- BOOST_CHECK_EQUAL_COLLECTIONS( source.begin(), source.end(),
- r.begin(), r.end() );
- r = mutable_any_range();
-
- test_writeable<Traversal>(source, Traversal());
-
- // convert and construct a const any_range from a mutable source
- // range
- const_any_range cr(source);
- BOOST_CHECK_EQUAL_COLLECTIONS( source.begin(), source.end(),
- cr.begin(), cr.end() );
- // assign an empty range and ensure that this correctly results
- // in an empty range. This is important for the validity of
- // the rest of the tests.
- cr = const_any_range();
- BOOST_CHECK_EQUAL( cr.empty(), true );
-
- // Test the pipe type_erased adaptor from a constant source
- // range to a constant any_range
- const Container& const_source = source;
- cr = const_any_range();
- cr = const_source | type_erased_ex;
- BOOST_CHECK_EQUAL_COLLECTIONS( const_source.begin(), const_source.end(),
- cr.begin(), cr.end() );
-
- // Test the pipe type erased adaptor from a mutable source
- // range to a constant any_range
- cr = const_any_range();
- cr = source | type_erased_ex;
- BOOST_CHECK_EQUAL_COLLECTIONS( source.begin(), source.end(),
- cr.begin(), cr.end() );
-
- // Use the function form of the type_erase adaptor from a constant
- // source range
- cr = const_any_range();
- cr = boost::adaptors::type_erase(const_source, type_erased_ex);
- BOOST_CHECK_EQUAL_COLLECTIONS( const_source.begin(), const_source.end(),
- cr.begin(), cr.end() );
-
- // Assignment from mutable to const...
- cr = const_any_range();
- cr = r;
- BOOST_CHECK_EQUAL_COLLECTIONS( cr.begin(), cr.end(),
- r.begin(), r.end() );
-
- // Converting copy from mutable to const...
- cr = const_any_range();
- cr = const_any_range(r);
- BOOST_CHECK_EQUAL_COLLECTIONS( cr.begin(), cr.end(),
- r.begin(), r.end() );
- }
+ }
 
- template<
- class Container
- , class Traversal
- , class Buffer
- >
- class test_type_erased_impl_fn
- {
- public:
- typedef void result_type;
- void operator()()
- {
- test_type_erased_impl< Container, Traversal, Buffer >();
- }
- };
-
- template<
- class Container
- , class Traversal
- >
- void test_type_erased_exercise_buffer_types()
- {
- using boost::any_iterator_default_buffer;
- using boost::any_iterator_buffer;
- using boost::any_iterator_heap_only_buffer;
- using boost::any_iterator_stack_only_buffer;
-
- test_type_erased_impl_fn< Container, Traversal, any_iterator_default_buffer >()();
- test_type_erased_impl_fn< Container, Traversal, any_iterator_heap_only_buffer >()();
- test_type_erased_impl_fn< Container, Traversal, any_iterator_buffer<1> >()();
- test_type_erased_impl_fn< Container, Traversal, any_iterator_buffer<2> >()();
- test_type_erased_impl_fn< Container, Traversal, any_iterator_buffer<4> >()();
- test_type_erased_impl_fn< Container, Traversal, any_iterator_buffer<8> >()();
- test_type_erased_impl_fn< Container, Traversal, any_iterator_buffer<16> >()();
- test_type_erased_impl_fn< Container, Traversal, any_iterator_buffer<32> >()();
- test_type_erased_impl_fn< Container, Traversal, any_iterator_buffer<64> >()();
- test_type_erased_impl_fn< Container, Traversal, any_iterator_buffer<128> >()();
- test_type_erased_impl_fn< Container, Traversal, any_iterator_buffer<4096> >()();
- test_type_erased_impl_fn< Container, Traversal, any_iterator_buffer<16384> >()();
- test_type_erased_impl_fn< Container, Traversal, any_iterator_stack_only_buffer<128> >()();
- test_type_erased_impl_fn< Container, Traversal, any_iterator_stack_only_buffer<4096> >()();
- test_type_erased_impl_fn< Container, Traversal, any_iterator_stack_only_buffer<16384> >()();
- }
+ template<
+ class Container
+ , class Traversal
+ , class Buffer
+ >
+ void test_type_erased_impl()
+ {
+ using namespace boost::adaptors;
 
- void test_type_erased_single_pass()
- {
- test_type_erased_exercise_buffer_types< std::list<int>, boost::single_pass_traversal_tag >();
- test_type_erased_exercise_buffer_types< std::deque<int>, boost::single_pass_traversal_tag >();
- test_type_erased_exercise_buffer_types< std::vector<int>, boost::single_pass_traversal_tag >();
-
- test_type_erased_exercise_buffer_types< std::list<MockType>, boost::single_pass_traversal_tag >();
- test_type_erased_exercise_buffer_types< std::deque<MockType>, boost::single_pass_traversal_tag >();
- test_type_erased_exercise_buffer_types< std::vector<MockType>, boost::single_pass_traversal_tag >();
- }
+ typedef Buffer buffer_type;
 
- void test_type_erased_forward()
- {
- test_type_erased_exercise_buffer_types< std::list<int>, boost::forward_traversal_tag >();
- test_type_erased_exercise_buffer_types< std::deque<int>, boost::forward_traversal_tag >();
- test_type_erased_exercise_buffer_types< std::vector<int>, boost::forward_traversal_tag >();
-
- test_type_erased_exercise_buffer_types< std::list<MockType>, boost::forward_traversal_tag >();
- test_type_erased_exercise_buffer_types< std::deque<MockType>, boost::forward_traversal_tag >();
- test_type_erased_exercise_buffer_types< std::vector<MockType>, boost::forward_traversal_tag >();
- }
+ typedef typename boost::range_value<Container>::type value_type;
 
- void test_type_erased_bidirectional()
- {
- test_type_erased_exercise_buffer_types< std::list<int>, boost::bidirectional_traversal_tag >();
- test_type_erased_exercise_buffer_types< std::deque<int>, boost::bidirectional_traversal_tag >();
- test_type_erased_exercise_buffer_types< std::vector<int>, boost::bidirectional_traversal_tag >();
-
- test_type_erased_exercise_buffer_types< std::list<MockType>, boost::bidirectional_traversal_tag >();
- test_type_erased_exercise_buffer_types< std::deque<MockType>, boost::bidirectional_traversal_tag >();
- test_type_erased_exercise_buffer_types< std::vector<MockType>, boost::bidirectional_traversal_tag >();
- }
+ typedef typename boost::any_range_type_generator<
+ Container
+ , boost::use_default
+ , Traversal
+ , boost::use_default
+ , boost::use_default
+ , Buffer
+ >::type mutable_any_range;
+
+ typedef typename boost::any_range_type_generator<
+ const Container
+ , boost::use_default
+ , Traversal
+ , boost::use_default
+ , boost::use_default
+ , Buffer
+ >::type const_any_range;
+
+ typedef boost::adaptors::type_erased<
+ boost::use_default
+ , Traversal
+ , boost::use_default
+ , boost::use_default
+ , Buffer
+ > type_erased_t;
+
+ Container source;
+ for (int i = 0; i < 10; ++i)
+ source.push_back(value_type(i));
+
+ mutable_any_range r(source);
+ BOOST_CHECK_EQUAL_COLLECTIONS( source.begin(), source.end(),
+ r.begin(), r.end() );
+
+ r = mutable_any_range();
+ BOOST_CHECK_EQUAL( r.empty(), true );
+
+ r = source | type_erased_t();
+ BOOST_CHECK_EQUAL_COLLECTIONS( source.begin(), source.end(),
+ r.begin(), r.end() );
+ r = mutable_any_range();
+
+ r = boost::adaptors::type_erase(source, type_erased_t());
+ BOOST_CHECK_EQUAL_COLLECTIONS( source.begin(), source.end(),
+ r.begin(), r.end() );
+ r = mutable_any_range();
+
+ test_writeable<Traversal>(source, Traversal());
+
+ // convert and construct a const any_range from a mutable source
+ // range
+ const_any_range cr(source);
+ BOOST_CHECK_EQUAL_COLLECTIONS( source.begin(), source.end(),
+ cr.begin(), cr.end() );
+ // assign an empty range and ensure that this correctly results
+ // in an empty range. This is important for the validity of
+ // the rest of the tests.
+ cr = const_any_range();
+ BOOST_CHECK_EQUAL( cr.empty(), true );
+
+ // Test the pipe type_erased adaptor from a constant source
+ // range to a constant any_range
+ const Container& const_source = source;
+ cr = const_any_range();
+ cr = const_source | type_erased_t();
+ BOOST_CHECK_EQUAL_COLLECTIONS( const_source.begin(), const_source.end(),
+ cr.begin(), cr.end() );
+
+ // Test the pipe type erased adaptor from a mutable source
+ // range to a constant any_range
+ cr = const_any_range();
+ cr = source | type_erased_t();
+ BOOST_CHECK_EQUAL_COLLECTIONS( source.begin(), source.end(),
+ cr.begin(), cr.end() );
+
+ // Use the function form of the type_erase adaptor from a constant
+ // source range
+ cr = const_any_range();
+ cr = boost::adaptors::type_erase(const_source, type_erased_t());
+ BOOST_CHECK_EQUAL_COLLECTIONS( const_source.begin(), const_source.end(),
+ cr.begin(), cr.end() );
+
+ // Assignment from mutable to const...
+ cr = const_any_range();
+ cr = r;
+ BOOST_CHECK_EQUAL_COLLECTIONS( cr.begin(), cr.end(),
+ r.begin(), r.end() );
+
+ // Converting copy from mutable to const...
+ cr = const_any_range();
+ cr = const_any_range(r);
+ BOOST_CHECK_EQUAL_COLLECTIONS( cr.begin(), cr.end(),
+ r.begin(), r.end() );
+ }
 
- void test_type_erased_random_access()
- {
- test_type_erased_exercise_buffer_types< std::deque<int>, boost::random_access_traversal_tag >();
- test_type_erased_exercise_buffer_types< std::vector<int>, boost::random_access_traversal_tag >();
+ template<
+ class Container
+ , class Traversal
+ , class Buffer
+ >
+ class test_type_erased_impl_fn
+ {
+ public:
+ typedef void result_type;
+ void operator()()
+ {
+ test_type_erased_impl< Container, Traversal, Buffer >();
+ }
+ };
+
+ template<
+ class Container
+ , class Traversal
+ >
+ void test_type_erased_exercise_buffer_types()
+ {
+ using boost::any_iterator_default_buffer;
+ using boost::any_iterator_buffer;
+ using boost::any_iterator_heap_only_buffer;
+ using boost::any_iterator_stack_only_buffer;
+
+ test_type_erased_impl_fn< Container, Traversal, any_iterator_default_buffer >()();
+ test_type_erased_impl_fn< Container, Traversal, any_iterator_heap_only_buffer >()();
+ test_type_erased_impl_fn< Container, Traversal, any_iterator_buffer<1> >()();
+ test_type_erased_impl_fn< Container, Traversal, any_iterator_buffer<2> >()();
+ test_type_erased_impl_fn< Container, Traversal, any_iterator_buffer<32> >()();
+ test_type_erased_impl_fn< Container, Traversal, any_iterator_buffer<64> >()();
+ test_type_erased_impl_fn< Container, Traversal, any_iterator_buffer<128> >()();
+ test_type_erased_impl_fn< Container, Traversal, any_iterator_stack_only_buffer<128> >()();
+ }
 
- test_type_erased_exercise_buffer_types< std::deque<MockType>, boost::random_access_traversal_tag >();
- test_type_erased_exercise_buffer_types< std::vector<MockType>, boost::random_access_traversal_tag >();
- }
+ void test_type_erased_single_pass()
+ {
+ test_type_erased_exercise_buffer_types< std::list<int>, boost::single_pass_traversal_tag >();
+ test_type_erased_exercise_buffer_types< std::deque<int>, boost::single_pass_traversal_tag >();
+ test_type_erased_exercise_buffer_types< std::vector<int>, boost::single_pass_traversal_tag >();
+
+ test_type_erased_exercise_buffer_types< std::list<MockType>, boost::single_pass_traversal_tag >();
+ test_type_erased_exercise_buffer_types< std::deque<MockType>, boost::single_pass_traversal_tag >();
+ test_type_erased_exercise_buffer_types< std::vector<MockType>, boost::single_pass_traversal_tag >();
+ }
 
- void test_type_erased_multiple_different_template_parameter_conversion()
- {
- typedef boost::any_range<
- int
- , boost::random_access_traversal_tag
- , int&
- , std::ptrdiff_t
- > source_range_type;
-
- typedef boost::any_range<
- int
- , boost::single_pass_traversal_tag
- , const int&
- , std::ptrdiff_t
- > target_range_type;
-
- source_range_type source;
-
- // Converting via construction
- target_range_type t1(source);
-
- // Converting via assignment
- target_range_type t2;
- t2 = source;
-
- // Converting via construction to a type with a reference type
- // that is a value
- typedef boost::any_range<
- int
- , boost::single_pass_traversal_tag
- , int
- , std::ptrdiff_t
- > target_range2_type;
-
- target_range2_type t3(source);
- target_range2_type t4;
- t4 = source;
- }
+ void test_type_erased_forward()
+ {
+ test_type_erased_exercise_buffer_types< std::list<int>, boost::forward_traversal_tag >();
+ test_type_erased_exercise_buffer_types< std::deque<int>, boost::forward_traversal_tag >();
+ test_type_erased_exercise_buffer_types< std::vector<int>, boost::forward_traversal_tag >();
+
+ test_type_erased_exercise_buffer_types< std::list<MockType>, boost::forward_traversal_tag >();
+ test_type_erased_exercise_buffer_types< std::deque<MockType>, boost::forward_traversal_tag >();
+ test_type_erased_exercise_buffer_types< std::vector<MockType>, boost::forward_traversal_tag >();
+ }
 
- template<
- class Traversal
- , class ValueType
- , class SourceValueType
- , class SourceReference
- , class TargetValueType
- , class TargetReference
- >
- void test_type_erased_mix_values_impl()
- {
- typedef std::vector< ValueType > Container;
+ void test_type_erased_bidirectional()
+ {
+ test_type_erased_exercise_buffer_types< std::list<int>, boost::bidirectional_traversal_tag >();
+ test_type_erased_exercise_buffer_types< std::deque<int>, boost::bidirectional_traversal_tag >();
+ test_type_erased_exercise_buffer_types< std::vector<int>, boost::bidirectional_traversal_tag >();
+
+ test_type_erased_exercise_buffer_types< std::list<MockType>, boost::bidirectional_traversal_tag >();
+ test_type_erased_exercise_buffer_types< std::deque<MockType>, boost::bidirectional_traversal_tag >();
+ test_type_erased_exercise_buffer_types< std::vector<MockType>, boost::bidirectional_traversal_tag >();
+ }
 
- typedef typename boost::any_range_type_generator<
- Container
- , SourceValueType
- , Traversal
- , SourceReference
- >::type source_type;
-
- typedef typename boost::any_range_type_generator<
- Container
- , TargetValueType
- , Traversal
- , TargetReference
- >::type target_type;
-
- Container test_data;
- for (int i = 0; i < 10; ++i)
- test_data.push_back(i);
-
- const source_type source_data(test_data);
- target_type t1(source_data);
- BOOST_CHECK_EQUAL_COLLECTIONS( source_data.begin(), source_data.end(),
- t1.begin(), t1.end() );
-
- target_type t2;
- t2 = source_data;
- BOOST_CHECK_EQUAL_COLLECTIONS( source_data.begin(), source_data.end(),
- t2.begin(), t2.end() );
- }
+ void test_type_erased_random_access()
+ {
+ test_type_erased_exercise_buffer_types< std::deque<int>, boost::random_access_traversal_tag >();
+ test_type_erased_exercise_buffer_types< std::vector<int>, boost::random_access_traversal_tag >();
 
- class MockInt
- {
- public:
- MockInt() : m_value() {}
- MockInt(int x) : m_value(x) {}
- operator int() const { return m_value; }
- private:
- int m_value;
- };
+ test_type_erased_exercise_buffer_types< std::deque<MockType>, boost::random_access_traversal_tag >();
+ test_type_erased_exercise_buffer_types< std::vector<MockType>, boost::random_access_traversal_tag >();
+ }
+
+ void test_type_erased_multiple_different_template_parameter_conversion()
+ {
+ typedef boost::any_range<
+ int
+ , boost::random_access_traversal_tag
+ , int&
+ , std::ptrdiff_t
+ > source_range_type;
+
+ typedef boost::any_range<
+ int
+ , boost::single_pass_traversal_tag
+ , const int&
+ , std::ptrdiff_t
+ > target_range_type;
+
+ source_range_type source;
+
+ // Converting via construction
+ target_range_type t1(source);
+
+ // Converting via assignment
+ target_range_type t2;
+ t2 = source;
+
+ // Converting via construction to a type with a reference type
+ // that is a value
+ typedef boost::any_range<
+ int
+ , boost::single_pass_traversal_tag
+ , int
+ , std::ptrdiff_t
+ > target_range2_type;
+
+ target_range2_type t3(source);
+ target_range2_type t4;
+ t4 = source;
+ }
 
+ template<
+ class Traversal
+ , class ValueType
+ , class SourceValueType
+ , class SourceReference
+ , class TargetValueType
+ , class TargetReference
+ >
+ void test_type_erased_mix_values_impl()
+ {
+ typedef std::vector< ValueType > Container;
 
- template<class Traversal>
- void test_type_erased_mix_values_driver()
- {
- test_type_erased_mix_values_impl< Traversal, int, char, const int&, short, const int& >();
- test_type_erased_mix_values_impl< Traversal, int, int*, const int&, char, const int& >();
- test_type_erased_mix_values_impl< Traversal, MockInt, char, const MockInt&, short, const MockInt& >();
-
- // In fact value type should have no effect in the eligibility
- // for conversion, hence we should be able to convert it
- // completely backwards!
- test_type_erased_mix_values_impl< Traversal, int, short, const int&, char, const int& >();
- test_type_erased_mix_values_impl< Traversal, int, char, const int&, int*, const int& >();
- }
+ typedef typename boost::any_range_type_generator<
+ Container
+ , SourceValueType
+ , Traversal
+ , SourceReference
+ >::type source_type;
+
+ typedef typename boost::any_range_type_generator<
+ Container
+ , TargetValueType
+ , Traversal
+ , TargetReference
+ >::type target_type;
+
+ Container test_data;
+ for (int i = 0; i < 10; ++i)
+ test_data.push_back(i);
+
+ const source_type source_data(test_data);
+ target_type t1(source_data);
+ BOOST_CHECK_EQUAL_COLLECTIONS( source_data.begin(), source_data.end(),
+ t1.begin(), t1.end() );
+
+ target_type t2;
+ t2 = source_data;
+ BOOST_CHECK_EQUAL_COLLECTIONS( source_data.begin(), source_data.end(),
+ t2.begin(), t2.end() );
+ }
 
- void test_type_erased_mix_values()
- {
- test_type_erased_mix_values_driver< boost::single_pass_traversal_tag >();
- test_type_erased_mix_values_driver< boost::forward_traversal_tag >();
- test_type_erased_mix_values_driver< boost::bidirectional_traversal_tag >();
- test_type_erased_mix_values_driver< boost::random_access_traversal_tag >();
- }
+ template<class Traversal>
+ void test_type_erased_mix_values_driver()
+ {
+ test_type_erased_mix_values_impl< Traversal, int, char, const int&, short, const int& >();
+ test_type_erased_mix_values_impl< Traversal, int, int*, const int&, char, const int& >();
+ test_type_erased_mix_values_impl< Traversal, MockType, char, const MockType&, short, const MockType& >();
+
+ // In fact value type should have no effect in the eligibility
+ // for conversion, hence we should be able to convert it
+ // completely backwards!
+ test_type_erased_mix_values_impl< Traversal, int, short, const int&, char, const int& >();
+ test_type_erased_mix_values_impl< Traversal, int, char, const int&, int*, const int& >();
+ }
 
- void test_type_erased_operator_brackets()
- {
- typedef boost::adaptors::type_erased<> type_erased_t;
+ void test_type_erased_mix_values()
+ {
+ test_type_erased_mix_values_driver< boost::single_pass_traversal_tag >();
+ test_type_erased_mix_values_driver< boost::forward_traversal_tag >();
+ test_type_erased_mix_values_driver< boost::bidirectional_traversal_tag >();
+ test_type_erased_mix_values_driver< boost::random_access_traversal_tag >();
+ }
+
+ void test_type_erased_operator_brackets()
+ {
+ typedef boost::adaptors::type_erased<> type_erased_t;
 
- std::vector<int> c;
- for (int i = 0; i < 10; ++i)
- c.push_back(i);
-
- for (int i = 0; i < 10; ++i)
- {
- BOOST_CHECK_EQUAL( (c | type_erased_t())[i], i );
- }
+ std::vector<int> c;
+ for (int i = 0; i < 10; ++i)
+ c.push_back(i);
+
+ typedef boost::any_range<
+ int
+ , boost::random_access_traversal_tag
+ , int
+ , boost::range_difference< std::vector<int> >::type
+ , boost::use_default
+ > any_range_type;
+
+ any_range_type rng = c | type_erased_t();
+
+ for (int i = 0; i < 10; ++i)
+ {
+ BOOST_CHECK_EQUAL( rng[i], i );
         }
     }
 }

Modified: branches/release/libs/range/test/algorithm_test/count_if.cpp
==============================================================================
--- branches/release/libs/range/test/algorithm_test/count_if.cpp (original)
+++ branches/release/libs/range/test/algorithm_test/count_if.cpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -33,6 +33,7 @@
             using namespace boost::assign;
 
             typedef equal_to_x<int> pred_t;
+ typedef BOOST_DEDUCED_TYPENAME std::iterator_traits<BOOST_DEDUCED_TYPENAME Container::iterator>::difference_type diff_t;
 
             Container cont;
             const Container& cref_cont = cont;
@@ -72,9 +73,9 @@
             BOOST_CHECK_EQUAL( 0u, boost::count_if(cref_cont, false_predicate()) );
             BOOST_CHECK_EQUAL( 0u, boost::count_if(boost::make_iterator_range(cont), false_predicate()) );
 
- BOOST_CHECK_EQUAL( boost::size(cont), boost::count_if(cont, true_predicate()) );
- BOOST_CHECK_EQUAL( boost::size(cont), boost::count_if(cref_cont, true_predicate()) );
- BOOST_CHECK_EQUAL( boost::size(cont), boost::count_if(boost::make_iterator_range(cont), true_predicate()) );
+ BOOST_CHECK_EQUAL( static_cast<diff_t>(cont.size()), boost::count_if(cont, true_predicate()) );
+ BOOST_CHECK_EQUAL( static_cast<diff_t>(cont.size()), boost::count_if(cref_cont, true_predicate()) );
+ BOOST_CHECK_EQUAL( static_cast<diff_t>(cont.size()), boost::count_if(boost::make_iterator_range(cont), true_predicate()) );
         }
 
         void test_count_if()

Modified: branches/release/libs/range/test/algorithm_test/find.cpp
==============================================================================
--- branches/release/libs/range/test/algorithm_test/find.cpp (original)
+++ branches/release/libs/range/test/algorithm_test/find.cpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -22,85 +22,82 @@
 #include <deque>
 #include <vector>
 
-namespace boost
+namespace boost_range_test_algorithm_find
 {
- namespace
+ class find_test_policy
     {
- class find_test_policy
+ public:
+ template<class Container>
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+ iter_t result = boost::find(cont, 3);
+ iter_t result2 = boost::find(boost::make_iterator_range(cont), 3);
+ BOOST_CHECK( result == result2 );
+ return result;
+ }
+
+ template<boost::range_return_value return_type>
+ struct test_range
         {
- public:
- template<class Container>
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
+ template<class Container, class Policy>
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(Policy&, Container& cont)
             {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
- iter_t result = boost::find(cont, 3);
- iter_t result2 = boost::find(boost::make_iterator_range(cont), 3);
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
+ result_t result = boost::find<return_type>(cont, 3);
+ result_t result2 = boost::find<return_type>(boost::make_iterator_range(cont), 3);
                 BOOST_CHECK( result == result2 );
                 return result;
             }
-
- template<range_return_value return_type>
- struct test_range
- {
- template<class Container, class Policy>
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(Policy&, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
- result_t result = boost::find<return_type>(cont, 3);
- result_t result2 = boost::find<return_type>(boost::make_iterator_range(cont), 3);
- BOOST_CHECK( result == result2 );
- return result;
- }
- };
-
- template<class Container>
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
- {
- return std::find(cont.begin(), cont.end(), 3);
- }
         };
 
         template<class Container>
- void test_find_container()
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
         {
- using namespace boost::assign;
+ return std::find(cont.begin(), cont.end(), 3);
+ }
+ };
 
- typedef BOOST_DEDUCED_TYPENAME remove_const<Container>::type container_t;
+ template<class Container>
+ void test_find_container()
+ {
+ using namespace boost::assign;
 
- range_test::range_return_test_driver test_driver;
+ typedef BOOST_DEDUCED_TYPENAME boost::remove_const<Container>::type container_t;
 
- container_t mcont;
- Container& cont = mcont;
- test_driver(cont, find_test_policy());
+ boost::range_test::range_return_test_driver test_driver;
 
- mcont.clear();
- mcont += 1;
- test_driver(cont, find_test_policy());
+ container_t mcont;
+ Container& cont = mcont;
+ test_driver(cont, find_test_policy());
 
- mcont.clear();
- mcont += 1,2,3,4,5,6,7,8,9;
- test_driver(cont, find_test_policy());
- }
+ mcont.clear();
+ mcont += 1;
+ test_driver(cont, find_test_policy());
 
- void test_find()
- {
- test_find_container< std::vector<int> >();
- test_find_container< std::list<int> >();
- test_find_container< std::deque<int> >();
-
- test_find_container< const std::vector<int> >();
- test_find_container< const std::list<int> >();
- test_find_container< const std::deque<int> >();
-
- std::vector<int> vi;
- const std::vector<int>& cvi = vi;
- std::vector<int>::const_iterator it = boost::find(vi, 0);
- std::vector<int>::const_iterator it2 = boost::find(cvi, 0);
- BOOST_CHECK( it == it2 );
- }
+ mcont.clear();
+ mcont += 1,2,3,4,5,6,7,8,9;
+ test_driver(cont, find_test_policy());
+ }
+
+ void test_find()
+ {
+ test_find_container< std::vector<int> >();
+ test_find_container< std::list<int> >();
+ test_find_container< std::deque<int> >();
+
+ test_find_container< const std::vector<int> >();
+ test_find_container< const std::list<int> >();
+ test_find_container< const std::deque<int> >();
+
+ std::vector<int> vi;
+ const std::vector<int>& cvi = vi;
+ std::vector<int>::const_iterator it = boost::find(vi, 0);
+ std::vector<int>::const_iterator it2 = boost::find(cvi, 0);
+ BOOST_CHECK( it == it2 );
     }
 }
 
@@ -110,7 +107,7 @@
     boost::unit_test::test_suite* test
         = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.find" );
 
- test->add( BOOST_TEST_CASE( &boost::test_find ) );
+ test->add( BOOST_TEST_CASE( &boost_range_test_algorithm_find::test_find ) );
 
     return test;
 }

Modified: branches/release/libs/range/test/algorithm_test/find_end.cpp
==============================================================================
--- branches/release/libs/range/test/algorithm_test/find_end.cpp (original)
+++ branches/release/libs/range/test/algorithm_test/find_end.cpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -21,173 +21,170 @@
 #include <set>
 #include <list>
 
-namespace boost
+namespace boost_range_test_algorithm_find_end
 {
- namespace
+ template<class Container2>
+ class find_end_test_policy
     {
- template<class Container2>
- class find_end_test_policy
+ typedef Container2 container2_t;
+ public:
+ explicit find_end_test_policy(const Container2& cont)
+ : m_cont(cont)
         {
- typedef Container2 container2_t;
- public:
- explicit find_end_test_policy(const Container2& cont)
- : m_cont(cont)
- {
- }
+ }
 
- container2_t cont() { return m_cont; }
+ container2_t cont() { return m_cont; }
 
- template<class Container>
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
- iter_t result = boost::find_end(cont, m_cont);
- BOOST_CHECK( result == boost::find_end(boost::make_iterator_range(cont), m_cont) );
- BOOST_CHECK( result == boost::find_end(cont, boost::make_iterator_range(m_cont)) );
- BOOST_CHECK( result == boost::find_end(boost::make_iterator_range(cont), boost::make_iterator_range(m_cont)) );
+ template<class Container>
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+ iter_t result = boost::find_end(cont, m_cont);
+ BOOST_CHECK( result == boost::find_end(boost::make_iterator_range(cont), m_cont) );
+ BOOST_CHECK( result == boost::find_end(cont, boost::make_iterator_range(m_cont)) );
+ BOOST_CHECK( result == boost::find_end(boost::make_iterator_range(cont), boost::make_iterator_range(m_cont)) );
+ return result;
+ }
+
+ template<boost::range_return_value return_type>
+ struct test_range
+ {
+ template<class Container, class Policy>
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(Policy& policy, Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
+ result_t result = boost::find_end<return_type>(cont, policy.cont());
+ BOOST_CHECK( result == boost::find_end<return_type>(boost::make_iterator_range(cont), policy.cont()) );
+ BOOST_CHECK( result == boost::find_end<return_type>(cont, boost::make_iterator_range(policy.cont())) );
+ BOOST_CHECK( result == boost::find_end<return_type>(boost::make_iterator_range(cont),
+ boost::make_iterator_range(policy.cont())) );
                 return result;
             }
+ };
 
- template<range_return_value return_type>
- struct test_range
- {
- template<class Container, class Policy>
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(Policy& policy, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
- result_t result = boost::find_end<return_type>(cont, policy.cont());
- BOOST_CHECK( result == boost::find_end<return_type>(boost::make_iterator_range(cont), policy.cont()) );
- BOOST_CHECK( result == boost::find_end<return_type>(cont, boost::make_iterator_range(policy.cont())) );
- BOOST_CHECK( result == boost::find_end<return_type>(boost::make_iterator_range(cont),
- boost::make_iterator_range(policy.cont())) );
- return result;
- }
- };
-
- template<class Container>
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
- {
- return std::find_end(cont.begin(), cont.end(),
- m_cont.begin(), m_cont.end());
- }
+ template<class Container>
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
+ {
+ return std::find_end(cont.begin(), cont.end(),
+ m_cont.begin(), m_cont.end());
+ }
 
- private:
- Container2 m_cont;
- };
+ private:
+ Container2 m_cont;
+ };
 
- template<class Container2, class BinaryPredicate>
- class find_end_pred_test_policy
+ template<class Container2, class BinaryPredicate>
+ class find_end_pred_test_policy
+ {
+ typedef Container2 container2_t;
+ public:
+ explicit find_end_pred_test_policy(const Container2& cont)
+ : m_cont(cont)
         {
- typedef Container2 container2_t;
- public:
- explicit find_end_pred_test_policy(const Container2& cont)
- : m_cont(cont)
- {
- }
+ }
 
- container2_t& cont() { return m_cont; }
- BinaryPredicate& pred() { return m_pred; }
+ container2_t& cont() { return m_cont; }
+ BinaryPredicate& pred() { return m_pred; }
 
- template<class Container>
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
- iter_t it = boost::find_end(cont, m_cont, m_pred);
- BOOST_CHECK( it == boost::find_end(boost::make_iterator_range(cont), m_cont, m_pred) );
- BOOST_CHECK( it == boost::find_end(cont, boost::make_iterator_range(m_cont), m_pred) );
- BOOST_CHECK( it == boost::find_end(boost::make_iterator_range(cont), boost::make_iterator_range(m_cont), m_pred) );
- return it;
- }
+ template<class Container>
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+ iter_t it = boost::find_end(cont, m_cont, m_pred);
+ BOOST_CHECK( it == boost::find_end(boost::make_iterator_range(cont), m_cont, m_pred) );
+ BOOST_CHECK( it == boost::find_end(cont, boost::make_iterator_range(m_cont), m_pred) );
+ BOOST_CHECK( it == boost::find_end(boost::make_iterator_range(cont), boost::make_iterator_range(m_cont), m_pred) );
+ return it;
+ }
 
- template<range_return_value return_type>
- struct test_range
- {
- template<class Container, class Policy>
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(Policy& policy, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
- result_t result = boost::find_end<return_type>(cont, policy.cont(), policy.pred());
- BOOST_CHECK( result == boost::find_end<return_type>(boost::make_iterator_range(cont), policy.cont(), policy.pred()) );
- BOOST_CHECK( result == boost::find_end<return_type>(cont, boost::make_iterator_range(policy.cont()), policy.pred()) );
- BOOST_CHECK( result == boost::find_end<return_type>(boost::make_iterator_range(cont),
- boost::make_iterator_range(policy.cont()), policy.pred()) );
- return boost::find_end<return_type>(cont, policy.cont(), policy.pred());
- }
- };
-
- template<class Container>
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
- {
- return std::find_end(cont.begin(), cont.end(),
- m_cont.begin(), m_cont.end(),
- m_pred);
+ template<boost::range_return_value return_type>
+ struct test_range
+ {
+ template<class Container, class Policy>
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(Policy& policy, Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
+ result_t result = boost::find_end<return_type>(cont, policy.cont(), policy.pred());
+ BOOST_CHECK( result == boost::find_end<return_type>(boost::make_iterator_range(cont), policy.cont(), policy.pred()) );
+ BOOST_CHECK( result == boost::find_end<return_type>(cont, boost::make_iterator_range(policy.cont()), policy.pred()) );
+ BOOST_CHECK( result == boost::find_end<return_type>(boost::make_iterator_range(cont),
+ boost::make_iterator_range(policy.cont()), policy.pred()) );
+ return boost::find_end<return_type>(cont, policy.cont(), policy.pred());
             }
-
- private:
- Container2 m_cont;
- BinaryPredicate m_pred;
         };
 
- template<class Container1, class Container2>
- void run_tests(Container1& cont1, Container2& cont2)
+ template<class Container>
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
         {
- range_test::range_return_test_driver test_driver;
- test_driver(cont1, find_end_test_policy<Container2>(cont2));
- test_driver(cont1, find_end_pred_test_policy<Container2, std::less<int> >(cont2));
- test_driver(cont2, find_end_pred_test_policy<Container2, std::greater<int> >(cont2));
+ return std::find_end(cont.begin(), cont.end(),
+ m_cont.begin(), m_cont.end(),
+ m_pred);
         }
 
- template<class Container1, class Container2>
- void test_find_end_impl()
- {
- using namespace boost::assign;
+ private:
+ Container2 m_cont;
+ BinaryPredicate m_pred;
+ };
 
- typedef BOOST_DEDUCED_TYPENAME remove_const<Container1>::type container1_t;
- typedef BOOST_DEDUCED_TYPENAME remove_const<Container2>::type container2_t;
+ template<class Container1, class Container2>
+ void run_tests(Container1& cont1, Container2& cont2)
+ {
+ boost::range_test::range_return_test_driver test_driver;
+ test_driver(cont1, find_end_test_policy<Container2>(cont2));
+ test_driver(cont1, find_end_pred_test_policy<Container2, std::less<int> >(cont2));
+ test_driver(cont2, find_end_pred_test_policy<Container2, std::greater<int> >(cont2));
+ }
 
- container1_t mcont1;
- Container1& cont1 = mcont1;
- container2_t mcont2;
- Container2& cont2 = mcont2;
+ template<class Container1, class Container2>
+ void test_find_end_impl()
+ {
+ using namespace boost::assign;
 
- run_tests(cont1, cont2);
+ typedef BOOST_DEDUCED_TYPENAME boost::remove_const<Container1>::type container1_t;
+ typedef BOOST_DEDUCED_TYPENAME boost::remove_const<Container2>::type container2_t;
 
- mcont1 += 1;
- run_tests(cont1, cont2);
+ container1_t mcont1;
+ Container1& cont1 = mcont1;
+ container2_t mcont2;
+ Container2& cont2 = mcont2;
 
- mcont2 += 1;
- run_tests(cont1, cont2);
+ run_tests(cont1, cont2);
 
- mcont1 += 2,3,4,5,6,7,8,9;
- mcont2 += 2,3,4;
- run_tests(cont1, cont2);
+ mcont1 += 1;
+ run_tests(cont1, cont2);
 
- mcont2.clear();
- mcont2 += 7,8,9;
- run_tests(cont1, cont2);
- }
+ mcont2 += 1;
+ run_tests(cont1, cont2);
 
- void test_find_end()
- {
- test_find_end_impl< std::vector<int>, std::vector<int> >();
- test_find_end_impl< std::list<int>, std::list<int> >();
- test_find_end_impl< std::deque<int>, std::deque<int> >();
- test_find_end_impl< const std::vector<int>, const std::vector<int> >();
- test_find_end_impl< const std::list<int>, const std::list<int> >();
- test_find_end_impl< const std::deque<int>, const std::deque<int> >();
- test_find_end_impl< const std::vector<int>, const std::list<int> >();
- test_find_end_impl< const std::list<int>, const std::vector<int> >();
- test_find_end_impl< const std::vector<int>, std::list<int> >();
- test_find_end_impl< const std::list<int>, std::vector<int> >();
- test_find_end_impl< std::vector<int>, std::list<int> >();
- test_find_end_impl< std::list<int>, std::vector<int> >();
- }
+ mcont1 += 2,3,4,5,6,7,8,9;
+ mcont2 += 2,3,4;
+ run_tests(cont1, cont2);
+
+ mcont2.clear();
+ mcont2 += 7,8,9;
+ run_tests(cont1, cont2);
+ }
+
+ void test_find_end()
+ {
+ test_find_end_impl< std::vector<int>, std::vector<int> >();
+ test_find_end_impl< std::list<int>, std::list<int> >();
+ test_find_end_impl< std::deque<int>, std::deque<int> >();
+ test_find_end_impl< const std::vector<int>, const std::vector<int> >();
+ test_find_end_impl< const std::list<int>, const std::list<int> >();
+ test_find_end_impl< const std::deque<int>, const std::deque<int> >();
+ test_find_end_impl< const std::vector<int>, const std::list<int> >();
+ test_find_end_impl< const std::list<int>, const std::vector<int> >();
+ test_find_end_impl< const std::vector<int>, std::list<int> >();
+ test_find_end_impl< const std::list<int>, std::vector<int> >();
+ test_find_end_impl< std::vector<int>, std::list<int> >();
+ test_find_end_impl< std::list<int>, std::vector<int> >();
     }
 }
 
@@ -197,7 +194,7 @@
     boost::unit_test::test_suite* test
         = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.find_end" );
 
- test->add( BOOST_TEST_CASE( &boost::test_find_end ) );
+ test->add( BOOST_TEST_CASE( &boost_range_test_algorithm_find_end::test_find_end ) );
 
     return test;
 }

Modified: branches/release/libs/range/test/algorithm_test/find_first_of.cpp
==============================================================================
--- branches/release/libs/range/test/algorithm_test/find_first_of.cpp (original)
+++ branches/release/libs/range/test/algorithm_test/find_first_of.cpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -21,171 +21,168 @@
 #include <set>
 #include <list>
 
-namespace boost
+namespace boost_range_test_algorithm_find_first_of
 {
- namespace
+ template<class Container2>
+ class find_first_of_test_policy
     {
- template<class Container2>
- class find_first_of_test_policy
+ typedef Container2 container2_t;
+ public:
+ explicit find_first_of_test_policy(const Container2& cont)
+ : m_cont(cont)
         {
- typedef Container2 container2_t;
- public:
- explicit find_first_of_test_policy(const Container2& cont)
- : m_cont(cont)
- {
- }
+ }
 
- container2_t& cont() { return m_cont; }
+ container2_t& cont() { return m_cont; }
 
- template<class Container>
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
- iter_t result = boost::find_first_of(cont, m_cont);
- BOOST_CHECK( result == boost::find_first_of(boost::make_iterator_range(cont), m_cont) );
- BOOST_CHECK( result == boost::find_first_of(cont, boost::make_iterator_range(m_cont)) );
- BOOST_CHECK( result == boost::find_first_of(boost::make_iterator_range(cont), boost::make_iterator_range(m_cont)) );
+ template<class Container>
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+ iter_t result = boost::find_first_of(cont, m_cont);
+ BOOST_CHECK( result == boost::find_first_of(boost::make_iterator_range(cont), m_cont) );
+ BOOST_CHECK( result == boost::find_first_of(cont, boost::make_iterator_range(m_cont)) );
+ BOOST_CHECK( result == boost::find_first_of(boost::make_iterator_range(cont), boost::make_iterator_range(m_cont)) );
+ return result;
+ }
+
+ template<boost::range_return_value return_type>
+ struct test_range
+ {
+ template<class Container, class Policy>
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(Policy& policy, Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
+ result_t result = boost::find_first_of<return_type>(cont, policy.cont());
+ BOOST_CHECK( result == boost::find_first_of<return_type>(boost::make_iterator_range(cont), policy.cont()) );
+ BOOST_CHECK( result == boost::find_first_of<return_type>(cont, boost::make_iterator_range(policy.cont())) );
+ BOOST_CHECK( result == boost::find_first_of<return_type>(boost::make_iterator_range(cont), boost::make_iterator_range(policy.cont())) );
                 return result;
             }
+ };
 
- template<range_return_value return_type>
- struct test_range
- {
- template<class Container, class Policy>
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(Policy& policy, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
- result_t result = boost::find_first_of<return_type>(cont, policy.cont());
- BOOST_CHECK( result == boost::find_first_of<return_type>(boost::make_iterator_range(cont), policy.cont()) );
- BOOST_CHECK( result == boost::find_first_of<return_type>(cont, boost::make_iterator_range(policy.cont())) );
- BOOST_CHECK( result == boost::find_first_of<return_type>(boost::make_iterator_range(cont), boost::make_iterator_range(policy.cont())) );
- return result;
- }
- };
-
- template<class Container>
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
- {
- return std::find_first_of(cont.begin(), cont.end(),
- m_cont.begin(), m_cont.end());
- }
+ template<class Container>
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
+ {
+ return std::find_first_of(cont.begin(), cont.end(),
+ m_cont.begin(), m_cont.end());
+ }
 
- private:
- Container2 m_cont;
- };
+ private:
+ Container2 m_cont;
+ };
 
- template<class Container2, class BinaryPredicate>
- class find_first_of_pred_test_policy
+ template<class Container2, class BinaryPredicate>
+ class find_first_of_pred_test_policy
+ {
+ typedef Container2 container2_t;
+ public:
+ explicit find_first_of_pred_test_policy(const Container2& cont)
+ : m_cont(cont)
         {
- typedef Container2 container2_t;
- public:
- explicit find_first_of_pred_test_policy(const Container2& cont)
- : m_cont(cont)
- {
- }
+ }
 
- container2_t& cont() { return m_cont; }
- BinaryPredicate& pred() { return m_pred; }
+ container2_t& cont() { return m_cont; }
+ BinaryPredicate& pred() { return m_pred; }
 
- template<class Container>
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
- iter_t result = boost::find_first_of(cont, m_cont, m_pred);
- BOOST_CHECK( result == boost::find_first_of(boost::make_iterator_range(cont), m_cont, m_pred) );
- BOOST_CHECK( result == boost::find_first_of(cont, boost::make_iterator_range(m_cont), m_pred) );
- BOOST_CHECK( result == boost::find_first_of(boost::make_iterator_range(cont), boost::make_iterator_range(m_cont), m_pred) );
- return result;
- }
+ template<class Container>
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+ iter_t result = boost::find_first_of(cont, m_cont, m_pred);
+ BOOST_CHECK( result == boost::find_first_of(boost::make_iterator_range(cont), m_cont, m_pred) );
+ BOOST_CHECK( result == boost::find_first_of(cont, boost::make_iterator_range(m_cont), m_pred) );
+ BOOST_CHECK( result == boost::find_first_of(boost::make_iterator_range(cont), boost::make_iterator_range(m_cont), m_pred) );
+ return result;
+ }
 
- template<range_return_value return_type>
- struct test_range
- {
- template<class Container, class Policy>
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(Policy& policy, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
- result_t result = boost::find_first_of<return_type>(cont, policy.cont(), policy.pred());
- BOOST_CHECK( result == boost::find_first_of<return_type>(boost::make_iterator_range(cont), policy.cont(), policy.pred()) );
- BOOST_CHECK( result == boost::find_first_of<return_type>(cont, boost::make_iterator_range(policy.cont()), policy.pred()) );
- BOOST_CHECK( result == boost::find_first_of<return_type>(boost::make_iterator_range(cont), boost::make_iterator_range(policy.cont()), policy.pred()) );
- return result;
- }
- };
-
- template<class Container>
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
- {
- return std::find_first_of(cont.begin(), cont.end(),
- m_cont.begin(), m_cont.end(),
- m_pred);
+ template<boost::range_return_value return_type>
+ struct test_range
+ {
+ template<class Container, class Policy>
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(Policy& policy, Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
+ result_t result = boost::find_first_of<return_type>(cont, policy.cont(), policy.pred());
+ BOOST_CHECK( result == boost::find_first_of<return_type>(boost::make_iterator_range(cont), policy.cont(), policy.pred()) );
+ BOOST_CHECK( result == boost::find_first_of<return_type>(cont, boost::make_iterator_range(policy.cont()), policy.pred()) );
+ BOOST_CHECK( result == boost::find_first_of<return_type>(boost::make_iterator_range(cont), boost::make_iterator_range(policy.cont()), policy.pred()) );
+ return result;
             }
-
- private:
- Container2 m_cont;
- BinaryPredicate m_pred;
         };
 
- template<class Container1, class Container2>
- void run_tests(Container1& cont1, Container2& cont2)
+ template<class Container>
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
         {
- range_test::range_return_test_driver test_driver;
- test_driver(cont1, find_first_of_test_policy<Container2>(cont2));
- test_driver(cont1, find_first_of_pred_test_policy<Container2, std::less<int> >(cont2));
- test_driver(cont2, find_first_of_pred_test_policy<Container2, std::greater<int> >(cont2));
+ return std::find_first_of(cont.begin(), cont.end(),
+ m_cont.begin(), m_cont.end(),
+ m_pred);
         }
 
- template<class Container1, class Container2>
- void test_find_first_of_impl()
- {
- using namespace boost::assign;
+ private:
+ Container2 m_cont;
+ BinaryPredicate m_pred;
+ };
 
- typedef BOOST_DEDUCED_TYPENAME remove_const<Container1>::type container1_t;
- typedef BOOST_DEDUCED_TYPENAME remove_const<Container2>::type container2_t;
+ template<class Container1, class Container2>
+ void run_tests(Container1& cont1, Container2& cont2)
+ {
+ boost::range_test::range_return_test_driver test_driver;
+ test_driver(cont1, find_first_of_test_policy<Container2>(cont2));
+ test_driver(cont1, find_first_of_pred_test_policy<Container2, std::less<int> >(cont2));
+ test_driver(cont2, find_first_of_pred_test_policy<Container2, std::greater<int> >(cont2));
+ }
 
- container1_t mcont1;
- Container1& cont1 = mcont1;
- container2_t mcont2;
- Container2& cont2 = mcont2;
+ template<class Container1, class Container2>
+ void test_find_first_of_impl()
+ {
+ using namespace boost::assign;
 
- run_tests(cont1, cont2);
+ typedef BOOST_DEDUCED_TYPENAME boost::remove_const<Container1>::type container1_t;
+ typedef BOOST_DEDUCED_TYPENAME boost::remove_const<Container2>::type container2_t;
 
- mcont1 += 1;
- run_tests(cont1, cont2);
+ container1_t mcont1;
+ Container1& cont1 = mcont1;
+ container2_t mcont2;
+ Container2& cont2 = mcont2;
 
- mcont2 += 1;
- run_tests(cont1, cont2);
+ run_tests(cont1, cont2);
 
- mcont1 += 2,3,4,5,6,7,8,9;
- mcont2 += 2,3,4;
- run_tests(cont1, cont2);
+ mcont1 += 1;
+ run_tests(cont1, cont2);
 
- mcont2.clear();
- mcont2 += 7,8,9;
- run_tests(cont1, cont2);
- }
+ mcont2 += 1;
+ run_tests(cont1, cont2);
 
- void test_find_first_of()
- {
- test_find_first_of_impl< std::vector<int>, std::vector<int> >();
- test_find_first_of_impl< std::list<int>, std::list<int> >();
- test_find_first_of_impl< std::deque<int>, std::deque<int> >();
- test_find_first_of_impl< const std::vector<int>, const std::vector<int> >();
- test_find_first_of_impl< const std::list<int>, const std::list<int> >();
- test_find_first_of_impl< const std::deque<int>, const std::deque<int> >();
- test_find_first_of_impl< const std::vector<int>, const std::list<int> >();
- test_find_first_of_impl< const std::list<int>, const std::vector<int> >();
- test_find_first_of_impl< const std::vector<int>, std::list<int> >();
- test_find_first_of_impl< const std::list<int>, std::vector<int> >();
- test_find_first_of_impl< std::vector<int>, std::list<int> >();
- test_find_first_of_impl< std::list<int>, std::vector<int> >();
- }
+ mcont1 += 2,3,4,5,6,7,8,9;
+ mcont2 += 2,3,4;
+ run_tests(cont1, cont2);
+
+ mcont2.clear();
+ mcont2 += 7,8,9;
+ run_tests(cont1, cont2);
+ }
+
+ void test_find_first_of()
+ {
+ test_find_first_of_impl< std::vector<int>, std::vector<int> >();
+ test_find_first_of_impl< std::list<int>, std::list<int> >();
+ test_find_first_of_impl< std::deque<int>, std::deque<int> >();
+ test_find_first_of_impl< const std::vector<int>, const std::vector<int> >();
+ test_find_first_of_impl< const std::list<int>, const std::list<int> >();
+ test_find_first_of_impl< const std::deque<int>, const std::deque<int> >();
+ test_find_first_of_impl< const std::vector<int>, const std::list<int> >();
+ test_find_first_of_impl< const std::list<int>, const std::vector<int> >();
+ test_find_first_of_impl< const std::vector<int>, std::list<int> >();
+ test_find_first_of_impl< const std::list<int>, std::vector<int> >();
+ test_find_first_of_impl< std::vector<int>, std::list<int> >();
+ test_find_first_of_impl< std::list<int>, std::vector<int> >();
     }
 }
 
@@ -195,7 +192,7 @@
     boost::unit_test::test_suite* test
         = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.find_first_of" );
 
- test->add( BOOST_TEST_CASE( &boost::test_find_first_of ) );
+ test->add( BOOST_TEST_CASE( &boost_range_test_algorithm_find_first_of::test_find_first_of ) );
 
     return test;
 }

Modified: branches/release/libs/range/test/algorithm_test/find_if.cpp
==============================================================================
--- branches/release/libs/range/test/algorithm_test/find_if.cpp (original)
+++ branches/release/libs/range/test/algorithm_test/find_if.cpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -23,97 +23,94 @@
 #include <list>
 #include <vector>
 
-namespace boost
+namespace boost_range_test_algorithm_find_if
 {
- namespace
+ template<class UnaryPredicate>
+ class find_if_test_policy
     {
- template<class UnaryPredicate>
- class find_if_test_policy
+ public:
+ explicit find_if_test_policy(UnaryPredicate pred)
+ : m_pred(pred) {}
+
+ template<class Container>
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
         {
- public:
- explicit find_if_test_policy(UnaryPredicate pred)
- : m_pred(pred) {}
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+ iter_t result = boost::find_if(cont, m_pred);
+ BOOST_CHECK( result == boost::find_if(boost::make_iterator_range(cont), m_pred) );
+ return result;
+ }
 
+ template<boost::range_return_value return_type>
+ struct test_range
+ {
             template<class Container>
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(find_if_test_policy& policy, Container& cont)
             {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
- iter_t result = boost::find_if(cont, m_pred);
- BOOST_CHECK( result == boost::find_if(boost::make_iterator_range(cont), m_pred) );
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
+ result_t result = boost::find_if<return_type>(cont, policy.pred());
+ BOOST_CHECK( result == boost::find_if<return_type>(boost::make_iterator_range(cont), policy.pred()) );
                 return result;
             }
-
- template<range_return_value return_type>
- struct test_range
- {
- template<class Container>
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(find_if_test_policy& policy, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
- result_t result = boost::find_if<return_type>(cont, policy.pred());
- BOOST_CHECK( result == boost::find_if<return_type>(boost::make_iterator_range(cont), policy.pred()) );
- return result;
- }
- };
-
- template<class Container>
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
- {
- return std::find_if(cont.begin(), cont.end(), m_pred);
- }
-
- UnaryPredicate& pred() { return m_pred; }
-
- private:
- UnaryPredicate m_pred;
         };
 
- template<class UnaryPredicate>
- find_if_test_policy<UnaryPredicate>
- make_policy(UnaryPredicate pred)
+ template<class Container>
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
         {
- return find_if_test_policy<UnaryPredicate>(pred);
+ return std::find_if(cont.begin(), cont.end(), m_pred);
         }
 
- template<class Container>
- void test_find_if_container()
- {
- using namespace boost::assign;
- using namespace boost::range_test_function;
+ UnaryPredicate& pred() { return m_pred; }
 
- typedef BOOST_DEDUCED_TYPENAME remove_const<Container>::type container_t;
+ private:
+ UnaryPredicate m_pred;
+ };
+
+ template<class UnaryPredicate>
+ find_if_test_policy<UnaryPredicate>
+ make_policy(UnaryPredicate pred)
+ {
+ return find_if_test_policy<UnaryPredicate>(pred);
+ }
 
- range_test::range_return_test_driver test_driver;
+ template<class Container>
+ void test_find_if_container()
+ {
+ using namespace boost::assign;
+ using namespace boost::range_test_function;
 
- container_t mcont;
- Container& cont = mcont;
- test_driver(cont, make_policy(greater_than_x<int>(5)));
- test_driver(cont, make_policy(false_predicate()));
-
- mcont.clear();
- mcont += 1;
- test_driver(cont, make_policy(greater_than_x<int>(5)));
- test_driver(cont, make_policy(false_predicate()));
-
- mcont.clear();
- mcont += 1,2,3,4,5,6,7,8,9;
- test_driver(cont, make_policy(greater_than_x<int>(5)));
- test_driver(cont, make_policy(false_predicate()));
- }
+ typedef BOOST_DEDUCED_TYPENAME boost::remove_const<Container>::type container_t;
 
- void test_find_if()
- {
- test_find_if_container< std::vector<int> >();
- test_find_if_container< std::list<int> >();
- test_find_if_container< std::deque<int> >();
-
- test_find_if_container< const std::vector<int> >();
- test_find_if_container< const std::list<int> >();
- test_find_if_container< const std::deque<int> >();
- }
+ boost::range_test::range_return_test_driver test_driver;
+
+ container_t mcont;
+ Container& cont = mcont;
+ test_driver(cont, make_policy(greater_than_x<int>(5)));
+ test_driver(cont, make_policy(false_predicate()));
+
+ mcont.clear();
+ mcont += 1;
+ test_driver(cont, make_policy(greater_than_x<int>(5)));
+ test_driver(cont, make_policy(false_predicate()));
+
+ mcont.clear();
+ mcont += 1,2,3,4,5,6,7,8,9;
+ test_driver(cont, make_policy(greater_than_x<int>(5)));
+ test_driver(cont, make_policy(false_predicate()));
+ }
+
+ void test_find_if()
+ {
+ test_find_if_container< std::vector<int> >();
+ test_find_if_container< std::list<int> >();
+ test_find_if_container< std::deque<int> >();
+
+ test_find_if_container< const std::vector<int> >();
+ test_find_if_container< const std::list<int> >();
+ test_find_if_container< const std::deque<int> >();
     }
 }
 
@@ -123,7 +120,7 @@
     boost::unit_test::test_suite* test
         = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.find_if" );
 
- test->add( BOOST_TEST_CASE( &boost::test_find_if ) );
+ test->add( BOOST_TEST_CASE( &boost_range_test_algorithm_find_if::test_find_if ) );
 
     return test;
 }

Modified: branches/release/libs/range/test/algorithm_test/lower_bound.cpp
==============================================================================
--- branches/release/libs/range/test/algorithm_test/lower_bound.cpp (original)
+++ branches/release/libs/range/test/algorithm_test/lower_bound.cpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -22,156 +22,152 @@
 #include <deque>
 #include <vector>
 
-namespace boost
+namespace boost_range_test_algorithm_lower_bound
 {
- namespace
+ class lower_bound_policy
     {
- class lower_bound_policy
+ public:
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
         {
- public:
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
- iter_t result = boost::lower_bound(cont, 5);
- BOOST_CHECK( result == boost::lower_bound(boost::make_iterator_range(cont), 5) );
- return result;
- }
-
- template<range_return_value return_type>
- struct test_range
- {
- template<class Container, class Policy>
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(Policy&, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
- result_t result = boost::lower_bound<return_type>(cont, 5);
- BOOST_CHECK( result == boost::lower_bound<return_type>(boost::make_iterator_range(cont), 5) );
- return result;
- }
- };
-
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
- {
- return std::lower_bound(cont.begin(), cont.end(), 5);
- }
- };
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+ iter_t result = boost::lower_bound(cont, 5);
+ BOOST_CHECK( result == boost::lower_bound(boost::make_iterator_range(cont), 5) );
+ return result;
+ }
 
- template< class BinaryPredicate >
- struct lower_bound_pred_policy
+ template<boost::range_return_value return_type>
+ struct test_range
         {
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
- iter_t result = boost::lower_bound(cont, 5, m_pred);
- BOOST_CHECK( result == boost::lower_bound(
- boost::make_iterator_range(cont), 5, m_pred) );
+ template<class Container, class Policy>
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(Policy&, Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
+ result_t result = boost::lower_bound<return_type>(cont, 5);
+ BOOST_CHECK( result == boost::lower_bound<return_type>(boost::make_iterator_range(cont), 5) );
                 return result;
             }
+ };
 
- template< range_return_value return_type >
- struct test_range
- {
- template<class Container, class Policy>
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(Policy& policy, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
- result_t result = boost::lower_bound<return_type>(cont, 5, policy.pred());
- BOOST_CHECK( result == boost::lower_bound<return_type>(
- boost::make_iterator_range(cont), 5, policy.pred()) );
- return result;
- }
- };
-
- template<class Container>
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
- {
- return std::lower_bound(
- cont.begin(), cont.end(), 5, m_pred);
- }
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
+ {
+ return std::lower_bound(cont.begin(), cont.end(), 5);
+ }
+ };
 
- BinaryPredicate& pred() { return m_pred; }
+ template< class BinaryPredicate >
+ struct lower_bound_pred_policy
+ {
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+ iter_t result = boost::lower_bound(cont, 5, m_pred);
+ BOOST_CHECK( result == boost::lower_bound(
+ boost::make_iterator_range(cont), 5, m_pred) );
+ return result;
+ }
 
- private:
- BinaryPredicate m_pred;
+ template< boost::range_return_value return_type >
+ struct test_range
+ {
+ template<class Container, class Policy>
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(Policy& policy, Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
+ result_t result = boost::lower_bound<return_type>(cont, 5, policy.pred());
+ BOOST_CHECK( result == boost::lower_bound<return_type>(
+ boost::make_iterator_range(cont), 5, policy.pred()) );
+ return result;
+ }
         };
 
- template<class Container,
- class TestPolicy,
- class BinaryPredicate>
- void test_lower_bound_impl(TestPolicy policy, BinaryPredicate pred)
+ template<class Container>
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
         {
- using namespace boost::assign;
+ return std::lower_bound(
+ cont.begin(), cont.end(), 5, m_pred);
+ }
 
- typedef BOOST_DEDUCED_TYPENAME remove_const<Container>::type container_t;
- typedef BOOST_DEDUCED_TYPENAME Container::value_type value_t;
+ BinaryPredicate& pred() { return m_pred; }
 
- range_test::range_return_test_driver test_driver;
+ private:
+ BinaryPredicate m_pred;
+ };
+
+ template<class Container,
+ class TestPolicy,
+ class BinaryPredicate>
+ void test_lower_bound_impl(TestPolicy policy, BinaryPredicate pred)
+ {
+ using namespace boost::assign;
 
- container_t mcont;
- Container& cont = mcont;
+ typedef BOOST_DEDUCED_TYPENAME boost::remove_const<Container>::type container_t;
+ typedef BOOST_DEDUCED_TYPENAME Container::value_type value_t;
 
- test_driver(cont, policy);
+ boost::range_test::range_return_test_driver test_driver;
 
- mcont.clear();
- mcont += 1;
+ container_t mcont;
+ Container& cont = mcont;
 
- std::vector<value_t> temp(mcont.begin(), mcont.end());
- std::sort(temp.begin(), temp.end(), pred);
- mcont.assign(temp.begin(), temp.end());
+ test_driver(cont, policy);
 
- test_driver(cont, policy);
+ mcont.clear();
+ mcont += 1;
 
- mcont.clear();
- mcont += 1,2,3,4,5,6,7,8,9;
+ std::vector<value_t> temp(mcont.begin(), mcont.end());
+ std::sort(temp.begin(), temp.end(), pred);
+ mcont.assign(temp.begin(), temp.end());
 
- temp.assign(mcont.begin(), mcont.end());
- std::sort(temp.begin(), temp.end(), pred);
- mcont.assign(temp.begin(), temp.end());
+ test_driver(cont, policy);
 
- test_driver(cont, policy);
- }
+ mcont.clear();
+ mcont += 1,2,3,4,5,6,7,8,9;
 
- template<class Container>
- void test_lower_bound_impl()
- {
- test_lower_bound_impl<Container>(
- lower_bound_policy(),
- std::less<int>()
- );
-
- test_lower_bound_impl<Container>(
- lower_bound_pred_policy<std::less<int> >(),
- std::less<int>()
- );
-
- test_lower_bound_impl<Container>(
- lower_bound_pred_policy<std::greater<int> >(),
- std::greater<int>()
- );
- }
+ temp.assign(mcont.begin(), mcont.end());
+ std::sort(temp.begin(), temp.end(), pred);
+ mcont.assign(temp.begin(), temp.end());
 
- void test_lower_bound()
- {
- test_lower_bound_impl< std::vector<int> >();
- test_lower_bound_impl< std::list<int> >();
- test_lower_bound_impl< std::deque<int> >();
-
- test_lower_bound_impl< const std::vector<int> >();
- test_lower_bound_impl< const std::list<int> >();
- test_lower_bound_impl< const std::deque<int> >();
- }
+ test_driver(cont, policy);
     }
-}
 
+ template<class Container>
+ void test_lower_bound_impl()
+ {
+ test_lower_bound_impl<Container>(
+ lower_bound_policy(),
+ std::less<int>()
+ );
+
+ test_lower_bound_impl<Container>(
+ lower_bound_pred_policy<std::less<int> >(),
+ std::less<int>()
+ );
+
+ test_lower_bound_impl<Container>(
+ lower_bound_pred_policy<std::greater<int> >(),
+ std::greater<int>()
+ );
+ }
+
+ void test_lower_bound()
+ {
+ test_lower_bound_impl< std::vector<int> >();
+ test_lower_bound_impl< std::list<int> >();
+ test_lower_bound_impl< std::deque<int> >();
+
+ test_lower_bound_impl< const std::vector<int> >();
+ test_lower_bound_impl< const std::list<int> >();
+ test_lower_bound_impl< const std::deque<int> >();
+ }
+}
 
 boost::unit_test::test_suite*
 init_unit_test_suite(int argc, char* argv[])
@@ -179,7 +175,7 @@
     boost::unit_test::test_suite* test
         = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.lower_bound" );
 
- test->add( BOOST_TEST_CASE( &boost::test_lower_bound ) );
+ test->add( BOOST_TEST_CASE( &boost_range_test_algorithm_lower_bound::test_lower_bound ) );
 
     return test;
 }

Modified: branches/release/libs/range/test/algorithm_test/max_element.cpp
==============================================================================
--- branches/release/libs/range/test/algorithm_test/max_element.cpp (original)
+++ branches/release/libs/range/test/algorithm_test/max_element.cpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -22,134 +22,131 @@
 #include <deque>
 #include <vector>
 
-namespace boost
+namespace boost_range_test_algorithm_max_element
 {
- namespace
+ class max_element_test_policy
     {
- class max_element_test_policy
+ public:
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
         {
- public:
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
- iter_t result = boost::max_element(cont);
- BOOST_CHECK( result == boost::max_element(
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+ iter_t result = boost::max_element(cont);
+ BOOST_CHECK( result == boost::max_element(
+ boost::make_iterator_range(cont)) );
+ return result;
+ }
+
+ template<boost::range_return_value return_type>
+ struct test_range
+ {
+ template<class Container, class Policy>
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(Policy&, Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
+ result_t result = boost::max_element<return_type>(cont);
+ BOOST_CHECK( result == boost::max_element<return_type>(
                                             boost::make_iterator_range(cont)) );
                 return result;
             }
-
- template<range_return_value return_type>
- struct test_range
- {
- template<class Container, class Policy>
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(Policy&, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
- result_t result = boost::max_element<return_type>(cont);
- BOOST_CHECK( result == boost::max_element<return_type>(
- boost::make_iterator_range(cont)) );
- return result;
- }
- };
-
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
- {
- return std::max_element(cont.begin(), cont.end());
- }
         };
 
- template<class Pred>
- class max_element_pred_test_policy
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
         {
- public:
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
- iter_t result = boost::max_element(cont, Pred());
- BOOST_CHECK( result == boost::max_element(
- boost::make_iterator_range(cont), Pred()) );
- return result;
- }
+ return std::max_element(cont.begin(), cont.end());
+ }
+ };
 
- Pred pred() const { return Pred(); }
+ template<class Pred>
+ class max_element_pred_test_policy
+ {
+ public:
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+ iter_t result = boost::max_element(cont, Pred());
+ BOOST_CHECK( result == boost::max_element(
+ boost::make_iterator_range(cont), Pred()) );
+ return result;
+ }
 
- template< range_return_value return_type >
- struct test_range
- {
- template< class Container, class Policy >
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(Policy& policy, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
- result_t result = boost::max_element<return_type>(cont, policy.pred());
- BOOST_CHECK( result == boost::max_element<return_type>(
- boost::make_iterator_range(cont), policy.pred()) );
- return result;
- }
- };
-
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
- {
- return std::max_element(cont.begin(), cont.end(), Pred());
+ Pred pred() const { return Pred(); }
+
+ template< boost::range_return_value return_type >
+ struct test_range
+ {
+ template< class Container, class Policy >
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(Policy& policy, Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
+ result_t result = boost::max_element<return_type>(cont, policy.pred());
+ BOOST_CHECK( result == boost::max_element<return_type>(
+ boost::make_iterator_range(cont), policy.pred()) );
+ return result;
             }
         };
 
- template<class Container, class TestPolicy>
- void test_max_element_impl(TestPolicy policy)
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
         {
- using namespace boost::assign;
+ return std::max_element(cont.begin(), cont.end(), Pred());
+ }
+ };
 
- typedef BOOST_DEDUCED_TYPENAME Container::value_type value_t;
- typedef BOOST_DEDUCED_TYPENAME remove_const<Container>::type container_t;
+ template<class Container, class TestPolicy>
+ void test_max_element_impl(TestPolicy policy)
+ {
+ using namespace boost::assign;
 
- range_test::range_return_test_driver test_driver;
+ typedef BOOST_DEDUCED_TYPENAME Container::value_type value_t;
+ typedef BOOST_DEDUCED_TYPENAME boost::remove_const<Container>::type container_t;
 
- container_t cont;
+ boost::range_test::range_return_test_driver test_driver;
 
- test_driver(cont, policy);
+ container_t cont;
 
- cont.clear();
- cont += 1;
+ test_driver(cont, policy);
 
- test_driver(cont, policy);
+ cont.clear();
+ cont += 1;
 
- cont.clear();
- cont += 1,2,2,2,3,4,5,6,7,8,9;
+ test_driver(cont, policy);
 
- test_driver(cont, policy);
- }
+ cont.clear();
+ cont += 1,2,2,2,3,4,5,6,7,8,9;
 
- template<class Container>
- void test_max_element_impl()
- {
- test_max_element_impl<Container>(max_element_test_policy());
-
- test_max_element_impl<Container>(
- max_element_pred_test_policy<std::less<int> >());
+ test_driver(cont, policy);
+ }
 
- test_max_element_impl<Container>(
- max_element_pred_test_policy<std::greater<int> >());
- }
+ template<class Container>
+ void test_max_element_impl()
+ {
+ test_max_element_impl<Container>(max_element_test_policy());
 
- void test_max_element()
- {
- test_max_element_impl< const std::vector<int> >();
- test_max_element_impl< const std::deque<int> >();
- test_max_element_impl< const std::list<int> >();
-
- test_max_element_impl< std::vector<int> >();
- test_max_element_impl< std::deque<int> >();
- test_max_element_impl< std::list<int> >();
- }
+ test_max_element_impl<Container>(
+ max_element_pred_test_policy<std::less<int> >());
+
+ test_max_element_impl<Container>(
+ max_element_pred_test_policy<std::greater<int> >());
+ }
+
+ void test_max_element()
+ {
+ test_max_element_impl< const std::vector<int> >();
+ test_max_element_impl< const std::deque<int> >();
+ test_max_element_impl< const std::list<int> >();
+
+ test_max_element_impl< std::vector<int> >();
+ test_max_element_impl< std::deque<int> >();
+ test_max_element_impl< std::list<int> >();
     }
 }
 
@@ -159,7 +156,7 @@
     boost::unit_test::test_suite* test
         = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.max_element" );
 
- test->add( BOOST_TEST_CASE( &boost::test_max_element ) );
+ test->add( BOOST_TEST_CASE( &boost_range_test_algorithm_max_element::test_max_element ) );
 
     return test;
 }

Modified: branches/release/libs/range/test/algorithm_test/min_element.cpp
==============================================================================
--- branches/release/libs/range/test/algorithm_test/min_element.cpp (original)
+++ branches/release/libs/range/test/algorithm_test/min_element.cpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -22,132 +22,129 @@
 #include <deque>
 #include <vector>
 
-namespace boost
+namespace boost_range_test_algorithm_min_element
 {
- namespace
+ class min_element_test_policy
     {
- class min_element_test_policy
+ public:
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
         {
- public:
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
- iter_t result = boost::min_element(cont);
- BOOST_CHECK( result == boost::min_element(boost::make_iterator_range(cont)) );
- return result;
- }
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+ iter_t result = boost::min_element(cont);
+ BOOST_CHECK( result == boost::min_element(boost::make_iterator_range(cont)) );
+ return result;
+ }
 
- template< range_return_value return_type >
- struct test_range
- {
- template< class Container, class Policy >
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(Policy&, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
- result_t result = boost::min_element<return_type>(cont);
- BOOST_CHECK( result == boost::min_element<return_type>(boost::make_iterator_range(cont)) );
- return result;
- }
- };
-
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
- {
- return std::min_element(cont.begin(), cont.end());
+ template< boost::range_return_value return_type >
+ struct test_range
+ {
+ template< class Container, class Policy >
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(Policy&, Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
+ result_t result = boost::min_element<return_type>(cont);
+ BOOST_CHECK( result == boost::min_element<return_type>(boost::make_iterator_range(cont)) );
+ return result;
             }
         };
 
- template<class Pred>
- class min_element_pred_test_policy
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
         {
- public:
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
- iter_t result = boost::min_element(cont, Pred());
- BOOST_CHECK( result == boost::min_element(
- boost::make_iterator_range(cont), Pred()) );
- return result;
- }
+ return std::min_element(cont.begin(), cont.end());
+ }
+ };
 
- Pred pred() const { return Pred(); }
+ template<class Pred>
+ class min_element_pred_test_policy
+ {
+ public:
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+ iter_t result = boost::min_element(cont, Pred());
+ BOOST_CHECK( result == boost::min_element(
+ boost::make_iterator_range(cont), Pred()) );
+ return result;
+ }
 
- template< range_return_value return_type >
- struct test_range
- {
- template< class Container, class Policy >
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(Policy& policy, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
- result_t result = boost::min_element<return_type>(cont, policy.pred());
- BOOST_CHECK( result == boost::min_element<return_type>(
- boost::make_iterator_range(cont), policy.pred()) );
- return result;
- }
- };
-
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
- {
- return std::min_element(cont.begin(), cont.end(), Pred());
+ Pred pred() const { return Pred(); }
+
+ template< boost::range_return_value return_type >
+ struct test_range
+ {
+ template< class Container, class Policy >
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(Policy& policy, Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
+ result_t result = boost::min_element<return_type>(cont, policy.pred());
+ BOOST_CHECK( result == boost::min_element<return_type>(
+ boost::make_iterator_range(cont), policy.pred()) );
+ return result;
             }
         };
 
- template<class Container, class TestPolicy>
- void test_min_element_impl(TestPolicy policy)
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
         {
- using namespace boost::assign;
+ return std::min_element(cont.begin(), cont.end(), Pred());
+ }
+ };
 
- typedef BOOST_DEDUCED_TYPENAME Container::value_type value_t;
- typedef BOOST_DEDUCED_TYPENAME remove_const<Container>::type container_t;
+ template<class Container, class TestPolicy>
+ void test_min_element_impl(TestPolicy policy)
+ {
+ using namespace boost::assign;
 
- range_test::range_return_test_driver test_driver;
+ typedef BOOST_DEDUCED_TYPENAME Container::value_type value_t;
+ typedef BOOST_DEDUCED_TYPENAME boost::remove_const<Container>::type container_t;
 
- container_t cont;
+ boost::range_test::range_return_test_driver test_driver;
 
- test_driver(cont, policy);
+ container_t cont;
 
- cont.clear();
- cont += 1;
+ test_driver(cont, policy);
 
- test_driver(cont, policy);
+ cont.clear();
+ cont += 1;
 
- cont.clear();
- cont += 1,2,2,2,3,4,5,6,7,8,9;
+ test_driver(cont, policy);
 
- test_driver(cont, policy);
- }
+ cont.clear();
+ cont += 1,2,2,2,3,4,5,6,7,8,9;
 
- template<class Container>
- void test_min_element_impl()
- {
- test_min_element_impl<Container>(min_element_test_policy());
-
- test_min_element_impl<Container>(
- min_element_pred_test_policy<std::less<int> >());
+ test_driver(cont, policy);
+ }
 
- test_min_element_impl<Container>(
- min_element_pred_test_policy<std::greater<int> >());
- }
+ template<class Container>
+ void test_min_element_impl()
+ {
+ test_min_element_impl<Container>(min_element_test_policy());
 
- void test_min_element()
- {
- test_min_element_impl< const std::vector<int> >();
- test_min_element_impl< const std::deque<int> >();
- test_min_element_impl< const std::list<int> >();
-
- test_min_element_impl< std::vector<int> >();
- test_min_element_impl< std::deque<int> >();
- test_min_element_impl< std::list<int> >();
- }
+ test_min_element_impl<Container>(
+ min_element_pred_test_policy<std::less<int> >());
+
+ test_min_element_impl<Container>(
+ min_element_pred_test_policy<std::greater<int> >());
+ }
+
+ void test_min_element()
+ {
+ test_min_element_impl< const std::vector<int> >();
+ test_min_element_impl< const std::deque<int> >();
+ test_min_element_impl< const std::list<int> >();
+
+ test_min_element_impl< std::vector<int> >();
+ test_min_element_impl< std::deque<int> >();
+ test_min_element_impl< std::list<int> >();
     }
 }
 
@@ -157,7 +154,7 @@
     boost::unit_test::test_suite* test
         = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.min_element" );
 
- test->add( BOOST_TEST_CASE( &boost::test_min_element ) );
+ test->add( BOOST_TEST_CASE( &boost_range_test_algorithm_min_element::test_min_element ) );
 
     return test;
 }

Modified: branches/release/libs/range/test/algorithm_test/partition.cpp
==============================================================================
--- branches/release/libs/range/test/algorithm_test/partition.cpp (original)
+++ branches/release/libs/range/test/algorithm_test/partition.cpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -21,109 +21,106 @@
 #include <deque>
 #include <vector>
 
-namespace boost
+namespace boost_range_test_algorithm_partition
 {
- namespace
+ struct equal_to_5
     {
- struct equal_to_5
+ typedef bool result_type;
+ typedef int argument_type;
+ bool operator()(int x) const { return x == 5; }
+ };
+
+ // test the 'partition' algorithm
+ template<class UnaryPredicate>
+ class partition_test_policy
+ {
+ public:
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
         {
- typedef bool result_type;
- typedef int argument_type;
- bool operator()(int x) const { return x == 5; }
- };
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+
+ const Container old_cont(cont);
+ Container cont2(old_cont);
+ iter_t result = boost::partition(cont, UnaryPredicate());
 
- // test the 'partition' algorithm
- template<class UnaryPredicate>
- class partition_test_policy
+ boost::partition(cont2, UnaryPredicate());
+ cont2 = old_cont;
+ boost::partition(
+ boost::make_iterator_range(cont2), UnaryPredicate());
+
+ BOOST_CHECK_EQUAL_COLLECTIONS( cont.begin(), cont.end(),
+ cont2.begin(), cont2.end() );
+
+ return result;
+ }
+
+ UnaryPredicate pred() const { return UnaryPredicate(); }
+
+ template< boost::range_return_value return_type >
+ struct test_range
         {
- public:
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
+ template< class Container, class Policy >
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(Policy& policy, Container& cont)
             {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
 
                 const Container old_cont(cont);
                 Container cont2(old_cont);
- iter_t result = boost::partition(cont, UnaryPredicate());
+ result_t result = boost::partition<return_type>(cont, policy.pred());
 
- boost::partition(cont2, UnaryPredicate());
- cont2 = old_cont;
- boost::partition(
- boost::make_iterator_range(cont2), UnaryPredicate());
+ // Test that operation a temporary created by using
+ // make_iterator_range.
+ boost::partition<return_type>(
+ boost::make_iterator_range(cont2), policy.pred());
 
                 BOOST_CHECK_EQUAL_COLLECTIONS( cont.begin(), cont.end(),
                                                cont2.begin(), cont2.end() );
 
                 return result;
             }
-
- UnaryPredicate pred() const { return UnaryPredicate(); }
-
- template< range_return_value return_type >
- struct test_range
- {
- template< class Container, class Policy >
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(Policy& policy, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
-
- const Container old_cont(cont);
- Container cont2(old_cont);
- result_t result = boost::partition<return_type>(cont, policy.pred());
-
- // Test that operation a temporary created by using
- // make_iterator_range.
- boost::partition<return_type>(
- boost::make_iterator_range(cont2), policy.pred());
-
- BOOST_CHECK_EQUAL_COLLECTIONS( cont.begin(), cont.end(),
- cont2.begin(), cont2.end() );
-
- return result;
- }
- };
-
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
- {
- return std::partition(cont.begin(), cont.end(), UnaryPredicate());
- }
         };
 
- template<class Container>
- void test_partition_impl()
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
         {
- using namespace boost::assign;
+ return std::partition(cont.begin(), cont.end(), UnaryPredicate());
+ }
+ };
 
- range_test::range_return_test_driver test_driver;
+ template<class Container>
+ void test_partition_impl()
+ {
+ using namespace boost::assign;
 
- partition_test_policy< equal_to_5 > policy;
+ boost::range_test::range_return_test_driver test_driver;
 
- Container cont;
- test_driver(cont, policy);
+ partition_test_policy< equal_to_5 > policy;
 
- cont.clear();
- cont += 1;
- test_driver(cont, policy);
+ Container cont;
+ test_driver(cont, policy);
 
- cont.clear();
- cont += 1,2,2,2,2,2,3,4,5,6,7,8,9;
- test_driver(cont, policy);
+ cont.clear();
+ cont += 1;
+ test_driver(cont, policy);
 
- cont.clear();
- cont += 1,2,2,2,2,2,3,3,3,3,4,4,4,4,4,4,4,5,6,7,8,9;
- test_driver(cont, policy);
- }
+ cont.clear();
+ cont += 1,2,2,2,2,2,3,4,5,6,7,8,9;
+ test_driver(cont, policy);
 
- void test_partition()
- {
- test_partition_impl< std::vector<int> >();
- test_partition_impl< std::list<int> >();
- test_partition_impl< std::deque<int> >();
- }
+ cont.clear();
+ cont += 1,2,2,2,2,2,3,3,3,3,4,4,4,4,4,4,4,5,6,7,8,9;
+ test_driver(cont, policy);
+ }
+
+ void test_partition()
+ {
+ test_partition_impl< std::vector<int> >();
+ test_partition_impl< std::list<int> >();
+ test_partition_impl< std::deque<int> >();
     }
 }
 
@@ -133,7 +130,7 @@
     boost::unit_test::test_suite* test
         = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.partition" );
 
- test->add( BOOST_TEST_CASE( &boost::test_partition ) );
+ test->add( BOOST_TEST_CASE( &boost_range_test_algorithm_partition::test_partition ) );
 
     return test;
 }

Modified: branches/release/libs/range/test/algorithm_test/stable_partition.cpp
==============================================================================
--- branches/release/libs/range/test/algorithm_test/stable_partition.cpp (original)
+++ branches/release/libs/range/test/algorithm_test/stable_partition.cpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -21,108 +21,104 @@
 #include <deque>
 #include <vector>
 
-namespace boost
+namespace boost_range_test_algorithm_stable_partition
 {
- namespace
+ struct equal_to_5
     {
- struct equal_to_5
+ typedef bool result_type;
+ typedef int argument_type;
+ bool operator()(int x) const { return x == 5; }
+ };
+
+ // test the 'partition' algorithm
+ template<class UnaryPredicate>
+ class stable_partition_test_policy
+ {
+ public:
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
         {
- typedef bool result_type;
- typedef int argument_type;
- bool operator()(int x) const { return x == 5; }
- };
+ Container cont2(cont);
+
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+ iter_t result = boost::stable_partition(cont, UnaryPredicate());
+
+ iter_t temp_result = boost::stable_partition(
+ boost::make_iterator_range(cont2), UnaryPredicate());
+
+ BOOST_CHECK_EQUAL( std::distance(cont.begin(), result),
+ std::distance(cont2.begin(), temp_result) );
+
+ BOOST_CHECK_EQUAL_COLLECTIONS( cont.begin(), cont.end(),
+ cont2.begin(), cont2.end() );
 
- // test the 'partition' algorithm
- template<class UnaryPredicate>
- class stable_partition_test_policy
+ return result;
+ }
+
+ UnaryPredicate pred() const { return UnaryPredicate(); }
+
+ template< boost::range_return_value return_type >
+ struct test_range
         {
- public:
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
+ template< class Container, class Policy >
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(Policy& policy, Container& cont)
             {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
                 Container cont2(cont);
-
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
- iter_t result = boost::stable_partition(cont, UnaryPredicate());
-
- iter_t temp_result = boost::stable_partition(
- boost::make_iterator_range(cont2), UnaryPredicate());
-
- BOOST_CHECK_EQUAL( std::distance(cont.begin(), result),
- std::distance(cont2.begin(), temp_result) );
-
- BOOST_CHECK_EQUAL_COLLECTIONS( cont.begin(), cont.end(),
- cont2.begin(), cont2.end() );
-
- return result;
- }
+ result_t result = boost::stable_partition<return_type>(cont, policy.pred());
 
- UnaryPredicate pred() const { return UnaryPredicate(); }
+ result_t result2 = boost::stable_partition<return_type>(
+ boost::make_iterator_range(cont2), policy.pred());
 
- template< range_return_value return_type >
- struct test_range
- {
- template< class Container, class Policy >
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(Policy& policy, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
- Container cont2(cont);
- result_t result = boost::stable_partition<return_type>(cont, policy.pred());
-
- result_t result2 = boost::stable_partition<return_type>(
- boost::make_iterator_range(cont2), policy.pred());
-
- BOOST_CHECK_EQUAL_COLLECTIONS( cont2.begin(), cont2.end(),
- cont.begin(), cont.end() );
-
- return result;
- }
- };
-
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
- {
- return std::stable_partition(cont.begin(), cont.end(), UnaryPredicate());
+ BOOST_CHECK_EQUAL_COLLECTIONS( cont2.begin(), cont2.end(),
+ cont.begin(), cont.end() );
+
+ return result;
             }
         };
 
- template<class Container>
- void test_stable_partition_impl()
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
         {
- using namespace boost::assign;
+ return std::stable_partition(cont.begin(), cont.end(), UnaryPredicate());
+ }
+ };
 
- range_test::range_return_test_driver test_driver;
+ template<class Container>
+ void test_stable_partition_impl()
+ {
+ using namespace boost::assign;
 
- stable_partition_test_policy< equal_to_5 > policy;
+ boost::range_test::range_return_test_driver test_driver;
 
- Container cont;
- test_driver(cont, policy);
+ stable_partition_test_policy< equal_to_5 > policy;
 
- cont.clear();
- cont += 1;
- test_driver(cont, policy);
+ Container cont;
+ test_driver(cont, policy);
 
- cont.clear();
- cont += 1,2,2,2,2,2,3,4,5,6,7,8,9;
- test_driver(cont, policy);
+ cont.clear();
+ cont += 1;
+ test_driver(cont, policy);
 
- cont.clear();
- cont += 1,2,2,2,2,2,3,3,3,3,4,4,4,4,4,4,4,5,6,7,8,9;
- test_driver(cont, policy);
- }
+ cont.clear();
+ cont += 1,2,2,2,2,2,3,4,5,6,7,8,9;
+ test_driver(cont, policy);
 
- void test_stable_partition()
- {
- test_stable_partition_impl< std::vector<int> >();
- test_stable_partition_impl< std::list<int> >();
- test_stable_partition_impl< std::deque<int> >();
- }
+ cont.clear();
+ cont += 1,2,2,2,2,2,3,3,3,3,4,4,4,4,4,4,4,5,6,7,8,9;
+ test_driver(cont, policy);
     }
-}
 
+ void test_stable_partition()
+ {
+ test_stable_partition_impl< std::vector<int> >();
+ test_stable_partition_impl< std::list<int> >();
+ test_stable_partition_impl< std::deque<int> >();
+ }
+}
 
 boost::unit_test::test_suite*
 init_unit_test_suite(int argc, char* argv[])
@@ -130,7 +126,7 @@
     boost::unit_test::test_suite* test
         = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.stable_partition" );
 
- test->add( BOOST_TEST_CASE( &boost::test_stable_partition ) );
+ test->add( BOOST_TEST_CASE( &boost_range_test_algorithm_stable_partition::test_stable_partition ) );
 
     return test;
 }

Modified: branches/release/libs/range/test/algorithm_test/unique.cpp
==============================================================================
--- branches/release/libs/range/test/algorithm_test/unique.cpp (original)
+++ branches/release/libs/range/test/algorithm_test/unique.cpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -23,156 +23,153 @@
 #include <deque>
 #include <vector>
 
-namespace boost
+namespace boost_range_test_algorithm_unique
 {
- namespace
+ // test the 'unique' algorithm without a predicate
+ class unique_test_policy
     {
- // test the 'unique' algorithm without a predicate
- class unique_test_policy
+ public:
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
         {
- public:
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
- {
- // There isn't an iterator return version of boost::unique, so just
- // perform the standard algorithm
- return std::unique(cont.begin(), cont.end());
- }
+ // There isn't an iterator return version of boost::unique, so just
+ // perform the standard algorithm
+ return std::unique(cont.begin(), cont.end());
+ }
 
- template< range_return_value return_type >
- struct test_range
- {
- template< class Container, class Policy >
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(Policy&, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
-
- Container cont2(cont);
-
- result_t result = boost::unique<return_type>(cont);
-
- boost::unique<return_type>(boost::make_iterator_range(cont2));
-
- BOOST_CHECK_EQUAL_COLLECTIONS( cont.begin(), cont.end(),
- cont2.begin(), cont2.end() );
-
- return result;
- }
- };
-
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
+ template< boost::range_return_value return_type >
+ struct test_range
+ {
+ template< class Container, class Policy >
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(Policy&, Container& cont)
             {
- return std::unique(cont.begin(), cont.end());
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
+
+ Container cont2(cont);
+
+ result_t result = boost::unique<return_type>(cont);
+
+ boost::unique<return_type>(boost::make_iterator_range(cont2));
+
+ BOOST_CHECK_EQUAL_COLLECTIONS( cont.begin(), cont.end(),
+ cont2.begin(), cont2.end() );
+
+ return result;
             }
         };
 
- // test the 'unique' algorithm with a predicate
- template<class Pred>
- class unique_pred_test_policy
- {
- public:
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
- {
- // There isn't an iterator return version of boost::unique, so just
- // perform the standard algorithm
- return std::unique(cont.begin(), cont.end(), Pred());
- }
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
+ {
+ return std::unique(cont.begin(), cont.end());
+ }
+ };
 
- Pred pred() const { return Pred(); }
+ // test the 'unique' algorithm with a predicate
+ template<class Pred>
+ class unique_pred_test_policy
+ {
+ public:
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
+ {
+ // There isn't an iterator return version of boost::unique, so just
+ // perform the standard algorithm
+ return std::unique(cont.begin(), cont.end(), Pred());
+ }
 
- template< range_return_value return_type >
- struct test_range
- {
- template< class Container, class Policy >
- BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type
- operator()(Policy& policy, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,return_type>::type result_t;
-
- Container cont2(cont);
-
- result_t result = boost::unique<return_type>(cont, policy.pred());
-
- boost::unique<return_type>(boost::make_iterator_range(cont2), policy.pred());
-
- BOOST_CHECK_EQUAL_COLLECTIONS( cont.begin(), cont.end(),
- cont2.begin(), cont2.end() );
-
- return result;
- }
- };
-
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
+ Pred pred() const { return Pred(); }
+
+ template< boost::range_return_value return_type >
+ struct test_range
+ {
+ template< class Container, class Policy >
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type
+ operator()(Policy& policy, Container& cont)
             {
- return std::unique(cont.begin(), cont.end(), Pred());
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,return_type>::type result_t;
+
+ Container cont2(cont);
+
+ result_t result = boost::unique<return_type>(cont, policy.pred());
+
+ boost::unique<return_type>(boost::make_iterator_range(cont2), policy.pred());
+
+ BOOST_CHECK_EQUAL_COLLECTIONS( cont.begin(), cont.end(),
+ cont2.begin(), cont2.end() );
+
+ return result;
             }
         };
 
- template<class Container, class TestPolicy, class Pred>
- void test_unique_impl(TestPolicy policy, Pred pred)
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
         {
- using namespace boost::assign;
+ return std::unique(cont.begin(), cont.end(), Pred());
+ }
+ };
 
- typedef BOOST_DEDUCED_TYPENAME Container::value_type value_t;
+ template<class Container, class TestPolicy, class Pred>
+ void test_unique_impl(TestPolicy policy, Pred pred)
+ {
+ using namespace boost::assign;
 
- range_test::range_return_test_driver test_driver;
+ typedef BOOST_DEDUCED_TYPENAME Container::value_type value_t;
 
- Container cont;
+ boost::range_test::range_return_test_driver test_driver;
 
- test_driver(cont, policy);
+ Container cont;
 
- cont.clear();
- cont += 1;
+ test_driver(cont, policy);
 
- std::vector<value_t> temp(cont.begin(), cont.end());
- std::sort(temp.begin(), temp.end(), pred);
- cont.assign(temp.begin(), temp.end());
+ cont.clear();
+ cont += 1;
 
- test_driver(cont, policy);
+ std::vector<value_t> temp(cont.begin(), cont.end());
+ std::sort(temp.begin(), temp.end(), pred);
+ cont.assign(temp.begin(), temp.end());
 
- cont.clear();
- cont += 1,2,2,2,2,3,4,5,6,7,8,9;
-
- temp.assign(cont.begin(), cont.end());
- std::sort(temp.begin(), temp.end(), pred);
- cont.assign(temp.begin(), temp.end());
+ test_driver(cont, policy);
 
- test_driver(cont, policy);
- }
+ cont.clear();
+ cont += 1,2,2,2,2,3,4,5,6,7,8,9;
 
- template<class Container>
- void test_unique_impl()
- {
- test_unique_impl<Container>(
- unique_test_policy(),
- std::less<int>()
- );
-
- test_unique_impl<Container>(
- unique_pred_test_policy<std::less<int> >(),
- std::less<int>()
- );
-
- test_unique_impl<Container>(
- unique_pred_test_policy<std::greater<int> >(),
- std::greater<int>()
- );
- }
+ temp.assign(cont.begin(), cont.end());
+ std::sort(temp.begin(), temp.end(), pred);
+ cont.assign(temp.begin(), temp.end());
 
- void test_unique()
- {
- test_unique_impl< std::vector<int> >();
- test_unique_impl< std::list<int> >();
- test_unique_impl< std::deque<int> >();
- }
+ test_driver(cont, policy);
+ }
+
+ template<class Container>
+ void test_unique_impl()
+ {
+ test_unique_impl<Container>(
+ unique_test_policy(),
+ std::less<int>()
+ );
+
+ test_unique_impl<Container>(
+ unique_pred_test_policy<std::less<int> >(),
+ std::less<int>()
+ );
+
+ test_unique_impl<Container>(
+ unique_pred_test_policy<std::greater<int> >(),
+ std::greater<int>()
+ );
+ }
+
+ void test_unique()
+ {
+ test_unique_impl< std::vector<int> >();
+ test_unique_impl< std::list<int> >();
+ test_unique_impl< std::deque<int> >();
     }
 }
 
@@ -182,7 +179,7 @@
     boost::unit_test::test_suite* test
         = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.unique" );
 
- test->add( BOOST_TEST_CASE( &boost::test_unique ) );
+ test->add( BOOST_TEST_CASE( &boost_range_test_algorithm_unique::test_unique ) );
 
     return test;
 }

Modified: branches/release/libs/range/test/algorithm_test/upper_bound.cpp
==============================================================================
--- branches/release/libs/range/test/algorithm_test/upper_bound.cpp (original)
+++ branches/release/libs/range/test/algorithm_test/upper_bound.cpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -21,144 +21,141 @@
 #include <deque>
 #include <vector>
 
-namespace boost
+namespace boost_range_test_algorithm_upper_bound
 {
- namespace
+ class upper_bound_policy
     {
- class upper_bound_policy
+ public:
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
         {
- public:
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
- iter_t result = boost::upper_bound(cont, 5);
- BOOST_CHECK( result == boost::upper_bound(boost::make_iterator_range(cont), 5) );
- return result;
- }
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+ iter_t result = boost::upper_bound(cont, 5);
+ BOOST_CHECK( result == boost::upper_bound(boost::make_iterator_range(cont), 5) );
+ return result;
+ }
 
- template<range_return_value result_type>
- struct test_range
- {
- template<class Container, class Policy>
- BOOST_DEDUCED_TYPENAME range_return<Container,result_type>::type
- operator()(Policy&, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,result_type>::type result_t;
- result_t result = boost::upper_bound<result_type>(cont, 5);
- BOOST_CHECK( result == boost::upper_bound<result_type>(boost::make_iterator_range(cont), 5) );
- return result;
- }
- };
-
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
- {
- return std::upper_bound(cont.begin(), cont.end(), 5);
+ template<boost::range_return_value result_type>
+ struct test_range
+ {
+ template<class Container, class Policy>
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,result_type>::type
+ operator()(Policy&, Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,result_type>::type result_t;
+ result_t result = boost::upper_bound<result_type>(cont, 5);
+ BOOST_CHECK( result == boost::upper_bound<result_type>(boost::make_iterator_range(cont), 5) );
+ return result;
             }
         };
 
- template< class BinaryPredicate >
- struct upper_bound_pred_policy
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
         {
- template< class Container >
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- test_iter(Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_iterator<Container>::type iter_t;
- iter_t result = boost::upper_bound(cont, 5, BinaryPredicate());
- BOOST_CHECK( result == boost::upper_bound(boost::make_iterator_range(cont), 5, BinaryPredicate()) );
- return result;
- }
+ return std::upper_bound(cont.begin(), cont.end(), 5);
+ }
+ };
 
- template< range_return_value result_type>
- struct test_range
- {
- template< class Container, class Policy >
- BOOST_DEDUCED_TYPENAME range_return<Container,result_type>::type
- operator()(Policy& policy, Container& cont)
- {
- typedef BOOST_DEDUCED_TYPENAME range_return<Container,result_type>::type result_t;
-
- result_t result = boost::upper_bound<result_type>(cont, 5, policy.pred());
-
- BOOST_CHECK( result == boost::upper_bound<result_type>(
- boost::make_iterator_range(cont), 5, policy.pred()) );
-
- return result;
- }
- };
-
- template<class Container>
- BOOST_DEDUCED_TYPENAME range_iterator<Container>::type
- reference(Container& cont)
+ template< class BinaryPredicate >
+ struct upper_bound_pred_policy
+ {
+ template< class Container >
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ test_iter(Container& cont)
+ {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iter_t;
+ iter_t result = boost::upper_bound(cont, 5, BinaryPredicate());
+ BOOST_CHECK( result == boost::upper_bound(boost::make_iterator_range(cont), 5, BinaryPredicate()) );
+ return result;
+ }
+
+ template< boost::range_return_value result_type>
+ struct test_range
+ {
+ template< class Container, class Policy >
+ BOOST_DEDUCED_TYPENAME boost::range_return<Container,result_type>::type
+ operator()(Policy& policy, Container& cont)
             {
- return std::upper_bound(
- cont.begin(), cont.end(), 5, BinaryPredicate());
+ typedef BOOST_DEDUCED_TYPENAME boost::range_return<Container,result_type>::type result_t;
+
+ result_t result = boost::upper_bound<result_type>(cont, 5, policy.pred());
+
+ BOOST_CHECK( result == boost::upper_bound<result_type>(
+ boost::make_iterator_range(cont), 5, policy.pred()) );
+
+ return result;
             }
-
- BinaryPredicate& pred() { return m_pred; }
-
- private:
- BinaryPredicate m_pred;
         };
 
- template<class Container,
- class TestPolicy,
- class BinaryPredicate>
- void test_upper_bound_impl(TestPolicy policy, BinaryPredicate pred)
+ template<class Container>
+ BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type
+ reference(Container& cont)
         {
- using namespace boost::assign;
+ return std::upper_bound(
+ cont.begin(), cont.end(), 5, BinaryPredicate());
+ }
+
+ BinaryPredicate& pred() { return m_pred; }
 
- typedef BOOST_DEDUCED_TYPENAME remove_const<Container>::type container_t;
- typedef BOOST_DEDUCED_TYPENAME Container::value_type value_t;
+ private:
+ BinaryPredicate m_pred;
+ };
+
+ template<class Container,
+ class TestPolicy,
+ class BinaryPredicate>
+ void test_upper_bound_impl(TestPolicy policy, BinaryPredicate pred)
+ {
+ using namespace boost::assign;
 
- range_test::range_return_test_driver test_driver;
+ typedef BOOST_DEDUCED_TYPENAME boost::remove_const<Container>::type container_t;
+ typedef BOOST_DEDUCED_TYPENAME Container::value_type value_t;
 
- container_t mcont;
- Container& cont = mcont;
+ boost::range_test::range_return_test_driver test_driver;
 
- test_driver(cont, policy);
+ container_t mcont;
+ Container& cont = mcont;
 
- mcont.clear();
- mcont += 1;
+ test_driver(cont, policy);
 
- std::vector<value_t> temp(mcont.begin(), mcont.end());
- std::sort(temp.begin(), temp.end(), pred);
- mcont.assign(temp.begin(), temp.end());
+ mcont.clear();
+ mcont += 1;
 
- test_driver(cont, policy);
+ std::vector<value_t> temp(mcont.begin(), mcont.end());
+ std::sort(temp.begin(), temp.end(), pred);
+ mcont.assign(temp.begin(), temp.end());
 
- mcont.clear();
- mcont += 1,2,3,4,5,6,7,8,9;
+ test_driver(cont, policy);
 
- temp.assign(mcont.begin(), mcont.end());
- std::sort(temp.begin(), temp.end(), pred);
- mcont.assign(temp.begin(), temp.end());
+ mcont.clear();
+ mcont += 1,2,3,4,5,6,7,8,9;
 
- test_driver(cont, policy);
- }
+ temp.assign(mcont.begin(), mcont.end());
+ std::sort(temp.begin(), temp.end(), pred);
+ mcont.assign(temp.begin(), temp.end());
 
- template<class Container>
- void test_upper_bound_impl()
- {
- test_upper_bound_impl<Container>(
- upper_bound_policy(),
- std::less<int>()
- );
-
- test_upper_bound_impl<Container>(
- upper_bound_pred_policy<std::less<int> >(),
- std::less<int>()
- );
-
- test_upper_bound_impl<Container>(
- upper_bound_pred_policy<std::greater<int> >(),
- std::greater<int>()
- );
- }
+ test_driver(cont, policy);
+ }
+
+ template<class Container>
+ void test_upper_bound_impl()
+ {
+ test_upper_bound_impl<Container>(
+ upper_bound_policy(),
+ std::less<int>()
+ );
+
+ test_upper_bound_impl<Container>(
+ upper_bound_pred_policy<std::less<int> >(),
+ std::less<int>()
+ );
+
+ test_upper_bound_impl<Container>(
+ upper_bound_pred_policy<std::greater<int> >(),
+ std::greater<int>()
+ );
     }
 
     void test_upper_bound()
@@ -179,7 +176,7 @@
     boost::unit_test::test_suite* test
         = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.upper_bound" );
 
- test->add( BOOST_TEST_CASE( &boost::test_upper_bound ) );
+ test->add( BOOST_TEST_CASE( &boost_range_test_algorithm_upper_bound::test_upper_bound ) );
 
     return test;
 }

Modified: branches/release/libs/range/test/extension_size.cpp
==============================================================================
--- branches/release/libs/range/test/extension_size.cpp (original)
+++ branches/release/libs/range/test/extension_size.cpp 2011-01-10 01:35:02 EST (Mon, 10 Jan 2011)
@@ -24,24 +24,24 @@
 
 namespace boost_range_extension_size_test
 {
- class FooWithoutMemberSize
+ class FooWithoutSize
     {
         typedef std::list<int> impl_t;
         typedef impl_t::const_iterator const_iterator;
         typedef impl_t::iterator iterator;
 
     public:
- friend inline const_iterator range_begin(const FooWithoutMemberSize& obj) { return obj.m_impl.begin(); }
- friend inline iterator range_begin(FooWithoutMemberSize& obj) { return obj.m_impl.begin(); }
- friend inline const_iterator range_end(const FooWithoutMemberSize& obj) { return obj.m_impl.end(); }
- friend inline iterator range_end(FooWithoutMemberSize& obj){ return obj.m_impl.end(); }
+ friend inline const_iterator range_begin(const FooWithoutSize& obj) { return obj.m_impl.begin(); }
+ friend inline iterator range_begin(FooWithoutSize& obj) { return obj.m_impl.begin(); }
+ friend inline const_iterator range_end(const FooWithoutSize& obj) { return obj.m_impl.end(); }
+ friend inline iterator range_end(FooWithoutSize& obj){ return obj.m_impl.end(); }
 
     private:
         impl_t m_impl;
     };
 
- boost::range_difference<std::list<int> >::type
- inline range_calculate_size(const FooWithoutMemberSize& rng)
+ inline boost::range_difference<std::list<int> >::type
+ range_calculate_size(const FooWithoutSize& rng)
     {
         return 2u;
     }
@@ -49,12 +49,12 @@
 
 namespace boost
 {
- template<> struct range_iterator<const ::boost_range_extension_size_test::FooWithoutMemberSize>
+ template<> struct range_iterator<const ::boost_range_extension_size_test::FooWithoutSize>
     {
         typedef std::list<int>::const_iterator type;
     };
 
- template<> struct range_iterator< ::boost_range_extension_size_test::FooWithoutMemberSize >
+ template<> struct range_iterator< ::boost_range_extension_size_test::FooWithoutSize>
     {
         typedef std::list<int>::iterator type;
     };
@@ -63,13 +63,6 @@
 namespace
 {
 
-void check_size_works_with_less_than_random_access()
-{
- std::list<int> container;
- container.push_back(1);
- BOOST_CHECK_EQUAL( boost::size(container), 1u );
-}
-
 void check_size_works_with_random_access()
 {
     std::vector<int> container;
@@ -77,28 +70,9 @@
     BOOST_CHECK_EQUAL( boost::size(container), 1u );
 }
 
-class FooWithMemberSize
-{
-public:
- typedef std::list<int> impl_t;
- typedef impl_t::const_iterator const_iterator;
- typedef impl_t::iterator iterator;
- typedef impl_t::value_type value_type;
-
- std::size_t size() const { return 1u; }
- const_iterator begin() const { return m_impl.begin(); }
- iterator begin() { return m_impl.begin(); }
- const_iterator end() const { return m_impl.end(); }
- iterator end() { return m_impl.end(); }
-
-private:
- std::list<int> m_impl;
-};
-
 void check_extension_size()
 {
- BOOST_CHECK_EQUAL( boost::size(FooWithMemberSize()), 1u );
- BOOST_CHECK_EQUAL( boost::size(boost_range_extension_size_test::FooWithoutMemberSize()), 2u );
+ BOOST_CHECK_EQUAL( boost::size(boost_range_extension_size_test::FooWithoutSize()), 2u );
 }
 
 } // anonymous namespace
@@ -109,14 +83,8 @@
 {
     test_suite* test = BOOST_TEST_SUITE( "Range Test Suite" );
 
- test->add( BOOST_TEST_CASE( &check_size_works_with_less_than_random_access ));
     test->add( BOOST_TEST_CASE( &check_size_works_with_random_access ));
     test->add( BOOST_TEST_CASE( &check_extension_size ) );
 
     return test;
 }
-
-
-
-
-


Boost-Commit list run by bdawes at acm.org, david.abrahams at rcn.com, gregod at cs.rpi.edu, cpdaniel at pacbell.net, john at johnmaddock.co.uk