Boost logo

Boost-Commit :

Subject: [Boost-commit] svn:boost r61647 - in trunk/libs/range/doc: . html html/range html/range/concepts html/range/history_ack html/range/library_headers html/range/reference html/range/reference/adaptors html/range/reference/adaptors/reference html/range/reference/algorithms html/range/reference/algorithms/heap html/range/reference/algorithms/heap_algorithms html/range/reference/algorithms/mutating html/range/reference/algorithms/new html/range/reference/algorithms/non_mutating html/range/reference/algorithms/numeric html/range/reference/algorithms/permutation html/range/reference/algorithms/permutation_algorithms html/range/reference/algorithms/range_algorithm_mutating_algorithms html/range/reference/algorithms/range_algorithm_new_algorithms html/range/reference/algorithms/range_algorithm_non_mutating_algorithms html/range/reference/algorithms/range_numeric html/range/reference/algorithms/set html/range/reference/algorithms/set_algorithms html/range/reference/extending/method_3 html/range/reference/ranges html/range/reference/utilities html/range/utilities reference reference/algorithm reference/algorithm_ext
From: neil_at_[hidden]
Date: 2010-04-28 12:09:29


Author: neilgroves
Date: 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
New Revision: 61647
URL: http://svn.boost.org/trac/boost/changeset/61647

Log:
Boost.Range documentation update iteration.
Added:
   trunk/libs/range/doc/html/range/history_ack/
   trunk/libs/range/doc/html/range/library_headers/
   trunk/libs/range/doc/html/range/reference/adaptors/general_requirements.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/adaptors/introduction.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/adaptors/reference/
   trunk/libs/range/doc/html/range/reference/adaptors/reference.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/heap/
   trunk/libs/range/doc/html/range/reference/algorithms/heap.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/heap/make_heap.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/heap/pop_heap.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/heap/push_heap.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/heap/sort_heap.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/
   trunk/libs/range/doc/html/range/reference/algorithms/mutating.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/copy.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/copy_backward.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/fill.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/fill_n.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/generate.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/inplace_merge.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/merge.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/nth_element.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/partial_sort.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/partition.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/random_shuffle.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy_if.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove_if.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy_if.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace_if.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/reverse.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/reverse_copy.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/rotate.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/rotate_copy.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/sort.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/stable_partition.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/stable_sort.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/swap_ranges.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/transform.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/unique.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/mutating/unique_copy.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/new/
   trunk/libs/range/doc/html/range/reference/algorithms/new.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/new/copy_n.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/new/erase.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/new/for_each.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/new/insert.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/new/iota.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/new/is_sorted.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/new/overwrite.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/new/push_back.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/new/push_front.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/new/remove_erase.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/new/remove_erase_if.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/adjacent_find.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/binary_search.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/count.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/count_if.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/equal.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/equal_range.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find_end.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find_first_of.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find_if.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/for_each.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/lexicographical_compare.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/lower_bound.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/max_element.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/min_element.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/mismatch.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/search.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/search_n.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/upper_bound.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/numeric/
   trunk/libs/range/doc/html/range/reference/algorithms/numeric.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/numeric/accumulate.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/numeric/adjacent_difference.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/numeric/inner_product.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/numeric/partial_sum.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/permutation/
   trunk/libs/range/doc/html/range/reference/algorithms/permutation.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/permutation/next_permutation.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/permutation/prev_permutation.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/set/
   trunk/libs/range/doc/html/range/reference/algorithms/set.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/set/includes.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/set/set_difference.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/set/set_intersection.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/set/set_symmetric_difference.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/algorithms/set/set_union.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/utilities/
   trunk/libs/range/doc/html/range/reference/utilities.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/utilities/iterator_range.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/utilities/join.html (contents, props changed)
   trunk/libs/range/doc/html/range/reference/utilities/sub_range.html (contents, props changed)
   trunk/libs/range/doc/reference/algorithm/count_if.qbk (contents, props changed)
   trunk/libs/range/doc/reference/algorithm/remove_copy.qbk (contents, props changed)
   trunk/libs/range/doc/reference/algorithm/remove_copy_if.qbk (contents, props changed)
   trunk/libs/range/doc/reference/algorithm/replace_copy.qbk (contents, props changed)
   trunk/libs/range/doc/reference/algorithm/replace_copy_if.qbk (contents, props changed)
   trunk/libs/range/doc/reference/algorithm/reverse_copy.qbk (contents, props changed)
   trunk/libs/range/doc/reference/algorithm/rotate_copy.qbk (contents, props changed)
   trunk/libs/range/doc/reference/algorithm/search_n.qbk (contents, props changed)
   trunk/libs/range/doc/reference/algorithm/swap_ranges.qbk (contents, props changed)
   trunk/libs/range/doc/reference/algorithm/unique_copy.qbk (contents, props changed)
   trunk/libs/range/doc/reference/algorithm_ext/copy_n.qbk (contents, props changed)
   trunk/libs/range/doc/reference/algorithm_ext/is_sorted.qbk (contents, props changed)
   trunk/libs/range/doc/reference/utilities.qbk (contents, props changed)
Removed:
   trunk/libs/range/doc/html/range/reference/algorithms/heap_algorithms/
   trunk/libs/range/doc/html/range/reference/algorithms/heap_algorithms.html
   trunk/libs/range/doc/html/range/reference/algorithms/permutation_algorithms/
   trunk/libs/range/doc/html/range/reference/algorithms/permutation_algorithms.html
   trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_introduction.html
   trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/
   trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms.html
   trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/
   trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_new_algorithms.html
   trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/
   trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms.html
   trunk/libs/range/doc/html/range/reference/algorithms/range_numeric/
   trunk/libs/range/doc/html/range/reference/algorithms/range_numeric.html
   trunk/libs/range/doc/html/range/reference/algorithms/set_algorithms/
   trunk/libs/range/doc/html/range/reference/algorithms/set_algorithms.html
   trunk/libs/range/doc/html/range/utilities.html
   trunk/libs/range/doc/utilities.qbk
Text files modified:
   trunk/libs/range/doc/boost_range.qbk | 113 ++++++++++
   trunk/libs/range/doc/headers.qbk | 109 ++++++++++
   trunk/libs/range/doc/history_ack.qbk | 31 ++
   trunk/libs/range/doc/html/index.html | 60 +++--
   trunk/libs/range/doc/html/quickbook_HTML.manifest | 199 ++++++++++---------
   trunk/libs/range/doc/html/range/concepts/bidirectional_range.html | 16
   trunk/libs/range/doc/html/range/concepts/concept_checking.html | 2
   trunk/libs/range/doc/html/range/concepts/forward_range.html | 10
   trunk/libs/range/doc/html/range/concepts/random_access_range.html | 12
   trunk/libs/range/doc/html/range/concepts/single_pass_range.html | 16
   trunk/libs/range/doc/html/range/examples.html | 6
   trunk/libs/range/doc/html/range/faq.html | 5
   trunk/libs/range/doc/html/range/history_ack.html | 58 +++++
   trunk/libs/range/doc/html/range/library_headers.html | 402 ---------------------------------------
   trunk/libs/range/doc/html/range/mfc_atl.html | 4
   trunk/libs/range/doc/html/range/portability.html | 2
   trunk/libs/range/doc/html/range/reference.html | 35 +-
   trunk/libs/range/doc/html/range/reference/adaptors.html | 14
   trunk/libs/range/doc/html/range/reference/adaptors/adaptors_introduction.html | 6
   trunk/libs/range/doc/html/range/reference/adaptors/adaptors_synopsis.html | 8
   trunk/libs/range/doc/html/range/reference/algorithms.html | 25 +-
   trunk/libs/range/doc/html/range/reference/extending.html | 6
   trunk/libs/range/doc/html/range/reference/extending/method_3/method_3_2.html | 6
   trunk/libs/range/doc/html/range/reference/overview.html | 2
   trunk/libs/range/doc/html/range/reference/ranges.html | 6
   trunk/libs/range/doc/html/range/reference/ranges/counting_range.html | 8
   trunk/libs/range/doc/html/range/reference/ranges/irange.html | 16
   trunk/libs/range/doc/html/range/reference/ranges/istream_range.html | 6
   trunk/libs/range/doc/html/range/reference/semantics.html | 2
   trunk/libs/range/doc/html/range/style_guide.html | 8
   trunk/libs/range/doc/html/range/utilities/iterator_range.html | 6
   trunk/libs/range/doc/html/range/utilities/join.html | 4
   trunk/libs/range/doc/html/range/utilities/sub_range.html | 2
   trunk/libs/range/doc/reference.qbk | 3
   trunk/libs/range/doc/reference/adaptors.qbk | 6
   trunk/libs/range/doc/reference/algorithm/adjacent_find.qbk | 2
   trunk/libs/range/doc/reference/algorithm/copy.qbk | 2
   trunk/libs/range/doc/reference/algorithm/copy_backward.qbk | 2
   trunk/libs/range/doc/reference/algorithm/fill.qbk | 2
   trunk/libs/range/doc/reference/algorithm/fill_n.qbk | 2
   trunk/libs/range/doc/reference/algorithm/generate.qbk | 2
   trunk/libs/range/doc/reference/algorithm/inplace_merge.qbk | 8
   trunk/libs/range/doc/reference/algorithm/merge.qbk | 2
   trunk/libs/range/doc/reference/algorithm/mismatch.qbk | 2
   trunk/libs/range/doc/reference/algorithm/nth_element.qbk | 2
   trunk/libs/range/doc/reference/algorithm/partial_sort.qbk | 2
   trunk/libs/range/doc/reference/algorithm/partition.qbk | 2
   trunk/libs/range/doc/reference/algorithm/random_shuffle.qbk | 2
   trunk/libs/range/doc/reference/algorithm/remove.qbk | 2
   trunk/libs/range/doc/reference/algorithm/remove_if.qbk | 2
   trunk/libs/range/doc/reference/algorithm/replace.qbk | 2
   trunk/libs/range/doc/reference/algorithm/replace_if.qbk | 2
   trunk/libs/range/doc/reference/algorithm/reverse.qbk | 2
   trunk/libs/range/doc/reference/algorithm/rotate.qbk | 4
   trunk/libs/range/doc/reference/algorithm/sort.qbk | 2
   trunk/libs/range/doc/reference/algorithm/stable_partition.qbk | 2
   trunk/libs/range/doc/reference/algorithm/stable_sort.qbk | 2
   trunk/libs/range/doc/reference/algorithm/transform.qbk | 4
   trunk/libs/range/doc/reference/algorithm/unique.qbk | 2
   trunk/libs/range/doc/reference/algorithms.qbk | 27 +
   60 files changed, 623 insertions(+), 676 deletions(-)

Modified: trunk/libs/range/doc/boost_range.qbk
==============================================================================
--- trunk/libs/range/doc/boost_range.qbk (original)
+++ trunk/libs/range/doc/boost_range.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -33,8 +33,8 @@
 [def __bidirectional_range__ [link range.concepts.bidirectional_range Bidirectional Range]]
 [def __random_access_range__ [link range.concepts.random_access_range Random Access Range]]
 
-[def __iterator_range__ [link range.utilities.iterator_range `iterator_range`]]
-[def __sub_range__ [link range.utilities.sub_range `sub_range`]]
+[def __iterator_range__ [link range.reference.utilities.iterator_range `iterator_range`]]
+[def __sub_range__ [link range.reference.utilities.sub_range `sub_range`]]
 [def __minimal_interface__ [link range.reference.extending minimal interface]]
 [def __range_result_iterator__ [link range.reference.semantics.metafunctions `range_result_iterator`]]
 [def __extending_for_udts__ [link range.reference.extending Extending the library for UDTs]]
@@ -60,9 +60,104 @@
 [def __const_rend__ [link range.reference.semantics.functions `const_rend`]]
 [def __as_array__ [link range.reference.semantics.functions `as_array`]]
 [def __as_literal__ [link range.reference.semantics.functions `as_literal`]]
-
-[def __range_adaptors__ [link range.reference.adaptors Range adaptors]]
-[def __range_algorithms__ [link range.reference.algorithms Range algorithms]]
+[def __counting_range__ [link range.reference.ranges.counting_range `counting_range`]]
+[def __irange__ [link range.reference.ranges.irange `irange`]]
+[def __istream_range__ [link range.reference.ranges.istream_range `istream_range`]]
+[def __join__ [link range.reference.utilities.join `join`]]
+
+[def __range_adaptors__ [link range.reference.adaptors Range adaptors]]
+[def __range_adaptors_adjacent_filtered__ [link range.reference.adaptors.reference.adjacent_filtered adjacent_filtered]]
+[def __range_adaptors_copied__ [link range.reference.adaptors.reference.copied copied]]
+[def __range_adaptors_filtered__ [link range.reference.adaptors.reference.filtered filtered]]
+[def __range_adaptors_indexed__ [link range.reference.adaptors.reference.indexed indexed]]
+[def __range_adaptors_indirected__ [link range.reference.adaptors.reference.indirected indirected]]
+[def __range_adaptors_map_keys__ [link range.reference.adaptors.reference.map_keys map_keys]]
+[def __range_adaptors_map_values__ [link range.reference.adaptors.reference.map_values map_values]]
+[def __range_adaptors_replaced__ [link range.reference.adaptors.reference.replaced replaced]]
+[def __range_adaptors_replaced_if__ [link range.reference.adaptors.reference.replaced_if replaced_if]]
+[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_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]]
+
+
+[def __range_algorithms__ [link range.reference.algorithms Range algorithms]]
+[def __range_algorithms_adjacent_find__ [link range.reference.algorithms.non_mutating.adjacent_find adjacent_find]]
+[def __range_algorithms_binary_search__ [link range.reference.algorithms.non_mutating.binary_search binary_search]]
+[def __range_algorithms_count__ [link range.reference.algorithms.non_mutating.count count]]
+[def __range_algorithms_count_if__ [link range.reference.algorithms.non_mutating.count_if count_if]]
+[def __range_algorithms_equal__ [link range.reference.algorithms.non_mutating.equal equal]]
+[def __range_algorithms_equal_range__ [link range.reference.algorithms.non_mutating.equal_range equal_range]]
+[def __range_algorithms_for_each__ [link range.reference.algorithms.non_mutating.for_each for_each]]
+[def __range_algorithms_find__ [link range.reference.algorithms.non_mutating.find find]]
+[def __range_algorithms_find_end__ [link range.reference.algorithms.non_mutating.find_end find_end]]
+[def __range_algorithms_find_first_of__ [link range.reference.algorithms.non_mutating.find_first_of find_first_of]]
+[def __range_algorithms_find_if__ [link range.reference.algorithms.non_mutating.find_if find_if]]
+[def __range_algorithms_lexicographical_compare__ [link range.reference.algorithms.non_mutating.lexicographical_compare lexicographical_compare]]
+[def __range_algorithms_lower_bound__ [link range.reference.algorithms.non_mutating.lower_bound lower_bound]]
+[def __range_algorithms_max_element__ [link range.reference.algorithms.non_mutating.max_element max_element]]
+[def __range_algorithms_min_element__ [link range.reference.algorithms.non_mutating.min_element min_element]]
+[def __range_algorithms_mismatch__ [link range.reference.algorithms.non_mutating.mismatch mismatch]]
+[def __range_algorithms_search__ [link range.reference.algorithms.non_mutating.search search]]
+[def __range_algorithms_search_n__ [link range.reference.algorithms.non_mutating.search_n search_n]]
+[def __range_algorithms_upper_bound__ [link range.reference.algorithms.non_mutating.upper_bound upper_bound]]
+
+[def __range_algorithms_copy__ [link range.reference.algorithms.mutating.copy copy]]
+[def __range_algorithms_copy_backward__ [link range.reference.algorithms.mutating.copy_backward copy_backward]]
+[def __range_algorithms_fill__ [link range.reference.algorithms.mutating.fill fill]]
+[def __range_algorithms_fill_n__ [link range.reference.algorithms.mutating.fill_n fill_n]]
+[def __range_algorithms_generate__ [link range.reference.algorithms.mutating.generate generate]]
+[def __range_algorithms_inplace_merge__ [link range.reference.algorithms.mutating.inplace_merge inplace_merge]]
+[def __range_algorithms_merge__ [link range.reference.algorithms.mutating.merge merge]]
+[def __range_algorithms_nth_element__ [link range.reference.algorithms.mutating.nth_element nth_element]]
+[def __range_algorithms_partial_sort__ [link range.reference.algorithms.mutating.partial_sort partial_sort]]
+[def __range_algorithms_partition__ [link range.reference.algorithms.mutating.partition partition]]
+[def __range_algorithms_random_shuffle__ [link range.reference.algorithms.mutating.random_shuffle random_shuffle]]
+[def __range_algorithms_remove__ [link range.reference.algorithms.mutating.remove remove]]
+[def __range_algorithms_remove_copy__ [link range.reference.algorithms.mutating.remove_copy remove_copy]]
+[def __range_algorithms_remove_copy_if__ [link range.reference.algorithms.mutating.remove_copy_if remove_copy_if]]
+[def __range_algorithms_remove_if__ [link range.reference.algorithms.mutating.remove_if remove_if]]
+[def __range_algorithms_replace__ [link range.reference.algorithms.mutating.replace replace]]
+[def __range_algorithms_replace_copy__ [link range.reference.algorithms.mutating.replace_copy replace_copy]]
+[def __range_algorithms_replace_copy_if__ [link range.reference.algorithms.mutating.replace_copy_if replace_copy_if]]
+[def __range_algorithms_replace_if__ [link range.reference.algorithms.mutating.replace_if replace_if]]
+[def __range_algorithms_reverse__ [link range.reference.algorithms.mutating.reverse reverse]]
+[def __range_algorithms_reverse_copy__ [link range.reference.algorithms.mutating.reverse_copy reverse_copy]]
+[def __range_algorithms_rotate__ [link range.reference.algorithms.mutating.rotate rotate]]
+[def __range_algorithms_rotate_copy__ [link range.reference.algorithms.mutating.rotate_copy rotate_copy]]
+[def __range_algorithms_sort__ [link range.reference.algorithms.mutating.sort sort]]
+[def __range_algorithms_stable_partition__ [link range.reference.algorithms.mutating.stable_partition stable_partition]]
+[def __range_algorithms_stable_sort__ [link range.reference.algorithms.mutating.stable_sort stable_sort]]
+[def __range_algorithms_swap_ranges__ [link range.reference.algorithms.mutating.swap_ranges swap_ranges]]
+[def __range_algorithms_transform__ [link range.reference.algorithms.mutating.transform transform]]
+[def __range_algorithms_unique__ [link range.reference.algorithms.mutating.unique unique]]
+[def __range_algorithms_unique_copy__ [link range.reference.algorithms.mutating.unique_copy unique_copy]]
+
+[def __range_algorithms_includes__ [link range.reference.algorithms.set.includes includes]]
+[def __range_algorithms_set_union__ [link range.reference.algorithms.set.set_union set_union]]
+[def __range_algorithms_set_intersection__ [link range.reference.algorithms.set.set_intersection set_intersection]]
+[def __range_algorithms_set_difference__ [link range.reference.algorithms.set.set_difference set_difference]]
+[def __range_algorithms_set_symmetric_difference__ [link range.reference.algorithms.set.set_symmetric_difference set_symmetric_difference]]
+
+[def __range_algorithms_push_heap__ [link range.reference.algorithms.heap.push_heap push_heap]]
+[def __range_algorithms_pop_heap__ [link range.reference.algorithms.heap.pop_heap pop_heap]]
+[def __range_algorithms_make_heap__ [link range.reference.algorithms.heap.make_heap make_heap]]
+[def __range_algorithms_sort_heap__ [link range.reference.algorithms.heap.sort_heap sort_heap]]
+
+[def __range_algorithms_next_permutation__ [link range.reference.algorithms.permutation.next_permutation next_permutation]]
+[def __range_algorithms_prev_permutation__ [link range.reference.algorithms.permutation.prev_permutation prev_permutation]]
+
+[def __range_algorithm_ext_copy_n__ [link range.reference.algorithms.new.copy_n copy_n]]
+[def __range_algorithm_ext_erase__ [link range.reference.algorithms.new.erase erase]]
+[def __range_algorithm_ext_for_each__ [link range.reference.algorithms.new.for_each for_each]]
+[def __range_algorithm_ext_insert__ [link range.reference.algorithms.new.insert insert]]
+[def __range_algorithm_ext_iota__ [link range.reference.algorithms.new.iota iota]]
+[def __range_algorithm_ext_is_sorted__ [link range.reference.algorithms.new.is_sorted is_sorted]]
+[def __range_algorithm_ext_overwrite__ [link range.reference.algorithms.new.overwrite overwrite]]
+[def __range_algorithm_ext_push_back__ [link range.reference.algorithms.new.push_back push_back]]
+[def __range_algorithm_ext_push_front__ [link range.reference.algorithms.new.push_front push_front]]
 
 [def __single_pass_iterator__ [@boost:/libs/iterator/doc/new-iter-concepts.html#singls-pass-iterators-lib-single-pass-iterators Single Pass Iterator]]
 [def __forward_traversal_iterator__ [@boost:/libs/iterator/doc/new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators Forward Traversal Iterator]]
@@ -80,11 +175,15 @@
 [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]]
 
-Boost.Range is a collection of concepts and utilities that are particularly useful for specifying and implementing generic algorithms.
+Boost.Range is a collection of concepts and utilities, range-based algorithms,
+as well as range adaptors that allow for efficient and expressive code.
+
+Using Boost.Range inplace of the standard library alternatives results in more
+readable code and in many cases greater efficiency.
+
 [include introduction.qbk]
 [include concepts.qbk]
 [include reference.qbk]
-[include utilities.qbk]
 [include style.qbk]
 [include headers.qbk]
 [include examples.qbk]

Modified: trunk/libs/range/doc/headers.qbk
==============================================================================
--- trunk/libs/range/doc/headers.qbk (original)
+++ trunk/libs/range/doc/headers.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,5 +1,6 @@
 [section Library Headers]
 
+[section General]
 [table
     [[Header ] [Includes ] [Related Concept ]]
     [[`<boost/range.hpp>` ] [everything from Boost.Range version 1 (Boost versions 1.42 and below). Includes the core range functions and metafunctinos, but excludes Range Adaptors and Range Algorithms. ] [- ]]
@@ -23,7 +24,115 @@
     [[`<boost/range/iterator_range.hpp>` ] [__iterator_range__ ] [- ]]
     [[`<boost/range/sub_range.hpp>` ] [__sub_range__ ] [- ]]
     [[`<boost/range/concepts.hpp>` ] [__range_concepts__ ] [- ]]
+ [[`<boost/range/adaptors.hpp>` ] [every range adaptor ] [- ]]
+ [[`<boost/range/algorithm.hpp>` ] [every range equivalent of an STL algorithm ] [- ]]
+ [[`<boost/range/algorithm_ext.hpp>` ] [every range algorithm that is an extension of the STL algorithms ] [- ]]
+ [[`<boost/range/counting_range.hpp>` ] [ __counting_range__ ] [-]]
+ [[`<boost/range/istream_range.hpp>` ] [ __istream_range__ ] [-]]
+ [[`<boost/range/irange.hpp>` ] [ __irange__ ] [-]]
+ [[`<boost/range/join.hpp>` ] [ __join__ ] [-]]
 ]
+[endsect]
+
+[section Adaptors]
+[table
+ [[Header ][Includes ]]
+ [[`<boost/range/adaptor/adjacent_filtered.hpp>`] [__range_adaptors_adjacent_filtered__ ]]
+ [[`<boost/range/adaptor/copied.hpp>`] [__range_adaptors_copied__]]
+ [[`<boost/range/adaptor/filtered.hpp>`] [__range_adaptors_filtered__]]
+ [[`<boost/range/adaptor/indexed.hpp>`] [__range_adaptors_indexed__]]
+ [[`<boost/range/adaptor/indirected.hpp.`] [__range_adaptors_indirected__]]
+ [[`<boost/range/adaptor/map.hpp>`] [__range_adaptors_map_keys__ __range_adaptors_map_values__]]
+ [[`<boost/range/adaptor/replaced.hpp>`] [__range_adaptors_replaced__]]
+ [[`<boost/range/adaptor/replaced_if.hpp>`] [__range_adaptors_replaced_if__]]
+ [[`<boost/range/adaptor/reversed.hpp>`] [__range_adaptors_reversed__]]
+ [[`<boost/range/adaptor/sliced.hpp>`] [__range_adaptors_sliced__]]
+ [[`<boost/range/adaptor/strided.hpp>`] [__range_adaptors_strided__]]
+ [[`<boost/range/adaptor/tokenized.hpp>`] [__range_adaptors_tokenized__]]
+ [[`<boost/range/adaptor/transformed.hpp>`] [__range_adaptors_transformed__]]
+ [[`<boost/range/adaptor/uniqued.hpp>`] [__range_adaptors_uniqued__]]
+]
+[endsect]
+
+[section Algorithm]
+[table
+ [[Header ][Includes ]]
+ [[`<boost/range/algorithm/adjacent_find.hpp>`] [__range_algorithms_adjacent_find__]]
+ [[`<boost/range/algorithm/binary_search.hpp>`] [__range_algorithms_binary_search__]]
+ [[`<boost/range/algorithm/copy.hpp>`] [__range_algorithms_copy__]]
+ [[`<boost/range/algorithm/copy_backward.hpp>`] [__range_algorithms_copy_backward__]]
+ [[`<boost/range/algorithm/count.hpp>`] [__range_algorithms_count__]]
+ [[`<boost/range/algorithm/count_if.hpp>`] [__range_algorithms_count_if__]]
+ [[`<boost/range/algorithm/equal.hpp>`] [__range_algorithms_equal__]]
+ [[`<boost/range/algorithm/equal_range.hpp>`] [__range_algorithms_equal_range__]]
+ [[`<boost/range/algorithm/fill.hpp>`] [__range_algorithms_fill__]]
+ [[`<boost/range/algorithm/fill_n.hpp>`] [__range_algorithms_fill_n__]]
+ [[`<boost/range/algorithm/find.hpp>`] [__range_algorithms_find__]]
+ [[`<boost/range/algorithm/find_end.hpp>`] [__range_algorithms_find_end__]]
+ [[`<boost/range/algorithm/find_first_of.hpp>`] [__range_algorithms_find_first_of__]]
+ [[`<boost/range/algorithm/find_if.hpp>`] [__range_algorithms_find_if__]]
+ [[`<boost/range/algorithm/for_each.hpp>`] [__range_algorithms_for_each__]]
+ [[`<boost/range/algorithm/generate.hpp>`] [__range_algorithms_generate__]]
+ [[`<boost/range/algorithm/heap_algorithm.hpp>`] [__range_algorithms_push_heap__
+ __range_algorithms_pop_heap__
+ __range_algorithms_make_heap__
+ __range_algorithms_sort_heap__]]
+ [[`<boost/range/algorithm/inplace_merge.hpp>`] [__range_algorithms_inplace_merge__]]
+ [[`<boost/range/algorithm/lexicographical_compare.hpp>`] [__range_algorithms_lexicographical_compare__]]
+ [[`<boost/range/algorithm/lower_bound.hpp>`] [__range_algorithms_lower_bound__]]
+ [[`<boost/range/algorithm/max_element.hpp>`] [__range_algorithms_max_element__]]
+ [[`<boost/range/algorithm/merge.hpp>`] [__range_algorithms_merge__]]
+ [[`<boost/range/algorithm/min_element.hpp>`] [__range_algorithms_min_element__]]
+ [[`<boost/range/algorithm/mismatch.hpp>`] [__range_algorithms_mismatch__]]
+ [[`<boost/range/algorithm/nth_element.hpp>`] [__range_algorithms_nth_element__]]
+ [[`<boost/range/algorithm/partial_sort.hpp>`] [__range_algorithms_partial_sort__]]
+ [[`<boost/range/algorithm/partition.hpp>`] [__range_algorithms_partition__]]
+ [[`<boost/range/algorithm/permutation.hpp>`] [__range_algorithms_next_permutation__
+ __range_algorithms_prev_permutation__]]
+ [[`<boost/range/algorithm/random_shuffle.hpp>`] [__range_algorithms_random_shuffle__]]
+ [[`<boost/range/algorithm/remove.hpp>`] [__range_algorithms_remove__]]
+ [[`<boost/range/algorithm/remove_copy.hpp>`] [__range_algorithms_remove_copy__]]
+ [[`<boost/range/algorithm/remove_copy_if.hpp>`] [__range_algorithms_remove_copy_if__]]
+ [[`<boost/range/algorithm/remove_if.hpp>`] [__range_algorithms_remove_if__]]
+ [[`<boost/range/algorithm/replace.hpp>`] [__range_algorithms_replace__]]
+ [[`<boost/range/algorithm/replace_copy.hpp>`] [__range_algorithms_replace_copy__]]
+ [[`<boost/range/algorithm/replace_copy_if.hpp>`] [__range_algorithms_replace_copy_if__]]
+ [[`<boost/range/algorithm/replace_if.hpp>`] [__range_algorithms_replace_if__]]
+ [[`<boost/range/algorithm/reverse.hpp>`] [__range_algorithms_reverse__]]
+ [[`<boost/range/algorithm/reverse_copy.hpp>`] [__range_algorithms_reverse_copy__]]
+ [[`<boost/range/algorithm/rotate.hpp>`] [__range_algorithms_rotate__]]
+ [[`<boost/range/algorithm/rotate_copy.hpp>`] [__range_algorithms_rotate_copy__]]
+ [[`<boost/range/algorithm/search.hpp>`] [__range_algorithms_search__]]
+ [[`<boost/range/algorithm/search_n.hpp>`] [__range_algorithms_search_n__]]
+ [[`<boost/range/algorithm/set_algorithm.hpp>`] [__range_algorithms_includes__
+ __range_algorithms_set_union__
+ __range_algorithms_set_intersection__
+ __range_algorithms_set_difference__
+ __range_algorithms_set_symmetric_difference__]]
+ [[`<boost/range/algorithm/sort.hpp>`] [__range_algorithms_sort__]]
+ [[`<boost/range/algorithm/stable_partition.hpp>`] [__range_algorithms_stable_partition__]]
+ [[`<boost/range/algorithm/swap_ranges.hpp>`] [__range_algorithms_swap_ranges__]]
+ [[`<boost/range/algorithm/transform.hpp>`] [__range_algorithms_transform__]]
+ [[`<boost/range/algorithm/unique.hpp>`] [__range_algorithms_unique__]]
+ [[`<boost/range/algorithm/unique_copy.hpp>`] [__range_algorithms_unique_copy__]]
+ [[`<boost/range/algorithm/upper_bound.hpp>`] [__range_algorithms_upper_bound__]]
+]
+[endsect]
+
+[section Algorithm Extensions]
+[table
+ [[Header ][Includes ]]
+ [[`<boost/range/algorithm_ext/copy_n.hpp>`] [__range_algorithm_ext_copy_n__]]
+ [[`<boost/range/algorithm_ext/erase.hpp>`] [__range_algorithm_ext_erase__]]
+ [[`<boost/range/algorithm_ext/for_each.hpp>`] [__range_algorithm_ext_for_each__]]
+ [[`<boost/range/algorithm_ext/insert.hpp>`] [__range_algorithm_ext_insert__]]
+ [[`<boost/range/algorithm_ext/iota.hpp>`] [__range_algorithm_ext_iota__]]
+ [[`<boost/range/algorithm_ext/is_sorted.hpp>`] [__range_algorithm_ext_is_sorted__]]
+ [[`<boost/range/algorithm_ext/overwrite.hpp>`] [__range_algorithm_ext_overwrite__]]
+ [[`<boost/range/algorithm_ext/push_back.hpp>`] [__range_algorithm_ext_push_back__]]
+ [[`<boost/range/algorithm_ext/push_front.hpp>`] [__range_algorithm_ext_push_front__]]
+]
+[endsect]
 
 [endsect]
 

Modified: trunk/libs/range/doc/history_ack.qbk
==============================================================================
--- trunk/libs/range/doc/history_ack.qbk (original)
+++ trunk/libs/range/doc/history_ack.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,12 +1,13 @@
 [section:history_ack History and Acknowledgement]
 
+[heading Version 1 - before Boost 1.43]
 The library have been under way for a long time. Dietmar Kühl originally intended to submit an `array_traits` class template which had most of the functionality present now, but only for arrays and standard containers.
 
 Meanwhile work on algorithms for containers in various contexts showed the need for handling pairs of iterators, and string libraries needed special treatment of character arrays. In the end it made sense to formalize the minimal requirements of these similar concepts. And the results are the Range concepts found in this library.
 
 The term Range was adopted because of paragraph 24.1/7 from the C++ standard:
 
-Most of the library's algorithmic templates that operate on data structures have interfaces that use ranges. A range is a pair of iterators that designate the beginning and end of the computation. A range [i, i) is an empty range; in general, a range [i, j) refers to the elements in the data structure starting with the one pointed to by i and up to but not including the one pointed to by j. Range [i, j) is valid if and only if j is reachable from i. The result of the application of functions in the library to invalid ranges is undefined.
+Most of the library's algorithmic templates that operate on data structures have interfaces that use ranges. A range is a pair of iterators that designate the beginning and end of the computation. A range [i, i) is an empty range; in general, a range [i, j) refers to the elements in the data structure starting with the one pointed to by i and up to but not including the one pointed to by j. Range [i, j) is valid if and only if j is reachable from i. The result of the application of functions in the library to invalid ranges is undefined.
 
 Special thanks goes to
 
@@ -14,9 +15,33 @@
 * Pavel Vozenilek for help with porting the library
 * Jonathan Turkanis and John Torjo for help with documentation
 * Hartmut Kaiser for being review manager
-* Jonathan Turkanis for porting the lib (as far sa possible) to vc6 and vc7.
+* Jonathan Turkanis for porting the lib (as far sa possible) to vc6 and vc7.
 
-The concept checks and their documentation was provided by Daniel Walker.
+The concept checks and their documentation was provided by Daniel Walker.
+
+[heading Version 2 - Boost 1.43 and beyond]
+This version introduced Range Adaptors and Range Algorithms. This version 2 is
+the result of a merge of all of the RangeEx features into Boost.Range.
+
+There were an enormous number of very significant contributors through all
+stages of this library.
+
+The people in the following list all made contributions in the form of reviews,
+user feedback, design suggestions, or defect detection:
+
+* Thorsten Ottosen: review management, design advice, documentation feedback
+* Eric Niebler: feedback
+* Joel de Guzman: review
+* Mathias Gaunard: review
+* David Abrahams: implementation advice
+* Robert Jones: defect reports, usage feedback
+* Sean Parent: contributed experience from the Adobe range library
+* Arno Schoedl: implementations, and review
+* Rogier van Dalen: review
+* Vincente Botet: review, documentation feedback
+
+Regardless of how I write this section it will never truly fairly capture the
+gratitude that I feel to all who have contributed. Thank you everyone.
 
 [endsect]
 

Modified: trunk/libs/range/doc/html/index.html
==============================================================================
--- trunk/libs/range/doc/html/index.html (original)
+++ trunk/libs/range/doc/html/index.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -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" title="Legal Notice">
-<a name="id3005003"></a><p>
+<a name="id2715893"></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>
@@ -49,7 +49,7 @@
 <dt><span class="section">Random Access Range</span></dt>
 <dt><span class="section">Concept Checking</span></dt>
 </dl></dd>
-<dt><span class="section">Reference</span></dt>
+<dt><span class="section"> Reference</span></dt>
 <dd><dl>
 <dt><span class="section">Overview</span></dt>
 <dt><span class="section">Synopsis</span></dt>
@@ -60,29 +60,26 @@
 </dl></dd>
 <dt><span class="section"> Range Adaptors</span></dt>
 <dd><dl>
-<dt><span class="section"><a href="range/reference/adaptors/adaptors_introduction.html"> Introduction
+<dt><span class="section"><a href="range/reference/adaptors/introduction.html"> Introduction
         and motivation</a></span></dt>
 <dt><span class="section"> Synopsis</span></dt>
-<dt><span class="section"><a href="range/reference/adaptors/adaptors_general_requirements.html">
- General Requirements</a></span></dt>
-<dt><span class="section"> Reference</span></dt>
+<dt><span class="section"><a href="range/reference/adaptors/general_requirements.html"> General
+ Requirements</a></span></dt>
+<dt><span class="section"> Reference</span></dt>
 </dl></dd>
 <dt><span class="section"> Range Algorithm</span></dt>
 <dd><dl>
 <dt><span class="section"><a href="range/reference/algorithms/range_algorithm_introduction.html">
         Introduction and motivation</a></span></dt>
-<dt><span class="section"><a href="range/reference/algorithms/range_algorithm_mutating_algorithms.html">
- Mutating algorithms</a></span></dt>
-<dt><span class="section"><a href="range/reference/algorithms/range_algorithm_non_mutating_algorithms.html">
- Non-mutating algorithms</a></span></dt>
-<dt><span class="section"> Set algorithms</span></dt>
-<dt><span class="section"> Heap algorithms</span></dt>
-<dt><span class="section"><a href="range/reference/algorithms/permutation_algorithms.html">
- Permutation algorithms</a></span></dt>
-<dt><span class="section"><a href="range/reference/algorithms/range_algorithm_new_algorithms.html">
- New algorithms</a></span></dt>
-<dt><span class="section"><a href="range/reference/algorithms/range_numeric.html"> Numeric
+<dt><span class="section"> Mutating algorithms</span></dt>
+<dt><span class="section"><a href="range/reference/algorithms/non_mutating.html"> Non-mutating
         algorithms</a></span></dt>
+<dt><span class="section"> Set algorithms</span></dt>
+<dt><span class="section"> Heap algorithms</span></dt>
+<dt><span class="section"><a href="range/reference/algorithms/permutation.html"> Permutation
+ algorithms</a></span></dt>
+<dt><span class="section"> New algorithms</span></dt>
+<dt><span class="section"> Numeric algorithms</span></dt>
 </dl></dd>
 <dt><span class="section"> Provided Ranges</span></dt>
 <dd><dl>
@@ -90,6 +87,12 @@
 <dt><span class="section"> istream_range</span></dt>
 <dt><span class="section"> irange</span></dt>
 </dl></dd>
+<dt><span class="section"> Utilities</span></dt>
+<dd><dl>
+<dt><span class="section"> Class iterator_range</span></dt>
+<dt><span class="section"> Class sub_range</span></dt>
+<dt><span class="section"> Function join</span></dt>
+</dl></dd>
 <dt><span class="section"> Extending the library</span></dt>
 <dd><dl>
 <dt><span class="section"><a href="range/reference/extending/method_1.html"> Method 1: provide
@@ -100,14 +103,15 @@
         range adaptor implementations</a></span></dt>
 </dl></dd>
 </dl></dd>
-<dt><span class="section"> Utilities</span></dt>
-<dd><dl>
-<dt><span class="section"> Class iterator_range</span></dt>
-<dt><span class="section"> Class sub_range</span></dt>
-<dt><span class="section"> Function join</span></dt>
-</dl></dd>
 <dt><span class="section"> Terminology and style guidelines</span></dt>
 <dt><span class="section">Library Headers</span></dt>
+<dd><dl>
+<dt><span class="section">General</span></dt>
+<dt><span class="section">Adaptors</span></dt>
+<dt><span class="section">Algorithm</span></dt>
+<dt><span class="section"><a href="range/library_headers/algorithm_extensions.html">Algorithm
+ Extensions</a></span></dt>
+</dl></dd>
 <dt><span class="section">Examples</span></dt>
 <dt><span class="section"> MFC/ATL (courtesy of Shunsuke Sogame)</span></dt>
 <dd><dl>
@@ -130,12 +134,16 @@
 </dl>
 </div>
 <p>
- Boost.Range is a collection of concepts and utilities that are particularly useful
- for specifying and implementing generic algorithms.
+ Boost.Range is a collection of concepts and utilities, range-based algorithms,
+ as well as range adaptors that allow for efficient and expressive code.
+ </p>
+<p>
+ Using Boost.Range inplace of the standard library alternatives results in more
+ readable code and in many cases greater efficiency.
   </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: April 11, 2010 at 21:49:16 GMT</small></p></td>
+<td align="left"><p><small>Last revised: April 28, 2010 at 15:53:14 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>

Modified: trunk/libs/range/doc/html/quickbook_HTML.manifest
==============================================================================
--- trunk/libs/range/doc/html/quickbook_HTML.manifest (original)
+++ trunk/libs/range/doc/html/quickbook_HTML.manifest 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -14,112 +14,129 @@
 range/reference/semantics/metafunctions.html
 range/reference/semantics/functions.html
 range/reference/adaptors.html
-range/reference/adaptors/adaptors_introduction.html
+range/reference/adaptors/introduction.html
 range/reference/adaptors/adaptors_synopsis.html
-range/reference/adaptors/adaptors_general_requirements.html
-range/reference/adaptors/adaptors_reference.html
-range/reference/adaptors/adaptors_reference/adjacent_filtered.html
-range/reference/adaptors/adaptors_reference/copied.html
-range/reference/adaptors/adaptors_reference/filtered.html
-range/reference/adaptors/adaptors_reference/indexed.html
-range/reference/adaptors/adaptors_reference/indirected.html
-range/reference/adaptors/adaptors_reference/map_keys.html
-range/reference/adaptors/adaptors_reference/map_values.html
-range/reference/adaptors/adaptors_reference/replaced.html
-range/reference/adaptors/adaptors_reference/replaced_if.html
-range/reference/adaptors/adaptors_reference/reversed.html
-range/reference/adaptors/adaptors_reference/sliced.html
-range/reference/adaptors/adaptors_reference/strided.html
-range/reference/adaptors/adaptors_reference/tokenized.html
-range/reference/adaptors/adaptors_reference/transformed.html
-range/reference/adaptors/adaptors_reference/uniqued.html
+range/reference/adaptors/general_requirements.html
+range/reference/adaptors/reference.html
+range/reference/adaptors/reference/adjacent_filtered.html
+range/reference/adaptors/reference/copied.html
+range/reference/adaptors/reference/filtered.html
+range/reference/adaptors/reference/indexed.html
+range/reference/adaptors/reference/indirected.html
+range/reference/adaptors/reference/map_keys.html
+range/reference/adaptors/reference/map_values.html
+range/reference/adaptors/reference/replaced.html
+range/reference/adaptors/reference/replaced_if.html
+range/reference/adaptors/reference/reversed.html
+range/reference/adaptors/reference/sliced.html
+range/reference/adaptors/reference/strided.html
+range/reference/adaptors/reference/tokenized.html
+range/reference/adaptors/reference/transformed.html
+range/reference/adaptors/reference/uniqued.html
 range/reference/algorithms.html
 range/reference/algorithms/range_algorithm_introduction.html
-range/reference/algorithms/range_algorithm_mutating_algorithms.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/copy.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/copy_backward.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/fill.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/fill_n.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/generate.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/inplace_merge.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/merge.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/nth_element.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/partial_sort.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/partition.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/random_shuffle.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/remove.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/remove_if.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/replace.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/replace_if.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/rotate.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/sort.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/stable_partition.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/stable_sort.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/transform.html
-range/reference/algorithms/range_algorithm_mutating_algorithms/unique.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/adjacent_find.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/binary_search.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/count.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/equal.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/equal_range.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/for_each.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/find.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/find_end.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/find_first_of.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/find_if.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/lexicographical_compare.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/lower_bound.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/max_element.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/min_element.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/mismatch.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/search.html
-range/reference/algorithms/range_algorithm_non_mutating_algorithms/upper_bound.html
-range/reference/algorithms/set_algorithms.html
-range/reference/algorithms/set_algorithms/includes.html
-range/reference/algorithms/set_algorithms/set_union.html
-range/reference/algorithms/set_algorithms/set_intersection.html
-range/reference/algorithms/set_algorithms/set_difference.html
-range/reference/algorithms/set_algorithms/set_symmetric_difference.html
-range/reference/algorithms/heap_algorithms.html
-range/reference/algorithms/heap_algorithms/push_heap.html
-range/reference/algorithms/heap_algorithms/pop_heap.html
-range/reference/algorithms/heap_algorithms/make_heap.html
-range/reference/algorithms/heap_algorithms/sort_heap.html
-range/reference/algorithms/permutation_algorithms.html
-range/reference/algorithms/permutation_algorithms/next_permutation.html
-range/reference/algorithms/permutation_algorithms/prev_permutation.html
-range/reference/algorithms/range_algorithm_new_algorithms.html
-range/reference/algorithms/range_algorithm_new_algorithms/erase.html
-range/reference/algorithms/range_algorithm_new_algorithms/for_each.html
-range/reference/algorithms/range_algorithm_new_algorithms/insert.html
-range/reference/algorithms/range_algorithm_new_algorithms/iota.html
-range/reference/algorithms/range_algorithm_new_algorithms/overwrite.html
-range/reference/algorithms/range_algorithm_new_algorithms/push_back.html
-range/reference/algorithms/range_algorithm_new_algorithms/push_front.html
-range/reference/algorithms/range_algorithm_new_algorithms/remove_erase.html
-range/reference/algorithms/range_algorithm_new_algorithms/remove_erase_if.html
-range/reference/algorithms/range_numeric.html
-range/reference/algorithms/range_numeric/accumulate.html
-range/reference/algorithms/range_numeric/adjacent_difference.html
-range/reference/algorithms/range_numeric/inner_product.html
-range/reference/algorithms/range_numeric/partial_sum.html
+range/reference/algorithms/mutating.html
+range/reference/algorithms/mutating/copy.html
+range/reference/algorithms/mutating/copy_backward.html
+range/reference/algorithms/mutating/fill.html
+range/reference/algorithms/mutating/fill_n.html
+range/reference/algorithms/mutating/generate.html
+range/reference/algorithms/mutating/inplace_merge.html
+range/reference/algorithms/mutating/merge.html
+range/reference/algorithms/mutating/nth_element.html
+range/reference/algorithms/mutating/partial_sort.html
+range/reference/algorithms/mutating/partition.html
+range/reference/algorithms/mutating/random_shuffle.html
+range/reference/algorithms/mutating/remove.html
+range/reference/algorithms/mutating/remove_copy.html
+range/reference/algorithms/mutating/remove_copy_if.html
+range/reference/algorithms/mutating/remove_if.html
+range/reference/algorithms/mutating/replace.html
+range/reference/algorithms/mutating/replace_copy.html
+range/reference/algorithms/mutating/replace_copy_if.html
+range/reference/algorithms/mutating/replace_if.html
+range/reference/algorithms/mutating/reverse.html
+range/reference/algorithms/mutating/reverse_copy.html
+range/reference/algorithms/mutating/rotate.html
+range/reference/algorithms/mutating/rotate_copy.html
+range/reference/algorithms/mutating/sort.html
+range/reference/algorithms/mutating/stable_partition.html
+range/reference/algorithms/mutating/stable_sort.html
+range/reference/algorithms/mutating/swap_ranges.html
+range/reference/algorithms/mutating/transform.html
+range/reference/algorithms/mutating/unique.html
+range/reference/algorithms/mutating/unique_copy.html
+range/reference/algorithms/non_mutating.html
+range/reference/algorithms/non_mutating/adjacent_find.html
+range/reference/algorithms/non_mutating/binary_search.html
+range/reference/algorithms/non_mutating/count.html
+range/reference/algorithms/non_mutating/count_if.html
+range/reference/algorithms/non_mutating/equal.html
+range/reference/algorithms/non_mutating/equal_range.html
+range/reference/algorithms/non_mutating/for_each.html
+range/reference/algorithms/non_mutating/find.html
+range/reference/algorithms/non_mutating/find_end.html
+range/reference/algorithms/non_mutating/find_first_of.html
+range/reference/algorithms/non_mutating/find_if.html
+range/reference/algorithms/non_mutating/lexicographical_compare.html
+range/reference/algorithms/non_mutating/lower_bound.html
+range/reference/algorithms/non_mutating/max_element.html
+range/reference/algorithms/non_mutating/min_element.html
+range/reference/algorithms/non_mutating/mismatch.html
+range/reference/algorithms/non_mutating/search.html
+range/reference/algorithms/non_mutating/search_n.html
+range/reference/algorithms/non_mutating/upper_bound.html
+range/reference/algorithms/set.html
+range/reference/algorithms/set/includes.html
+range/reference/algorithms/set/set_union.html
+range/reference/algorithms/set/set_intersection.html
+range/reference/algorithms/set/set_difference.html
+range/reference/algorithms/set/set_symmetric_difference.html
+range/reference/algorithms/heap.html
+range/reference/algorithms/heap/push_heap.html
+range/reference/algorithms/heap/pop_heap.html
+range/reference/algorithms/heap/make_heap.html
+range/reference/algorithms/heap/sort_heap.html
+range/reference/algorithms/permutation.html
+range/reference/algorithms/permutation/next_permutation.html
+range/reference/algorithms/permutation/prev_permutation.html
+range/reference/algorithms/new.html
+range/reference/algorithms/new/copy_n.html
+range/reference/algorithms/new/erase.html
+range/reference/algorithms/new/for_each.html
+range/reference/algorithms/new/insert.html
+range/reference/algorithms/new/iota.html
+range/reference/algorithms/new/is_sorted.html
+range/reference/algorithms/new/overwrite.html
+range/reference/algorithms/new/push_back.html
+range/reference/algorithms/new/push_front.html
+range/reference/algorithms/new/remove_erase.html
+range/reference/algorithms/new/remove_erase_if.html
+range/reference/algorithms/numeric.html
+range/reference/algorithms/numeric/accumulate.html
+range/reference/algorithms/numeric/adjacent_difference.html
+range/reference/algorithms/numeric/inner_product.html
+range/reference/algorithms/numeric/partial_sum.html
 range/reference/ranges.html
 range/reference/ranges/counting_range.html
 range/reference/ranges/istream_range.html
 range/reference/ranges/irange.html
+range/reference/utilities.html
+range/reference/utilities/iterator_range.html
+range/reference/utilities/sub_range.html
+range/reference/utilities/join.html
 range/reference/extending.html
 range/reference/extending/method_1.html
 range/reference/extending/method_2.html
 range/reference/extending/method_3.html
 range/reference/extending/method_3/method_3_1.html
 range/reference/extending/method_3/method_3_2.html
-range/utilities.html
-range/utilities/iterator_range.html
-range/utilities/sub_range.html
-range/utilities/join.html
 range/style_guide.html
 range/library_headers.html
+range/library_headers/general.html
+range/library_headers/adaptors.html
+range/library_headers/algorithm.html
+range/library_headers/algorithm_extensions.html
 range/examples.html
 range/mfc_atl.html
 range/mfc_atl/requirements.html

Modified: trunk/libs/range/doc/html/range/concepts/bidirectional_range.html
==============================================================================
--- trunk/libs/range/doc/html/range/concepts/bidirectional_range.html (original)
+++ trunk/libs/range/doc/html/range/concepts/bidirectional_range.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -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="id3017410"></a>
+<a name="id2728307"></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="id3017508"></a>
+<a name="id2728404"></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="id3017574"></a>
+<a name="id2728470"></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="id3017602"></a>
+<a name="id2728499"></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="id3017768"></a>
+<a name="id2728664"></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="id3018247"></a>
+<a name="id2729144"></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="id3018398"></a>
+<a name="id2729294"></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="id3018659"></a>
+<a name="id2729555"></a>
         <a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.see_also">See also</a>
       </h5>
 <p>

Modified: trunk/libs/range/doc/html/range/concepts/concept_checking.html
==============================================================================
--- trunk/libs/range/doc/html/range/concepts/concept_checking.html (original)
+++ trunk/libs/range/doc/html/range/concepts/concept_checking.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -79,7 +79,7 @@
 </li>
 </ul></div>
 <a name="range.concepts.concept_checking.see_also"></a><h5>
-<a name="id3019669"></a>
+<a name="id2730566"></a>
         <a class="link" href="concept_checking.html#range.concepts.concept_checking.see_also">See also</a>
       </h5>
 <p>

Modified: trunk/libs/range/doc/html/range/concepts/forward_range.html
==============================================================================
--- trunk/libs/range/doc/html/range/concepts/forward_range.html (original)
+++ trunk/libs/range/doc/html/range/concepts/forward_range.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -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="id3017003"></a>
+<a name="id2727900"></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="id3017099"></a>
+<a name="id2727996"></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="id3017171"></a>
+<a name="id2728067"></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="id3017200"></a>
+<a name="id2728097"></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="id3017357"></a>
+<a name="id2728254"></a>
         <a class="link" href="forward_range.html#range.concepts.forward_range.see_also">See also</a>
       </h5>
 <p>

Modified: trunk/libs/range/doc/html/range/concepts/random_access_range.html
==============================================================================
--- trunk/libs/range/doc/html/range/concepts/random_access_range.html (original)
+++ trunk/libs/range/doc/html/range/concepts/random_access_range.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -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="id3018712"></a>
+<a name="id2729609"></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="id3018784"></a>
+<a name="id2729680"></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="id3018812"></a>
+<a name="id2729708"></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="id3018959"></a>
+<a name="id2729856"></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="id3019185"></a>
+<a name="id2730082"></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="id3019239"></a>
+<a name="id2730136"></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: trunk/libs/range/doc/html/range/concepts/single_pass_range.html
==============================================================================
--- trunk/libs/range/doc/html/range/concepts/single_pass_range.html (original)
+++ trunk/libs/range/doc/html/range/concepts/single_pass_range.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -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="id3015625"></a>
+<a name="id2726522"></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="id3015727"></a>
+<a name="id2726623"></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="id3015799"></a>
+<a name="id2726695"></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="id3015973"></a>
+<a name="id2726870"></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="id3016307"></a>
+<a name="id2727203"></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="id3016578"></a>
+<a name="id2727474"></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="id3016661"></a>
+<a name="id2727557"></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="id3016932"></a>
+<a name="id2727828"></a>
         <a class="link" href="single_pass_range.html#range.concepts.single_pass_range.see_also">See also</a>
       </h5>
 <p>

Modified: trunk/libs/range/doc/html/range/examples.html
==============================================================================
--- trunk/libs/range/doc/html/range/examples.html (original)
+++ trunk/libs/range/doc/html/range/examples.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
 <link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
-<link rel="prev" href="library_headers.html" title="Library Headers">
+<link rel="prev" href="library_headers/algorithm_extensions.html" title="Algorithm Extensions">
 <link rel="next" href="mfc_atl.html" title="MFC/ATL (courtesy of Shunsuke Sogame)">
 </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="library_headers.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mfc_atl.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="library_headers/algorithm_extensions.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mfc_atl.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Examples">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -56,7 +56,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="library_headers.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mfc_atl.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="library_headers/algorithm_extensions.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mfc_atl.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/range/doc/html/range/faq.html
==============================================================================
--- trunk/libs/range/doc/html/range/faq.html (original)
+++ trunk/libs/range/doc/html/range/faq.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -46,10 +46,9 @@
 <p>
         </p>
 <p>
- Note that an <a class="link" href="utilities/iterator_range.html" title="Class iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> is somewhat more
+ Note that an <a class="link" href="reference/utilities/iterator_range.html" title="Class iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> is somewhat more
           convenient than a <code class="computeroutput"><span class="identifier">pair</span></code>
- and that a <a class="link" href="utilities/sub_range.html" title="Class sub_range"><code class="computeroutput"><span class="identifier">sub_range</span></code></a>
- does propagate const-ness.
+ and that a <a class="link" href="reference/utilities/sub_range.html" title="Class sub_range"><code class="computeroutput"><span class="identifier">sub_range</span></code></a> does propagate const-ness.
         </p>
 <p>
       </p>

Modified: trunk/libs/range/doc/html/range/history_ack.html
==============================================================================
--- trunk/libs/range/doc/html/range/history_ack.html (original)
+++ trunk/libs/range/doc/html/range/history_ack.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -25,6 +25,11 @@
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <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="id2860374"></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>
 <p>
       The library have been under way for a long time. Dietmar K&#252;hl originally intended
       to submit an <code class="computeroutput"><span class="identifier">array_traits</span></code> class
@@ -73,6 +78,59 @@
 <p>
       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="id2860478"></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>
+<p>
+ This version introduced Range Adaptors and Range Algorithms. This version 2
+ is the result of a merge of all of the RangeEx features into Boost.Range.
+ </p>
+<p>
+ There were an enormous number of very significant contributors through all
+ stages of this library.
+ </p>
+<p>
+ The people in the following list all made contributions in the form of reviews,
+ user feedback, design suggestions, or defect detection:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Thorsten Ottosen: review management, design advice, documentation feedback
+ </li>
+<li class="listitem">
+ Eric Niebler: feedback
+ </li>
+<li class="listitem">
+ Joel de Guzman: review
+ </li>
+<li class="listitem">
+ Mathias Gaunard: review
+ </li>
+<li class="listitem">
+ David Abrahams: implementation advice
+ </li>
+<li class="listitem">
+ Robert Jones: defect reports, usage feedback
+ </li>
+<li class="listitem">
+ Sean Parent: contributed experience from the Adobe range library
+ </li>
+<li class="listitem">
+ Arno Schoedl: implementations, and review
+ </li>
+<li class="listitem">
+ Rogier van Dalen: review
+ </li>
+<li class="listitem">
+ Vincente Botet: review, documentation feedback
+ </li>
+</ul></div>
+<p>
+ Regardless of how I write this section it will never truly fairly capture the
+ gratitude that I feel to all who have contributed. Thank you everyone.
+ </p>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>

Modified: trunk/libs/range/doc/html/range/library_headers.html
==============================================================================
--- trunk/libs/range/doc/html/range/library_headers.html (original)
+++ trunk/libs/range/doc/html/range/library_headers.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -7,7 +7,7 @@
 <link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="prev" href="style_guide.html" title="Terminology and style guidelines">
-<link rel="next" href="examples.html" title="Examples">
+<link rel="next" href="library_headers/general.html" title="General">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,401 +20,19 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="style_guide.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="style_guide.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="library_headers/general.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Library Headers">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="range.library_headers"></a><a class="link" href="library_headers.html" title="Library Headers">Library Headers</a>
 </h2></div></div></div>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Header
- </p>
- </th>
-<th>
- <p>
- Includes
- </p>
- </th>
-<th>
- <p>
- Related Concept
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- everything from Boost.Range version 1 (Boost versions 1.42 and below).
- Includes the core range functions and metafunctinos, but excludes
- Range Adaptors and Range Algorithms.
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">metafunctions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- every metafunction
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">functions</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- every function
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">value_type</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="reference/semantics/metafunctions.html" title="Metafunctions"><code class="computeroutput"><span class="identifier">range_value</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="concepts/single_pass_range.html" title="Single Pass Range">Single Pass Range</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">iterator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="reference/semantics/metafunctions.html" title="Metafunctions"><code class="computeroutput"><span class="identifier">range_iterator</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="concepts/single_pass_range.html" title="Single Pass Range">Single Pass Range</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">difference_type</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="reference/semantics/metafunctions.html" title="Metafunctions"><code class="computeroutput"><span class="identifier">range_difference</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="concepts/forward_range.html" title="Forward Range">Forward Range</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">pointer</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="reference/semantics/metafunctions.html" title="Metafunctions"><code class="computeroutput"><span class="identifier">range_pointer</span></code></a>
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">category</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="reference/semantics/metafunctions.html" title="Metafunctions"><code class="computeroutput"><span class="identifier">range_category</span></code></a>
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">reverse_iterator</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="reference/semantics/metafunctions.html" title="Metafunctions"><code class="computeroutput"><span class="identifier">range_reverse_iterator</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="concepts/bidirectional_range.html" title="Bidirectional Range">Bidirectional
- Range</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">begin</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">begin</span></code></a> and <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">const_begin</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="concepts/single_pass_range.html" title="Single Pass Range">Single Pass Range</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">end</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">end</span></code></a> and <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">const_end</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="concepts/single_pass_range.html" title="Single Pass Range">Single Pass Range</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">empty</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">empty</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="concepts/single_pass_range.html" title="Single Pass Range">Single Pass Range</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">distance</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">distance</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="concepts/forward_range.html" title="Forward Range">Forward Range</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">size</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">size</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="concepts/random_access_range.html" title="Random Access Range">Random Access
- Range</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">rbegin</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">rbegin</span></code></a> and <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">const_rbegin</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="concepts/bidirectional_range.html" title="Bidirectional Range">Bidirectional
- Range</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">rend</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">rend</span></code></a> and <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">const_rend</span></code></a>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="concepts/bidirectional_range.html" title="Bidirectional Range">Bidirectional
- Range</a>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">as_array</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">as_array</span></code></a>
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">as_literal</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">as_literal</span></code></a>
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">iterator_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="utilities/iterator_range.html" title="Class iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a>
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">sub_range</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="utilities/sub_range.html" title="Class sub_range"><code class="computeroutput"><span class="identifier">sub_range</span></code></a>
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">concepts</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span></code>
- </p>
- </td>
-<td>
- <p>
- <a class="link" href="concepts.html" title="Range Concepts">Range concepts</a>
- </p>
- </td>
-<td>
- <p>
- -
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
+<div class="toc"><dl>
+<dt><span class="section">General</span></dt>
+<dt><span class="section">Adaptors</span></dt>
+<dt><span class="section">Algorithm</span></dt>
+<dt><span class="section"><a href="library_headers/algorithm_extensions.html">Algorithm
+ Extensions</a></span></dt>
+</dl></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
 <td align="left"></td>
@@ -426,7 +44,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="style_guide.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="examples.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="style_guide.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="library_headers/general.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/range/doc/html/range/mfc_atl.html
==============================================================================
--- trunk/libs/range/doc/html/range/mfc_atl.html (original)
+++ trunk/libs/range/doc/html/range/mfc_atl.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -34,7 +34,7 @@
 <dt><span class="section"> References</span></dt>
 </dl></div>
 <a name="range.mfc_atl.introduction"></a><h5>
-<a name="id3128780"></a>
+<a name="id2854021"></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="id3128918"></a>
+<a name="id2854158"></a>
       <a class="link" href="mfc_atl.html#range.mfc_atl.overview">Overview</a>
     </h5>
 <p>

Modified: trunk/libs/range/doc/html/range/portability.html
==============================================================================
--- trunk/libs/range/doc/html/range/portability.html (original)
+++ trunk/libs/range/doc/html/range/portability.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -51,7 +51,7 @@
       </li>
 <li class="listitem">
         do not pass rvalues to <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">begin</span></code></a><code class="computeroutput"><span class="special">()</span></code>,
- <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">end</span></code></a><code class="computeroutput"><span class="special">()</span></code> and <a class="link" href="utilities/iterator_range.html" title="Class iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> Range constructors
+ <a class="link" href="reference/semantics/functions.html" title="Functions"><code class="computeroutput"><span class="identifier">end</span></code></a><code class="computeroutput"><span class="special">()</span></code> and <a class="link" href="reference/utilities/iterator_range.html" title="Class iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> Range constructors
         and assignment operators,
       </li>
 <li class="listitem">

Modified: trunk/libs/range/doc/html/range/reference.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference.html (original)
+++ trunk/libs/range/doc/html/range/reference.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -24,7 +24,7 @@
 </div>
 <div class="section" title="Reference">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="range.reference"></a><a class="link" href="reference.html" title="Reference">Reference</a>
+<a name="range.reference"></a><a class="link" href="reference.html" title="Reference"> Reference</a>
 </h2></div></div></div>
 <div class="toc"><dl>
 <dt><span class="section">Overview</span></dt>
@@ -36,29 +36,26 @@
 </dl></dd>
 <dt><span class="section"> Range Adaptors</span></dt>
 <dd><dl>
-<dt><span class="section"><a href="reference/adaptors/adaptors_introduction.html"> Introduction
+<dt><span class="section"><a href="reference/adaptors/introduction.html"> Introduction
         and motivation</a></span></dt>
 <dt><span class="section"> Synopsis</span></dt>
-<dt><span class="section"><a href="reference/adaptors/adaptors_general_requirements.html">
- General Requirements</a></span></dt>
-<dt><span class="section"> Reference</span></dt>
+<dt><span class="section"><a href="reference/adaptors/general_requirements.html"> General
+ Requirements</a></span></dt>
+<dt><span class="section"> Reference</span></dt>
 </dl></dd>
 <dt><span class="section"> Range Algorithm</span></dt>
 <dd><dl>
 <dt><span class="section"><a href="reference/algorithms/range_algorithm_introduction.html">
         Introduction and motivation</a></span></dt>
-<dt><span class="section"><a href="reference/algorithms/range_algorithm_mutating_algorithms.html">
- Mutating algorithms</a></span></dt>
-<dt><span class="section"><a href="reference/algorithms/range_algorithm_non_mutating_algorithms.html">
- Non-mutating algorithms</a></span></dt>
-<dt><span class="section"> Set algorithms</span></dt>
-<dt><span class="section"> Heap algorithms</span></dt>
-<dt><span class="section"><a href="reference/algorithms/permutation_algorithms.html">
- Permutation algorithms</a></span></dt>
-<dt><span class="section"><a href="reference/algorithms/range_algorithm_new_algorithms.html">
- New algorithms</a></span></dt>
-<dt><span class="section"><a href="reference/algorithms/range_numeric.html"> Numeric
+<dt><span class="section"> Mutating algorithms</span></dt>
+<dt><span class="section"><a href="reference/algorithms/non_mutating.html"> Non-mutating
         algorithms</a></span></dt>
+<dt><span class="section"> Set algorithms</span></dt>
+<dt><span class="section"> Heap algorithms</span></dt>
+<dt><span class="section"><a href="reference/algorithms/permutation.html"> Permutation
+ algorithms</a></span></dt>
+<dt><span class="section"> New algorithms</span></dt>
+<dt><span class="section"> Numeric algorithms</span></dt>
 </dl></dd>
 <dt><span class="section"> Provided Ranges</span></dt>
 <dd><dl>
@@ -66,6 +63,12 @@
 <dt><span class="section"> istream_range</span></dt>
 <dt><span class="section"> irange</span></dt>
 </dl></dd>
+<dt><span class="section"> Utilities</span></dt>
+<dd><dl>
+<dt><span class="section"> Class iterator_range</span></dt>
+<dt><span class="section"> Class sub_range</span></dt>
+<dt><span class="section"> Function join</span></dt>
+</dl></dd>
 <dt><span class="section"> Extending the library</span></dt>
 <dd><dl>
 <dt><span class="section"><a href="reference/extending/method_1.html"> Method 1: provide

Modified: trunk/libs/range/doc/html/range/reference/adaptors.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/adaptors.html (original)
+++ trunk/libs/range/doc/html/range/reference/adaptors.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -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="semantics/functions.html" title="Functions">
-<link rel="next" href="adaptors/adaptors_introduction.html" title="Introduction and motivation">
+<link rel="next" href="adaptors/introduction.html" title="Introduction and motivation">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,19 +20,19 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="semantics/functions.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adaptors/adaptors_introduction.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="semantics/functions.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adaptors/introduction.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Range Adaptors">
 <div class="titlepage"><div><div><h3 class="title">
 <a name="range.reference.adaptors"></a><a class="link" href="adaptors.html" title="Range Adaptors"> Range Adaptors</a>
 </h3></div></div></div>
 <div class="toc"><dl>
-<dt><span class="section"><a href="adaptors/adaptors_introduction.html"> Introduction
+<dt><span class="section"><a href="adaptors/introduction.html"> Introduction
         and motivation</a></span></dt>
 <dt><span class="section"> Synopsis</span></dt>
-<dt><span class="section"><a href="adaptors/adaptors_general_requirements.html">
- General Requirements</a></span></dt>
-<dt><span class="section"> Reference</span></dt>
+<dt><span class="section"><a href="adaptors/general_requirements.html"> General
+ Requirements</a></span></dt>
+<dt><span class="section"> Reference</span></dt>
 </dl></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -45,7 +45,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="semantics/functions.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adaptors/adaptors_introduction.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="semantics/functions.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adaptors/introduction.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/range/doc/html/range/reference/adaptors/adaptors_introduction.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/adaptors/adaptors_introduction.html (original)
+++ trunk/libs/range/doc/html/range/reference/adaptors/adaptors_introduction.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -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.adaptors_introduction.composition_of_adaptors"></a><h6>
-<a name="id3026637"></a>
+<a name="id3057363"></a>
           <a class="link" href="adaptors_introduction.html#range.reference.adaptors.adaptors_introduction.composition_of_adaptors">Composition
           of Adaptors</a>
         </h6>
@@ -159,7 +159,7 @@
           is the design solution to this problem.
         </p>
 <a name="range.reference.adaptors.adaptors_introduction.range_adaptor_alternative_to_copy_if_algorithm"></a><h6>
-<a name="id3026947"></a>
+<a name="id3057673"></a>
           <a class="link" href="adaptors_introduction.html#range.reference.adaptors.adaptors_introduction.range_adaptor_alternative_to_copy_if_algorithm">Range
           Adaptor alternative to copy_if algorithm</a>
         </h6>
@@ -176,7 +176,7 @@
 <p>
         </p>
 <a name="range.reference.adaptors.adaptors_introduction.range_adaptor_alternative_to_count_if_algorithm"></a><h6>
-<a name="id3027116"></a>
+<a name="id3057842"></a>
           <a class="link" href="adaptors_introduction.html#range.reference.adaptors.adaptors_introduction.range_adaptor_alternative_to_count_if_algorithm">Range
           Adaptor alternative to count_if algorithm</a>
         </h6>

Modified: trunk/libs/range/doc/html/range/reference/adaptors/adaptors_synopsis.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/adaptors/adaptors_synopsis.html (original)
+++ trunk/libs/range/doc/html/range/reference/adaptors/adaptors_synopsis.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -6,8 +6,8 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
 <link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="up" href="../adaptors.html" title="Range Adaptors">
-<link rel="prev" href="adaptors_introduction.html" title="Introduction and motivation">
-<link rel="next" href="adaptors_general_requirements.html" title="General Requirements">
+<link rel="prev" href="introduction.html" title="Introduction and motivation">
+<link rel="next" href="general_requirements.html" title="General Requirements">
 </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="adaptors_introduction.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adaptors.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adaptors_general_requirements.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="introduction.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adaptors.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="general_requirements.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Synopsis">
 <div class="titlepage"><div><div><h4 class="title">
@@ -61,7 +61,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="adaptors_introduction.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adaptors.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adaptors_general_requirements.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="introduction.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adaptors.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="general_requirements.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: trunk/libs/range/doc/html/range/reference/adaptors/general_requirements.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/adaptors/general_requirements.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,141 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>General Requirements</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../adaptors.html" title="Range Adaptors">
+<link rel="prev" href="adaptors_synopsis.html" title="Synopsis">
+<link rel="next" href="reference.html" title="Reference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="adaptors_synopsis.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adaptors.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="General Requirements">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="range.reference.adaptors.general_requirements"></a><a class="link" href="general_requirements.html" title="General Requirements"> General
+ Requirements</a>
+</h4></div></div></div>
+<p>
+ In the description of generator expressions, the following notation is
+ used:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">fwdRng</span></code> is an expression
+ of a type <code class="computeroutput"><span class="identifier">R</span></code> that models
+ <code class="computeroutput"><span class="identifier">ForwardRange</span></code>
+</li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">biRng</span></code> is an expression
+ of a type <code class="computeroutput"><span class="identifier">R</span></code> that models
+ <code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+</li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">rndRng</span></code> is an expression
+ of a type <code class="computeroutput"><span class="identifier">R</span></code> that models
+ <code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>
+</li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">pred</span></code> is an expression
+ of a type that models <code class="computeroutput"><span class="identifier">UnaryPredicate</span></code>
+</li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">bi_pred</span></code> is an expression
+ of a type that models <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>
+</li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">fun</span></code> is an expression
+ of a type that models <code class="computeroutput"><span class="identifier">UnaryFunction</span></code>
+</li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">value</span></code>, <code class="computeroutput"><span class="identifier">new_value</span></code> and <code class="computeroutput"><span class="identifier">old_value</span></code>
+ are objects convertible to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">range_value</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+</li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">n</span><span class="special">,</span><span class="identifier">m</span></code> are integer expressions convertible
+ to <code class="computeroutput"><span class="identifier">range_difference</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+</li>
+</ul></div>
+<p>
+ Also note that <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">range_value</span><span class="special">&lt;</span><span class="identifier">R</span><span class="special">&gt;::</span><span class="identifier">type</span></code> must be implicitly convertible to
+ the type arguments to <code class="computeroutput"><span class="identifier">pred</span></code>,
+ <code class="computeroutput"><span class="identifier">bi_pred</span></code> and <code class="computeroutput"><span class="identifier">fun</span></code>.
+ </p>
+<p>
+ Range Category in the following adaptor descriptions refers to the minimum
+ range concept required by the range passed to the adaptor. The resultant
+ range is a model of the same range concept as the input range unless specified
+ otherwise.
+ </p>
+<p>
+ Returned Range Category is the concept of the returned range. In some cases
+ the returned range is of a lesser category than the range passed to the
+ adaptor. For example, the <code class="computeroutput"><span class="identifier">filtered</span></code>
+ adaptor returns only a <code class="computeroutput"><span class="identifier">ForwardRange</span></code>
+ regardless of the input.
+ </p>
+<p>
+ Furthermore, the following rules apply to any expression of the form
+</p>
+<pre class="programlisting"><span class="identifier">rng</span> <span class="special">|</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">adaptors</span><span class="special">::</span><span class="identifier">adaptor_generator</span>
+</pre>
+<p>
+ </p>
+<p>
+ 1. Applying <code class="computeroutput"><span class="keyword">operator</span><span class="special">|()</span></code>
+ to a range <code class="computeroutput"><span class="identifier">R</span></code> (always left
+ argument) and a range adapter <code class="computeroutput"><span class="identifier">RA</span></code>
+ (always right argument) yields a new range type which may not conform to
+ the same range concept as <code class="computeroutput"><span class="identifier">R</span></code>.
+ </p>
+<p>
+ 2. The return-type of <code class="computeroutput"><span class="keyword">operator</span><span class="special">|()</span></code> is otherwise unspecified.
+ </p>
+<p>
+ 3. <code class="computeroutput"><span class="keyword">operator</span><span class="special">|()</span></code>
+ is found by Argument Dependent Lookup (ADL) because a range adaptor is
+ implemented in namespace <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">adaptors</span></code>.
+ </p>
+<p>
+ 4. <code class="computeroutput"><span class="keyword">operator</span><span class="special">|()</span></code>
+ is used to add new behaviour <span class="emphasis"><em><span class="bold"><strong>lazily</strong></span></em></span>
+ and never modifies its left argument.
+ </p>
+<p>
+ 5. All iterators extracted from the left argument are extracted using qualified
+ calls to <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">()</span></code>
+ and <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">end</span><span class="special">()</span></code>.
+ </p>
+<p>
+ 6. In addition to the <code class="computeroutput"><span class="keyword">throw</span></code>-clauses
+ below, <code class="computeroutput"><span class="keyword">operator</span><span class="special">|()</span></code>
+ may throw exceptions as a result of copying iterators. If such copying
+ cannot throw an exception, then neither can the whole expression.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="adaptors_synopsis.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adaptors.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/adaptors/introduction.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/adaptors/introduction.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,274 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Introduction and motivation</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../adaptors.html" title="Range Adaptors">
+<link rel="prev" href="../adaptors.html" title="Range Adaptors">
+<link rel="next" href="adaptors_synopsis.html" title="Synopsis">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../adaptors.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adaptors.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adaptors_synopsis.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Introduction and motivation">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="range.reference.adaptors.introduction"></a><a class="link" href="introduction.html" title="Introduction and motivation"> Introduction
+ and motivation</a>
+</h4></div></div></div>
+<p>
+ A <span class="bold"><strong>Range Adaptor</strong></span> is a class that wraps
+ an existing Range to provide a new Range with different behaviour. Since
+ the behaviour of Ranges is determined by their associated iterators, a
+ Range Adaptor simply wraps the underlying iterators with new special iterators.
+ In this example
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">boost</span><span class="special">/</span><span class="identifier">range</span><span class="special">/</span><span class="identifier">adaptors</span><span class="special">.</span><span class="identifier">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><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">hpp</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">iostream</span><span class="special">&gt;</span>
+<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">vector</span><span class="special">&gt;</span>
+
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span> <span class="identifier">vec</span> <span class="special">|</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">adaptors</span><span class="special">::</span><span class="identifier">reversed</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream_iterator</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">)</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ the iterators from <code class="computeroutput"><span class="identifier">vec</span></code>
+ are wrapped <code class="computeroutput"><span class="identifier">reverse_iterator</span></code>s.
+ The type of the underlying Range Adapter is not documented because you
+ do not need to know it. All that is relevant is that the expression
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">vec</span> <span class="special">|</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">adaptors</span><span class="special">::</span><span class="identifier">reversed</span>
+</pre>
+<p>
+ </p>
+<p>
+ returns a Range Adaptor where the iterator type is now the iterator type
+ of the range <code class="computeroutput"><span class="identifier">vec</span></code> wrapped
+ in <code class="computeroutput"><span class="identifier">reverse_iterator</span></code>. The
+ expression <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">adaptors</span><span class="special">::</span><span class="identifier">reversed</span></code> is called an <span class="bold"><strong>Adaptor
+ Generator</strong></span>.
+ </p>
+<p>
+ There are two ways of constructing a range adaptor. The first is by using
+ <code class="computeroutput"><span class="keyword">operator</span><span class="special">|()</span></code>.
+ This is my preferred technique, however while discussing range adaptors
+ with others it became clear that some users of the library strongly prefer
+ a more familiar function syntax, so equivalent functions of the present
+ tense form have been added as an alternative syntax. The equivalent to
+ <code class="computeroutput"><span class="identifier">rng</span> <span class="special">|</span>
+ <span class="identifier">reversed</span></code> is <code class="computeroutput"><span class="identifier">adaptors</span><span class="special">::</span><span class="identifier">reverse</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> for example.
+ </p>
+<p>
+ Why do I prefer the <code class="computeroutput"><span class="keyword">operator</span><span class="special">|</span></code> syntax? The answer is readability:
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">adaptors</span><span class="special">::</span><span class="identifier">reverse</span><span class="special">(</span><span class="identifier">vec</span><span class="special">),</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream_iterator</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">)</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ This might not look so bad, but when we apply several adaptors, it becomes
+ much worse. Just compare
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">adaptors</span><span class="special">::</span><span class="identifier">unique</span><span class="special">(</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">adaptors</span><span class="special">::</span><span class="identifier">reverse</span><span class="special">(</span> <span class="identifier">vec</span> <span class="special">)</span> <span class="special">),</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream_iterator</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">)</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ to
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span> <span class="identifier">vec</span> <span class="special">|</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">adaptors</span><span class="special">::</span><span class="identifier">reversed</span>
+ <span class="special">|</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">adaptors</span><span class="special">::</span><span class="identifier">uniqued</span><span class="special">,</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream_iterator</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">)</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ Furthermore, some of the adaptor generators take arguments themselves and
+ these arguments are expressed with function call notation too. In those
+ 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="id2737533"></a>
+ <a class="link" href="introduction.html#range.reference.adaptors.introduction.composition_of_adaptors">Composition
+ of Adaptors</a>
+ </h6>
+<p>
+ Range Adaptors are a powerful complement to Range algorithms. The reason
+ is that adaptors are <span class="emphasis"><em><span class="bold"><strong>orthogonal</strong></span></em></span>
+ to algorithms. For example, consider these Range algorithms:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">out</span> <span class="special">)</span></code></li>
+<li class="listitem"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">count</span><span class="special">(</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">pred</span> <span class="special">)</span></code></li>
+</ul></div>
+<p>
+ What should we do if we only want to copy an element <code class="computeroutput"><span class="identifier">a</span></code>
+ if it satisfies some predicate, say <code class="computeroutput"><span class="identifier">pred</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code>?
+ And what if we only want to count the elements that satisfy the same predicate?
+ The naive answer would be to use these algorithms:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy_if</span><span class="special">(</span>
+ <span class="identifier">rng</span><span class="special">,</span>
+ <span class="identifier">pred</span><span class="special">,</span>
+ <span class="identifier">out</span> <span class="special">)</span></code></li>
+<li class="listitem"><code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">count_if</span><span class="special">(</span>
+ <span class="identifier">rng</span><span class="special">,</span>
+ <span class="identifier">pred</span> <span class="special">)</span></code></li>
+</ul></div>
+<p>
+ These algorithms are only defined to maintain a one to one relationship
+ with the standard library algorithms. This approach of adding algorithm
+ suffers a combinatorial explosion. Inevitably many algorithms are missing
+ <code class="computeroutput"><span class="identifier">_if</span></code> variants and there
+ is redundant development overhead for each new algorithm. The Adaptor Generator
+ 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="id2737841"></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>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy_if</span><span class="special">(</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">pred</span><span class="special">,</span> <span class="identifier">out</span> <span class="special">);</span>
+</pre>
+<p>
+ can be expressed as
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</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">adaptors</span><span class="special">::</span><span class="identifier">filtered</span><span class="special">(</span><span class="identifier">pred</span><span class="special">),</span> <span class="identifier">out</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.adaptors.introduction.range_adaptor_alternative_to_count_if_algorithm"></a><h6>
+<a name="id2738011"></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>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">count_if</span><span class="special">(</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">pred</span> <span class="special">);</span>
+</pre>
+<p>
+ can be expressed as
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">count</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">adaptors</span><span class="special">::</span><span class="identifier">filtered</span><span class="special">(</span><span class="identifier">pred</span><span class="special">),</span> <span class="identifier">out</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ What this means is that <span class="emphasis"><em><span class="bold"><strong>no</strong></span></em></span>
+ algorithm with the <code class="computeroutput"><span class="identifier">_if</span></code>
+ suffix is needed. Furthermore, it turns out that algorithms with the <code class="computeroutput"><span class="identifier">_copy</span></code> suffix are not needed either. Consider
+ the somewhat misdesigned <code class="computeroutput"><span class="identifier">replace_copy_if</span><span class="special">()</span></code> which may be used as
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">replace_copy_if</span><span class="special">(</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">back_inserter</span><span class="special">(</span><span class="identifier">vec</span><span class="special">),</span> <span class="identifier">pred</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ With adaptors and algorithms we can express this as
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span><span class="special">;</span>
+<span class="identifier">boost</span><span class="special">::</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">vec</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">adaptors</span><span class="special">::</span><span class="identifier">replaced_if</span><span class="special">(</span><span class="identifier">pred</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">));</span>
+</pre>
+<p>
+ </p>
+<p>
+ The latter code has several benefits:
+ </p>
+<p>
+ 1. it is more <span class="emphasis"><em><span class="bold"><strong>efficient</strong></span></em></span>
+ because we avoid extra allocations as might happen with <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">back_inserter</span></code>
+ </p>
+<p>
+ 2. it is <span class="emphasis"><em><span class="bold"><strong>flexible</strong></span></em></span>
+ as we can subsequently apply even more adaptors, for example:
+</p>
+<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">vec</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">adaptors</span><span class="special">::</span><span class="identifier">replaced_if</span><span class="special">(</span><span class="identifier">pred</span><span class="special">,</span> <span class="identifier">new_value</span><span class="special">)</span>
+ <span class="special">|</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">adaptors</span><span class="special">::</span><span class="identifier">reversed</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ 3. it is <span class="emphasis"><em><span class="bold"><strong>safer</strong></span></em></span> because
+ there is no use of an unbounded output iterator.
+ </p>
+<p>
+ In this manner, the <span class="emphasis"><em><span class="bold"><strong>composition</strong></span></em></span>
+ of Range Adaptors has the following consequences:
+ </p>
+<p>
+ 1. we no longer need <code class="computeroutput"><span class="identifier">_if</span></code>,
+ <code class="computeroutput"><span class="identifier">_copy</span></code>, <code class="computeroutput"><span class="identifier">_copy_if</span></code>
+ and <code class="computeroutput"><span class="identifier">_n</span></code> variants of algorithms.
+ </p>
+<p>
+ 2. we can generate a multitude of new algorithms on the fly, for example,
+ above we generated <code class="computeroutput"><span class="identifier">reverse_replace_copy_if</span><span class="special">()</span></code>
+ </p>
+<p>
+ In other words:
+ </p>
+<p>
+ <span class="bold"><strong>Range Adaptors are to algorithms what algorithms
+ are to containers</strong></span>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../adaptors.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adaptors.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adaptors_synopsis.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/adaptors/reference.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/adaptors/reference.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,63 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Reference</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../adaptors.html" title="Range Adaptors">
+<link rel="prev" href="general_requirements.html" title="General Requirements">
+<link rel="next" href="reference/adjacent_filtered.html" title="adjacent_filtered">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="general_requirements.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adaptors.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference/adjacent_filtered.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Reference">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="range.reference.adaptors.reference"></a><a class="link" href="reference.html" title="Reference"> Reference</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="reference/adjacent_filtered.html">
+ adjacent_filtered</a></span></dt>
+<dt><span class="section"> copied</span></dt>
+<dt><span class="section"> filtered</span></dt>
+<dt><span class="section"> indexed</span></dt>
+<dt><span class="section"> indirected</span></dt>
+<dt><span class="section"> map_keys</span></dt>
+<dt><span class="section"> map_values</span></dt>
+<dt><span class="section"> replaced</span></dt>
+<dt><span class="section"><a href="reference/replaced_if.html">
+ replaced_if</a></span></dt>
+<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"> tokenized</span></dt>
+<dt><span class="section"><a href="reference/transformed.html">
+ transformed</a></span></dt>
+<dt><span class="section"> uniqued</span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="general_requirements.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../adaptors.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reference/adjacent_filtered.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: trunk/libs/range/doc/html/range/reference/algorithms.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/algorithms.html (original)
+++ trunk/libs/range/doc/html/range/reference/algorithms.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
 <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="adaptors/adaptors_reference/uniqued.html" title="uniqued">
+<link rel="prev" href="adaptors/reference/uniqued.html" title="uniqued">
 <link rel="next" href="algorithms/range_algorithm_introduction.html" title="Introduction and motivation">
 </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="adaptors/adaptors_reference/uniqued.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="algorithms/range_algorithm_introduction.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="adaptors/reference/uniqued.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="algorithms/range_algorithm_introduction.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Range Algorithm">
 <div class="titlepage"><div><div><h3 class="title">
@@ -29,18 +29,15 @@
 <div class="toc"><dl>
 <dt><span class="section"><a href="algorithms/range_algorithm_introduction.html">
         Introduction and motivation</a></span></dt>
-<dt><span class="section"><a href="algorithms/range_algorithm_mutating_algorithms.html">
- Mutating algorithms</a></span></dt>
-<dt><span class="section"><a href="algorithms/range_algorithm_non_mutating_algorithms.html">
- Non-mutating algorithms</a></span></dt>
-<dt><span class="section"> Set algorithms</span></dt>
-<dt><span class="section"> Heap algorithms</span></dt>
-<dt><span class="section"><a href="algorithms/permutation_algorithms.html">
- Permutation algorithms</a></span></dt>
-<dt><span class="section"><a href="algorithms/range_algorithm_new_algorithms.html">
- New algorithms</a></span></dt>
-<dt><span class="section"><a href="algorithms/range_numeric.html"> Numeric
+<dt><span class="section"> Mutating algorithms</span></dt>
+<dt><span class="section"><a href="algorithms/non_mutating.html"> Non-mutating
         algorithms</a></span></dt>
+<dt><span class="section"> Set algorithms</span></dt>
+<dt><span class="section"> Heap algorithms</span></dt>
+<dt><span class="section"><a href="algorithms/permutation.html"> Permutation
+ algorithms</a></span></dt>
+<dt><span class="section"> New algorithms</span></dt>
+<dt><span class="section"> Numeric algorithms</span></dt>
 </dl></div>
 </div>
 <table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
@@ -53,7 +50,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="adaptors/adaptors_reference/uniqued.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="algorithms/range_algorithm_introduction.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="adaptors/reference/uniqued.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="algorithms/range_algorithm_introduction.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/heap.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/heap.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,49 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Heap algorithms</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../algorithms.html" title="Range Algorithm">
+<link rel="prev" href="set/set_symmetric_difference.html" title="set_symmetric_difference">
+<link rel="next" href="heap/push_heap.html" title="push_heap">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set/set_symmetric_difference.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="heap/push_heap.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Heap algorithms">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="range.reference.algorithms.heap"></a><a class="link" href="heap.html" title="Heap algorithms"> Heap algorithms</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> push_heap</span></dt>
+<dt><span class="section"> pop_heap</span></dt>
+<dt><span class="section"> make_heap</span></dt>
+<dt><span class="section"> sort_heap</span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set/set_symmetric_difference.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="heap/push_heap.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/heap/make_heap.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/heap/make_heap.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,143 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>make_heap</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../heap.html" title="Heap algorithms">
+<link rel="prev" href="pop_heap.html" title="pop_heap">
+<link rel="next" href="sort_heap.html" title="sort_heap">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="pop_heap.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../heap.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="sort_heap.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="make_heap">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2816636"></a>
+ <a class="link" href="make_heap.html#range.reference.algorithms.heap.make_heap.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">make_heap</span><span class="special">(</span><span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">make_heap</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Compare</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">make_heap</span><span class="special">(</span><span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Compare</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">make_heap</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.heap.make_heap.description"></a><h6>
+<a name="id2817016"></a>
+ <a class="link" href="make_heap.html#range.reference.algorithms.heap.make_heap.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">make_heap</span></code> turns <code class="computeroutput"><span class="identifier">rng</span></code> into a heap.
+ </p>
+<p>
+ The ordering relationship is determined by using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code> in the non-predicate versions, and
+ by evaluating <code class="computeroutput"><span class="identifier">pred</span></code> in
+ the predicate versions.
+ </p>
+<a name="range.reference.algorithms.heap.make_heap.definition"></a><h6>
+<a name="id2817095"></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="id2817168"></a>
+ <a class="link" href="make_heap.html#range.reference.algorithms.heap.make_heap.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Compare</span></code> is a model
+ of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is convertible to both of <code class="computeroutput"><span class="identifier">Compare</span></code>'s
+ argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.heap.make_heap.complexity"></a><h6>
+<a name="id2817404"></a>
+ <a class="link" href="make_heap.html#range.reference.algorithms.heap.make_heap.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. At most <code class="computeroutput"><span class="number">3</span> <span class="special">*</span>
+ <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ comparisons.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="pop_heap.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../heap.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="sort_heap.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/heap/pop_heap.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/heap/pop_heap.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,155 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>pop_heap</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../heap.html" title="Heap algorithms">
+<link rel="prev" href="push_heap.html" title="push_heap">
+<link rel="next" href="make_heap.html" title="make_heap">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="push_heap.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../heap.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="make_heap.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="pop_heap">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2815631"></a>
+ <a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">pop_heap</span><span class="special">(</span><span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">pop_heap</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Compare</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">pop_heap</span><span class="special">(</span><span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Compare</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">pop_heap</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.heap.pop_heap.description"></a><h6>
+<a name="id2816010"></a>
+ <a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">pop_heap</span></code> removes the
+ largest element from the heap. It is assumed that <code class="computeroutput"><span class="identifier">begin</span><span class="special">(</span><span class="identifier">rng</span><span class="special">),</span> <span class="identifier">prior</span><span class="special">(</span><span class="identifier">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">))</span></code> is already a heap and that the element
+ to be added is <code class="computeroutput"><span class="special">*</span><span class="identifier">prior</span><span class="special">(</span><span class="identifier">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">))</span></code>.
+ </p>
+<p>
+ The ordering relationship is determined by using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code> in the non-predicate versions, and
+ by evaluating <code class="computeroutput"><span class="identifier">pred</span></code> in
+ the predicate versions.
+ </p>
+<a name="range.reference.algorithms.heap.pop_heap.definition"></a><h6>
+<a name="id2816170"></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="id2816241"></a>
+ <a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Compare</span></code> is a model
+ of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is convertible to both of <code class="computeroutput"><span class="identifier">Compare</span></code>'s
+ argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.heap.pop_heap.precondition_"></a><h6>
+<a name="id2816476"></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">
+<li class="listitem"><code class="computeroutput"><span class="special">!</span><span class="identifier">empty</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code></li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">rng</span></code> is a heap.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.heap.pop_heap.complexity"></a><h6>
+<a name="id2816548"></a>
+ <a class="link" href="pop_heap.html#range.reference.algorithms.heap.pop_heap.complexity">Complexity</a>
+ </h6>
+<p>
+ Logarithmic. At most <code class="computeroutput"><span class="number">2</span> <span class="special">*</span>
+ <span class="identifier">log</span><span class="special">(</span><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">))</span></code>
+ comparisons.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="push_heap.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../heap.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="make_heap.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/heap/push_heap.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/heap/push_heap.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,153 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>push_heap</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../heap.html" title="Heap algorithms">
+<link rel="prev" href="../heap.html" title="Heap algorithms">
+<link rel="next" href="pop_heap.html" title="pop_heap">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../heap.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../heap.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_heap.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="push_heap">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2814587"></a>
+ <a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">push_heap</span><span class="special">(</span><span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">push_heap</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Compare</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">push_heap</span><span class="special">(</span><span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Compare</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">push_heap</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.heap.push_heap.description"></a><h6>
+<a name="id2814965"></a>
+ <a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">push_heap</span></code> adds an element
+ to a heap. It is assumed that <code class="computeroutput"><span class="identifier">begin</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>, <code class="computeroutput"><span class="identifier">prior</span><span class="special">(</span><span class="identifier">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">))</span></code> is already a heap and that the element
+ to be added is <code class="computeroutput"><span class="special">*</span><span class="identifier">prior</span><span class="special">(</span><span class="identifier">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">))</span></code>.
+ </p>
+<p>
+ The ordering relationship is determined by using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code> in the non-predicate versions, and
+ by evaluating <code class="computeroutput"><span class="identifier">pred</span></code> in
+ the predicate versions.
+ </p>
+<a name="range.reference.algorithms.heap.push_heap.definition"></a><h6>
+<a name="id2815128"></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="id2815201"></a>
+ <a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Compare</span></code> is a model
+ of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is convertible to both of <code class="computeroutput"><span class="identifier">Compare</span></code>'s
+ argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.heap.push_heap.precondition_"></a><h6>
+<a name="id2815436"></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">
+<li class="listitem"><code class="computeroutput"><span class="special">!</span><span class="identifier">empty</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code></li>
+<li class="listitem">
+<code class="computeroutput"><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">prior</span><span class="special">(</span><span class="identifier">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)))</span></code> is a heap.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.heap.push_heap.complexity"></a><h6>
+<a name="id2815553"></a>
+ <a class="link" href="push_heap.html#range.reference.algorithms.heap.push_heap.complexity">Complexity</a>
+ </h6>
+<p>
+ Logarithmic. At most <code class="computeroutput"><span class="identifier">log</span><span class="special">(</span><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">))</span></code> comparisons.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../heap.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../heap.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="pop_heap.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/heap/sort_heap.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/heap/sort_heap.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,152 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>sort_heap</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../heap.html" title="Heap algorithms">
+<link rel="prev" href="make_heap.html" title="make_heap">
+<link rel="next" href="../permutation.html" title="Permutation algorithms">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_heap.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../heap.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../permutation.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="sort_heap">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2817483"></a>
+ <a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">sort_heap</span><span class="special">(</span><span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">sort_heap</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Compare</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">sort_heap</span><span class="special">(</span><span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Compare</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">sort_heap</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.heap.sort_heap.description"></a><h6>
+<a name="id2817861"></a>
+ <a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">sort_heap</span></code> turns a heap
+ into a sorted range.
+ </p>
+<p>
+ The ordering relationship is determined by using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code> in the non-predicate versions, and
+ by evaluating <code class="computeroutput"><span class="identifier">pred</span></code> in
+ the predicate versions.
+ </p>
+<a name="range.reference.algorithms.heap.sort_heap.definition"></a><h6>
+<a name="id2817930"></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="id2818002"></a>
+ <a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Compare</span></code> is a model
+ of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is convertible to both of <code class="computeroutput"><span class="identifier">Compare</span></code>'s
+ argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.heap.sort_heap.precondition_"></a><h6>
+<a name="id2818237"></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="id2818274"></a>
+ <a class="link" href="sort_heap.html#range.reference.algorithms.heap.sort_heap.complexity">Complexity</a>
+ </h6>
+<p>
+ At most <code class="computeroutput"><span class="identifier">N</span> <span class="special">*</span>
+ <span class="identifier">log</span><span class="special">(</span><span class="identifier">N</span><span class="special">)</span></code>
+ comparisons, where <code class="computeroutput"><span class="identifier">N</span></code>
+ is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="make_heap.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../heap.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../permutation.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: trunk/libs/range/doc/html/range/reference/algorithms/heap_algorithms.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/algorithms/heap_algorithms.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
+++ (empty file)
@@ -1,53 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Heap algorithms</title>
-<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
-<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
-<link rel="up" href="../algorithms.html" title="Range Algorithm">
-<link rel="prev" href="set_algorithms/set_symmetric_difference.html" title="set_symmetric_difference">
-<link rel="next" href="heap_algorithms/push_heap.html" title="push_heap">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="set_algorithms/set_symmetric_difference.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="heap_algorithms/push_heap.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" title="Heap algorithms">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="range.reference.algorithms.heap_algorithms"></a><a class="link" href="heap_algorithms.html" title="Heap algorithms"> Heap algorithms</a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="heap_algorithms/push_heap.html">
- push_heap</a></span></dt>
-<dt><span class="section"><a href="heap_algorithms/pop_heap.html">
- pop_heap</a></span></dt>
-<dt><span class="section"><a href="heap_algorithms/make_heap.html">
- make_heap</a></span></dt>
-<dt><span class="section"><a href="heap_algorithms/sort_heap.html">
- sort_heap</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="set_algorithms/set_symmetric_difference.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="heap_algorithms/push_heap.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,91 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Mutating algorithms</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../algorithms.html" title="Range Algorithm">
+<link rel="prev" href="range_algorithm_introduction.html" title="Introduction and motivation">
+<link rel="next" href="mutating/copy.html" title="copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="range_algorithm_introduction.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mutating/copy.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Mutating algorithms">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="range.reference.algorithms.mutating"></a><a class="link" href="mutating.html" title="Mutating algorithms"> Mutating algorithms</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> copy</span></dt>
+<dt><span class="section"><a href="mutating/copy_backward.html">
+ copy_backward</a></span></dt>
+<dt><span class="section"> fill</span></dt>
+<dt><span class="section"> fill_n</span></dt>
+<dt><span class="section"> generate</span></dt>
+<dt><span class="section"><a href="mutating/inplace_merge.html">
+ inplace_merge</a></span></dt>
+<dt><span class="section"> merge</span></dt>
+<dt><span class="section"><a href="mutating/nth_element.html">
+ nth_element</a></span></dt>
+<dt><span class="section"><a href="mutating/partial_sort.html">
+ partial_sort</a></span></dt>
+<dt><span class="section"> partition</span></dt>
+<dt><span class="section"><a href="mutating/random_shuffle.html">
+ random_shuffle</a></span></dt>
+<dt><span class="section"> remove</span></dt>
+<dt><span class="section"><a href="mutating/remove_copy.html">
+ remove_copy</a></span></dt>
+<dt><span class="section"><a href="mutating/remove_copy_if.html">
+ remove_copy_if</a></span></dt>
+<dt><span class="section"> remove_if</span></dt>
+<dt><span class="section"> replace</span></dt>
+<dt><span class="section"><a href="mutating/replace_copy.html">
+ replace_copy</a></span></dt>
+<dt><span class="section"><a href="mutating/replace_copy_if.html">
+ replace_copy_if</a></span></dt>
+<dt><span class="section"><a href="mutating/replace_if.html">
+ replace_if</a></span></dt>
+<dt><span class="section"> reverse</span></dt>
+<dt><span class="section"><a href="mutating/reverse_copy.html">
+ reverse_copy</a></span></dt>
+<dt><span class="section"> rotate</span></dt>
+<dt><span class="section"><a href="mutating/rotate_copy.html">
+ rotate_copy</a></span></dt>
+<dt><span class="section"> sort</span></dt>
+<dt><span class="section"><a href="mutating/stable_partition.html">
+ stable_partition</a></span></dt>
+<dt><span class="section"><a href="mutating/stable_sort.html">
+ stable_sort</a></span></dt>
+<dt><span class="section"><a href="mutating/swap_ranges.html">
+ swap_ranges</a></span></dt>
+<dt><span class="section"> transform</span></dt>
+<dt><span class="section"> unique</span></dt>
+<dt><span class="section"><a href="mutating/unique_copy.html">
+ unique_copy</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="range_algorithm_introduction.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mutating/copy.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/copy.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/copy.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,115 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>copy</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="../mutating.html" title="Mutating algorithms">
+<link rel="next" href="copy_backward.html" title="copy_backward">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../mutating.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="copy_backward.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="copy">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2759010"></a>
+ <a class="link" href="copy.html#range.reference.algorithms.mutating.copy.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">copy</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">source_rng</span><span class="special">,</span> <span class="identifier">OutputIterator</span> <span class="identifier">out_it</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.copy.description"></a><h6>
+<a name="id2759139"></a>
+ <a class="link" href="copy.html#range.reference.algorithms.mutating.copy.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">copy</span></code> copies all elements
+ from <code class="computeroutput"><span class="identifier">source_rng</span></code> to the
+ range <code class="computeroutput"><span class="special">[</span><span class="identifier">out_it</span><span class="special">,</span> <span class="identifier">out_it</span>
+ <span class="special">+</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">source_rng</span><span class="special">))</span></code>. The return value is <code class="computeroutput"><span class="identifier">out_it</span> <span class="special">+</span>
+ <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="id2759273"></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="id2759344"></a>
+ <a class="link" href="copy.html#range.reference.algorithms.mutating.copy.requirements">Requirements</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+ The <code class="computeroutput"><span class="identifier">value_type</span></code> of
+ <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single Pass Range</a>
+ Concept is convertible to a type in <code class="computeroutput"><span class="identifier">OutputIterator</span></code>'s
+ set of value types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.copy.precondition_"></a><h6>
+<a name="id2759452"></a>
+ <a class="link" href="copy.html#range.reference.algorithms.mutating.copy.precondition_">Precondition:</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">out_it</span></code> is not an iterator
+ within the <code class="computeroutput"><span class="identifier">source_rng</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="special">[</span><span class="identifier">out_it</span><span class="special">,</span> <span class="identifier">out_it</span>
+ <span class="special">+</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">source_rng</span><span class="special">))</span></code> is a valid range.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.copy.complexity"></a><h6>
+<a name="id2759557"></a>
+ <a class="link" href="copy.html#range.reference.algorithms.mutating.copy.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">source_rng</span><span class="special">)</span></code> assignments are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../mutating.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="copy_backward.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/copy_backward.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/copy_backward.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,125 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>copy_backward</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="copy.html" title="copy">
+<link rel="next" href="fill.html" title="fill">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="copy.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="fill.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="copy_backward">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2759624"></a>
+ <a class="link" href="copy_backward.html#range.reference.algorithms.mutating.copy_backward.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BidirectionalOutputIterator</span><span class="special">&gt;</span>
+ <span class="identifier">BidirectionalOutputIterator</span>
+ <span class="identifier">copy_backward</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">source_rng</span><span class="special">,</span>
+ <span class="identifier">BidirectionalOutputIterator</span> <span class="identifier">out_it</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.copy_backward.description"></a><h6>
+<a name="id2759756"></a>
+ <a class="link" href="copy_backward.html#range.reference.algorithms.mutating.copy_backward.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">copy_backward</span></code> copies
+ all elements from <code class="computeroutput"><span class="identifier">source_rng</span></code>
+ to the range <code class="computeroutput"><span class="special">[</span><span class="identifier">out_it</span>
+ <span class="special">-</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">source_rng</span><span class="special">),</span> <span class="identifier">out_it</span><span class="special">)</span></code>.
+ </p>
+<p>
+ The values are copied in reverse order. The return value is <code class="computeroutput"><span class="identifier">out_it</span> <span class="special">-</span>
+ <span class="identifier">distance</span><span class="special">(</span><span class="identifier">source_rng</span><span class="special">)</span></code>.
+ </p>
+<p>
+ Note well that unlike all other standard algorithms <code class="computeroutput"><span class="identifier">out_it</span></code>
+ 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="id2759916"></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="id2759988"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is a model of <a class="link" href="../../../concepts/bidirectional_range.html" title="Bidirectional Range">Bidirectional
+ Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+ The <code class="computeroutput"><span class="identifier">value_type</span></code> of
+ <a class="link" href="../../../concepts/bidirectional_range.html" title="Bidirectional Range">Bidirectional Range</a>
+ Concept is convertible to a type in <code class="computeroutput"><span class="identifier">OutputIterator</span></code>'s
+ set of value types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.copy_backward.precondition_"></a><h6>
+<a name="id2760097"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">out_it</span></code> is not an iterator
+ within the <code class="computeroutput"><span class="identifier">source_rng</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="special">[</span><span class="identifier">out_it</span><span class="special">,</span> <span class="identifier">out_it</span>
+ <span class="special">+</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">source_rng</span><span class="special">))</span></code> is a valid range.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.copy_backward.complexity"></a><h6>
+<a name="id2760201"></a>
+ <a class="link" href="copy_backward.html#range.reference.algorithms.mutating.copy_backward.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">source_rng</span><span class="special">)</span></code> assignments are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="copy.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="fill.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/fill.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/fill.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>fill</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="copy_backward.html" title="copy_backward">
+<link rel="next" href="fill_n.html" title="fill_n">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="copy_backward.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="fill_n.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="fill">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2760270"></a>
+ <a class="link" href="fill.html#range.reference.algorithms.mutating.fill.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">fill</span><span class="special">(</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.fill.description"></a><h6>
+<a name="id2760410"></a>
+ <a class="link" href="fill.html#range.reference.algorithms.mutating.fill.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">fill</span></code> assigns the value
+ <code class="computeroutput"><span class="identifier">val</span></code> to every element
+ 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="id2760467"></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="id2760538"></a>
+ <a class="link" href="fill.html#range.reference.algorithms.mutating.fill.requirements">Requirements</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">AssignableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is convertible
+ to <code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.fill.complexity"></a><h6>
+<a name="id2760652"></a>
+ <a class="link" href="fill.html#range.reference.algorithms.mutating.fill.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> assignments are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="copy_backward.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="fill_n.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/fill_n.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/fill_n.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>fill_n</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="fill.html" title="fill">
+<link rel="next" href="generate.html" title="generate">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fill.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="generate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="fill_n">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2760719"></a>
+ <a class="link" href="fill_n.html#range.reference.algorithms.mutating.fill_n.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Size</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">fill</span><span class="special">(</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Size</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.fill_n.description"></a><h6>
+<a name="id2760892"></a>
+ <a class="link" href="fill_n.html#range.reference.algorithms.mutating.fill_n.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">fill_n</span></code> assigns the value
+ <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="id2760993"></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="id2761065"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">AssignableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is convertible
+ to <code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.fill_n.complexity"></a><h6>
+<a name="id2761178"></a>
+ <a class="link" href="fill_n.html#range.reference.algorithms.mutating.fill_n.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><span class="identifier">n</span></code> assignments
+ are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fill.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="generate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/generate.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/generate.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,120 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>generate</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="fill_n.html" title="fill_n">
+<link rel="next" href="inplace_merge.html" title="inplace_merge">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fill_n.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_merge.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="generate">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2761234"></a>
+ <a class="link" href="generate.html#range.reference.algorithms.mutating.generate.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Generator</span><span class="special">&gt;</span>
+<span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">generate</span><span class="special">(</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Generator</span> <span class="identifier">gen</span> <span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Generator</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">generate</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Generator</span> <span class="identifier">gen</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.generate.description"></a><h6>
+<a name="id2761475"></a>
+ <a class="link" href="generate.html#range.reference.algorithms.mutating.generate.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">generate</span></code> assigns the
+ result of <code class="computeroutput"><span class="identifier">gen</span><span class="special">()</span></code>
+ to each element in range <code class="computeroutput"><span class="identifier">rng</span></code>.
+ Returns the resultant range.
+ </p>
+<a name="range.reference.algorithms.mutating.generate.definition"></a><h6>
+<a name="id2761539"></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="id2761611"></a>
+ <a class="link" href="generate.html#range.reference.algorithms.mutating.generate.requirements">Requirements</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Generator</span></code> is a model
+ of the <code class="computeroutput"><span class="identifier">GeneratorConcept</span></code>.
+ </li>
+<li class="listitem">
+ The <code class="computeroutput"><span class="identifier">value_type</span></code> of
+ <code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ convertible to a type in <code class="computeroutput"><span class="identifier">OutputIterator</span></code>'s
+ set of value types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.generate.precondition_"></a><h6>
+<a name="id2761735"></a>
+ <a class="link" href="generate.html#range.reference.algorithms.mutating.generate.precondition_">Precondition:</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">out_it</span></code> is not an iterator
+ within <code class="computeroutput"><span class="identifier">rng</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="special">[</span><span class="identifier">out_it</span><span class="special">,</span> <span class="identifier">out_it</span>
+ <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.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.generate.complexity"></a><h6>
+<a name="id2761839"></a>
+ <a class="link" href="generate.html#range.reference.algorithms.mutating.generate.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> assignments are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="fill_n.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="inplace_merge.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/inplace_merge.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/inplace_merge.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,187 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>inplace_merge</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="generate.html" title="generate">
+<link rel="next" href="merge.html" title="merge">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="generate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="merge.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="inplace_merge">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2761907"></a>
+ <a class="link" href="inplace_merge.html#range.reference.algorithms.mutating.inplace_merge.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">&gt;</span>
+<span class="identifier">BidirectionalRange</span><span class="special">&amp;</span>
+<span class="identifier">inplace_merge</span><span class="special">(</span> <span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">BidirectionalRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">middle</span> <span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">BidirectionalRange</span><span class="special">&amp;</span>
+<span class="identifier">inplace_merge</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">BidirectionalRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">middle</span> <span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="identifier">BidirectionalRange</span><span class="special">&amp;</span>
+<span class="identifier">inplace_merge</span><span class="special">(</span> <span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">BidirectionalRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">middle</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span> <span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">BidirectionalRange</span><span class="special">&amp;</span>
+<span class="identifier">inplace_merge</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">BidirectionalRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">middle</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.inplace_merge.description"></a><h6>
+<a name="id2762471"></a>
+ <a class="link" href="inplace_merge.html#range.reference.algorithms.mutating.inplace_merge.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">inplace_merge</span></code> combines
+ two consecutive sorted ranges <code class="computeroutput"><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">middle</span><span class="special">)</span></code>
+ 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> into a single sorted range <code class="computeroutput"><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">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">))</span></code>. That is, it starts with a range <code class="computeroutput"><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">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">))</span></code> that consists o
f two pieces each of
+ which is in ascending order, and rearranges it so that the entire range
+ is in ascending order. <code class="computeroutput"><span class="identifier">inplace_merge</span></code>
+ is stable, meaning both that the relative order of elements within each
+ input range is preserved.
+ </p>
+<a name="range.reference.algorithms.mutating.inplace_merge.definition"></a><h6>
+<a name="id2762696"></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="id2762770"></a>
+ <a class="link" href="inplace_merge.html#range.reference.algorithms.mutating.inplace_merge.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate version:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is a model of the <a class="link" href="../../../concepts/bidirectional_range.html" title="Bidirectional Range">Bidirectional
+ Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">range_value</span><span class="special">&lt;</span><span class="identifier">BidirectionalRange</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is a model of <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+</li>
+<li class="listitem">
+ The ordering on objects of <code class="computeroutput"><span class="identifier">range_type</span><span class="special">&lt;</span><span class="identifier">BidirectionalRange</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate version:</strong></span> * <code class="computeroutput"><span class="identifier">BidirectionalRange</span></code> is a model of the
+ <a class="link" href="../../../concepts/bidirectional_range.html" title="Bidirectional Range">Bidirectional Range</a>
+ Concept. * <code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is mutable. * <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>
+ is a model of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ * <code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>'s
+ value type is convertible to both <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ argument types.
+ </p>
+<a name="range.reference.algorithms.mutating.inplace_merge.precondition_"></a><h6>
+<a name="id2763024"></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="id2763047"></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>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">middle</span></code> is in the range
+ <code class="computeroutput"><span class="identifier">rng</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><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">middle</span><span class="special">)</span></code> is in ascending order. That is for
+ each pair of adjacent elements <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">y</span> <span class="special">&lt;</span>
+ <span class="identifier">x</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>.
+ </li>
+<li class="listitem">
+<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> is in ascending order. That is for
+ each pair of adjacent elements <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">y</span> <span class="special">&lt;</span>
+ <span class="identifier">x</span></code> is <code class="computeroutput"><span class="keyword">false</span></code>.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.inplace_merge.for_the_predicate_version_"></a><h6>
+<a name="id2763308"></a>
+ <a class="link" href="inplace_merge.html#range.reference.algorithms.mutating.inplace_merge.for_the_predicate_version_">For
+ the predicate version:</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">middle</span></code> is in the range
+ <code class="computeroutput"><span class="identifier">rng</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><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">middle</span><span class="special">)</span></code> is in ascending order. That is for
+ each pair of adjacent elements <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>.
+ </li>
+<li class="listitem">
+<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> is in ascending order. That is for
+ each pair of adjacent elements <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>.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.inplace_merge.complexity"></a><h6>
+<a name="id2763590"></a>
+ <a class="link" href="inplace_merge.html#range.reference.algorithms.mutating.inplace_merge.complexity">Complexity</a>
+ </h6>
+<p>
+ Worst case: <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span> <span class="identifier">log</span><span class="special">(</span><span class="identifier">N</span><span class="special">))</span></code>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="generate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="merge.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/merge.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/merge.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,246 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>merge</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="inplace_merge.html" title="inplace_merge">
+<link rel="next" href="nth_element.html" title="nth_element">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inplace_merge.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="nth_element.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="merge">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2763672"></a>
+ <a class="link" href="merge.html#range.reference.algorithms.mutating.merge.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span>
+ <span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">merge</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">merge</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.merge.description"></a><h6>
+<a name="id2764022"></a>
+ <a class="link" href="merge.html#range.reference.algorithms.mutating.merge.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">merge</span></code> combines two sorted
+ ranges <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code> into a single sorted range by
+ copying elements. <code class="computeroutput"><span class="identifier">merge</span></code>
+ is stable. The return value is <code class="computeroutput"><span class="identifier">out</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="special">+</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">)</span></code>.
+ </p>
+<p>
+ The two versions of <code class="computeroutput"><span class="identifier">merge</span></code>
+ differ by how they compare the elements.
+ </p>
+<p>
+ The non-predicate version uses the <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;()</span></code> for the range value type. The predicate
+ 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="id2764202"></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="id2764275"></a>
+ <a class="link" href="merge.html#range.reference.algorithms.mutating.merge.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate version:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">range_value</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the same as <code class="computeroutput"><span class="identifier">range_value</span><span class="special">&lt;</span><span class="identifier">SinglePassRange2</span><span class="special">&gt;::</span><span class="identifier">type</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">range_value</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering on objects of <code class="computeroutput"><span class="identifier">range_value</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
+ is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">range_value</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is convertible to a type in
+ <code class="computeroutput"><span class="identifier">OutputIterator</span></code>'s set
+ of value types.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate version:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">range_value</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is the same as <code class="computeroutput"><span class="identifier">range_value</span><span class="special">&lt;</span><span class="identifier">SinglePassRange2</span><span class="special">&gt;::</span><span class="identifier">type</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is convertible to both <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ argument types.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">range_value</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span></code> is convertible to a type in
+ <code class="computeroutput"><span class="identifier">OutputIterator</span></code>'s set
+ of value types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.merge.precondition_"></a><h6>
+<a name="id2764778"></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="id2764802"></a>
+ <a class="link" href="merge.html#range.reference.algorithms.mutating.merge.for_the_non_predicate_version_">For
+ the non-predicate version:</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ The elements of <code class="computeroutput"><span class="identifier">rng1</span></code>
+ are in ascending order. That is, for each adjacent element pair <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> of <code class="computeroutput"><span class="identifier">rng1</span></code>,
+ <code class="computeroutput"><span class="identifier">y</span> <span class="special">&lt;</span>
+ <span class="identifier">x</span> <span class="special">==</span>
+ <span class="keyword">false</span></code>.
+ </li>
+<li class="listitem">
+ The elements of <code class="computeroutput"><span class="identifier">rng2</span></code>
+ are in ascending order. That is, for each adjacent element pair <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> of <code class="computeroutput"><span class="identifier">rng2</span></code>,
+ <code class="computeroutput"><span class="identifier">y</span> <span class="special">&lt;</span>
+ <span class="identifier">x</span> <span class="special">==</span>
+ <span class="keyword">false</span></code>.
+ </li>
+<li class="listitem">
+ The ranges <code class="computeroutput"><span class="identifier">rng1</span></code> and
+ <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">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">))</span></code>
+ do not overlap.
+ </li>
+<li class="listitem">
+ The ranges <code class="computeroutput"><span class="identifier">rng2</span></code> and
+ <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">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">))</span></code>
+ do not overlap.
+ </li>
+<li class="listitem">
+<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">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">))</span></code>
+ is a valid range.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.merge.for_the_predicate_version_"></a><h6>
+<a name="id2765262"></a>
+ <a class="link" href="merge.html#range.reference.algorithms.mutating.merge.for_the_predicate_version_">For
+ the predicate version:</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ The elements of <code class="computeroutput"><span class="identifier">rng1</span></code>
+ are in ascending order. That is, for each adjacent element pair <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>, of <code class="computeroutput"><span class="identifier">rng1</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>.
+ </li>
+<li class="listitem">
+ The elements of <code class="computeroutput"><span class="identifier">rng2</span></code>
+ are in ascending order. That is, for each adjacent element pair <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>, of <code class="computeroutput"><span class="identifier">rng2</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>.
+ </li>
+<li class="listitem">
+ The ranges <code class="computeroutput"><span class="identifier">rng1</span></code> and
+ <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">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">))</span></code>
+ do not overlap.
+ </li>
+<li class="listitem">
+ The ranges <code class="computeroutput"><span class="identifier">rng2</span></code> and
+ <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">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">))</span></code>
+ do not overlap.
+ </li>
+<li class="listitem">
+<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">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">))</span></code>
+ is a valid range.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.merge.complexity"></a><h6>
+<a name="id2765744"></a>
+ <a class="link" href="merge.html#range.reference.algorithms.mutating.merge.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. There are no comparisons if both <code class="computeroutput"><span class="identifier">rng1</span></code>
+ and <code class="computeroutput"><span class="identifier">rng2</span></code> are empty, otherwise
+ at most <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span> <span class="special">+</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span></code>
+ comparisons.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inplace_merge.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="nth_element.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/nth_element.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/nth_element.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,151 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>nth_element</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="merge.html" title="merge">
+<link rel="next" href="partial_sort.html" title="partial_sort">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="merge.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="partial_sort.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="nth_element">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2765870"></a>
+ <a class="link" href="nth_element.html#range.reference.algorithms.mutating.nth_element.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">nth_element</span><span class="special">(</span>
+ <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">RandomAccessRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">nth</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">nth_element</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">nth</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">nth_element</span><span class="special">(</span>
+ <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">RandomAccessRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">nth</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">sort_pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">nth_element</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">nth</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">sort_pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.nth_element.description"></a><h6>
+<a name="id2766396"></a>
+ <a class="link" href="nth_element.html#range.reference.algorithms.mutating.nth_element.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">nth_element</span></code> partially
+ orders a range of elements. <code class="computeroutput"><span class="identifier">nth_element</span></code>
+ arranges the range <code class="computeroutput"><span class="identifier">rng</span></code>
+ such that the element corresponding with the iterator <code class="computeroutput"><span class="identifier">nth</span></code>
+ 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="id2766478"></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="id2766552"></a>
+ <a class="link" href="nth_element.html#range.reference.algorithms.mutating.nth_element.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate version:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering relation on <code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate version:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is convertible to both of <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.nth_element.complexity"></a><h6>
+<a name="id2766785"></a>
+ <a class="link" href="nth_element.html#range.reference.algorithms.mutating.nth_element.complexity">Complexity</a>
+ </h6>
+<p>
+ On average, linear in <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="merge.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="partial_sort.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/partial_sort.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/partial_sort.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,156 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>partial_sort</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="nth_element.html" title="nth_element">
+<link rel="next" href="partition.html" title="partition">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nth_element.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="partition.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="partial_sort">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2766852"></a>
+ <a class="link" href="partial_sort.html#range.reference.algorithms.mutating.partial_sort.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">partial_sort</span><span class="special">(</span>
+ <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">RandomAccessRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">middle</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">partial_sort</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">middle</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">partial_sort</span><span class="special">(</span>
+ <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">RandomAccessRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">middle</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">sort_pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">partial_sort</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">middle</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">sort_pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.partial_sort.description"></a><h6>
+<a name="id2767380"></a>
+ <a class="link" href="partial_sort.html#range.reference.algorithms.mutating.partial_sort.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">partial_sort</span></code> rearranges
+ the elements in <code class="computeroutput"><span class="identifier">rng</span></code>.
+ It places the smallest <code class="computeroutput"><span class="identifier">distance</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">middle</span><span class="special">)</span></code> elements, sorted in ascending order,
+ into the range <code class="computeroutput"><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">middle</span><span class="special">)</span></code>. The remaining elements are placed in
+ an unspecified order into <code class="computeroutput"><span class="special">[</span><span class="identifier">middle</span><span class="special">,</span> <span class="identifier">last</span><span class="special">)</span></code>.
+ </p>
+<p>
+ The non-predicative versions of this function specify that one element
+ is less than another by using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;()</span></code>. The predicate versions use the
+ predicate instead.
+ </p>
+<a name="range.reference.algorithms.mutating.partial_sort.definition"></a><h6>
+<a name="id2767563"></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="id2767637"></a>
+ <a class="link" href="partial_sort.html#range.reference.algorithms.mutating.partial_sort.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate version:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering relation on <code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate version:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is convertible to both of <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.partial_sort.complexity"></a><h6>
+<a name="id2767872"></a>
+ <a class="link" href="partial_sort.html#range.reference.algorithms.mutating.partial_sort.complexity">Complexity</a>
+ </h6>
+<p>
+ Approximately <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">log</span><span class="special">(</span><span class="identifier">distance</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">middle</span><span class="special">))</span></code> comparisons.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="nth_element.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="partition.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/partition.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/partition.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,132 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>partition</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="partial_sort.html" title="partial_sort">
+<link rel="next" href="random_shuffle.html" title="random_shuffle">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="partial_sort.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="random_shuffle.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="partition">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2767991"></a>
+ <a class="link" href="partition.html#range.reference.algorithms.mutating.partition.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">partition</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">partition</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">partition</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">partition</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.partition.description"></a><h6>
+<a name="id2768575"></a>
+ <a class="link" href="partition.html#range.reference.algorithms.mutating.partition.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">partition</span></code> orders the
+ elements in <code class="computeroutput"><span class="identifier">rng</span></code> based
+ on <code class="computeroutput"><span class="identifier">pred</span></code>, such that the
+ elements that satisfy <code class="computeroutput"><span class="identifier">pred</span></code>
+ precede the elements that do not. In the versions that return a single
+ iterator, the return value is the middle iterator. In the versions that
+ have a configurable range_return, <code class="computeroutput"><span class="identifier">found</span></code>
+ corresponds to the middle iterator.
+ </p>
+<a name="range.reference.algorithms.mutating.partition.definition"></a><h6>
+<a name="id2768659"></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="id2768731"></a>
+ <a class="link" href="partition.html#range.reference.algorithms.mutating.partition.requirements">Requirements</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">UnaryPredicate</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">PredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">UnaryPredicate</span></code>'s
+ argument type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.partition.complexity"></a><h6>
+<a name="id2768829"></a>
+ <a class="link" href="partition.html#range.reference.algorithms.mutating.partition.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> applications of <code class="computeroutput"><span class="identifier">pred</span></code>,
+ and at most <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span> <span class="special">/</span> <span class="number">2</span></code>
+ swaps.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="partial_sort.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="random_shuffle.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/random_shuffle.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/random_shuffle.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,132 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>random_shuffle</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="partition.html" title="partition">
+<link rel="next" href="remove.html" title="remove">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="partition.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="random_shuffle">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2768944"></a>
+ <a class="link" href="random_shuffle.html#range.reference.algorithms.mutating.random_shuffle.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">random_shuffle</span><span class="special">(</span><span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">random_shuffle</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Generator</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">random_shuffle</span><span class="special">(</span><span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Generator</span><span class="special">&amp;</span> <span class="identifier">gen</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Generator</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">random_shuffle</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Generator</span><span class="special">&amp;</span> <span class="identifier">gen</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.random_shuffle.description"></a><h6>
+<a name="id2769334"></a>
+ <a class="link" href="random_shuffle.html#range.reference.algorithms.mutating.random_shuffle.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">random_shuffle</span></code> randomly
+ rearranges the elements in <code class="computeroutput"><span class="identifier">rng</span></code>.
+ The versions of <code class="computeroutput"><span class="identifier">random_shuffle</span></code>
+ that do not specify a <code class="computeroutput"><span class="identifier">Generator</span></code>
+ use an internal random number generator. The versions of <code class="computeroutput"><span class="identifier">random_shuffle</span></code> that do specify a <code class="computeroutput"><span class="identifier">Generator</span></code> use this instead. Returns
+ the shuffles range.
+ </p>
+<a name="range.reference.algorithms.mutating.random_shuffle.definition"></a><h6>
+<a name="id2769429"></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="id2769502"></a>
+ <a class="link" href="random_shuffle.html#range.reference.algorithms.mutating.random_shuffle.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the version without a Generator:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc"><li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li></ul></div>
+<p>
+ <span class="bold"><strong>For the version with a Generator:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Generator</span></code> is a model
+ of the <code class="computeroutput"><span class="identifier">RandomNumberGeneratorConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ distance type is convertible to <code class="computeroutput"><span class="identifier">Generator</span></code>'s
+ argument type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.random_shuffle.precondition_"></a><h6>
+<a name="id2769647"></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">
+<code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ is less than <code class="computeroutput"><span class="identifier">gen</span></code>'s
+ maximum value.
+ </li></ul></div>
+<a name="range.reference.algorithms.mutating.random_shuffle.complexity"></a><h6>
+<a name="id2769712"></a>
+ <a class="link" href="random_shuffle.html#range.reference.algorithms.mutating.random_shuffle.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. If <code class="computeroutput"><span class="special">!</span><span class="identifier">empty</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>, exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span></code>
+ swaps are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="partition.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,138 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>remove</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="random_shuffle.html" title="random_shuffle">
+<link rel="next" href="remove_copy.html" title="remove_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="random_shuffle.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_copy.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="remove">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2769819"></a>
+ <a class="link" href="remove.html#range.reference.algorithms.mutating.remove.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">remove</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">remove</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span><span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">remove</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">,</span><span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">remove</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.remove.description"></a><h6>
+<a name="id2770441"></a>
+ <a class="link" href="remove.html#range.reference.algorithms.mutating.remove.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">remove</span></code> removes from
+ <code class="computeroutput"><span class="identifier">rng</span></code> all of the elements
+ <code class="computeroutput"><span class="identifier">x</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">true</span></code>.
+ The versions of <code class="computeroutput"><span class="identifier">remove</span></code>
+ that return an iterator, return an iterator <code class="computeroutput"><span class="identifier">new_last</span></code>
+ such that the range <code class="computeroutput"><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">new_last</span><span class="special">)</span></code> contains no elements equal to <code class="computeroutput"><span class="identifier">val</span></code>. The <code class="computeroutput"><span class="identifier">range_return</span></code>
+ versions of <code class="computeroutput"><span class="identifier">remove</span></code> defines
+ <code class="computeroutput"><span class="identifier">found</span></code> as the new last
+ element. The iterators in the range <code class="computeroutput"><span class="special">[</span><span class="identifier">new_last</span><span class="special">,</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">))</span></code>
+ are dereferenceable, but the elements are unspecified.
+ </p>
+<a name="range.reference.algorithms.mutating.remove.definition"></a><h6>
+<a name="id2770676"></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="id2770748"></a>
+ <a class="link" href="remove.html#range.reference.algorithms.mutating.remove.requirements">Requirements</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ Objects of type <code class="computeroutput"><span class="identifier">Value</span></code>
+ can be compared for equality with objects of <code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s
+ value type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.remove.complexity"></a><h6>
+<a name="id2770863"></a>
+ <a class="link" href="remove.html#range.reference.algorithms.mutating.remove.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">remove</span></code> performs
+ exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ comparisons for equality.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="random_shuffle.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_copy.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>remove_copy</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="remove.html" title="remove">
+<link rel="next" href="remove_copy_if.html" title="remove_copy_if">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_copy_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="remove_copy">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2770942"></a>
+ <a class="link" href="remove_copy.html#range.reference.algorithms.mutating.remove_copy.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Outputiterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span>
+<span class="identifier">remove_copy</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span>
+<span class="identifier">remove_copy</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.remove_copy.description"></a><h6>
+<a name="id2771247"></a>
+ <a class="link" href="remove_copy.html#range.reference.algorithms.mutating.remove_copy.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">remove_copy</span></code> copied all
+ of the elements <code class="computeroutput"><span class="identifier">x</span></code> from
+ <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="id2771337"></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="id2771411"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ Objects of type <code class="computeroutput"><span class="identifier">Value</span></code>
+ can be compared for equality with objects of <code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s
+ value type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.remove_copy.complexity"></a><h6>
+<a name="id2771524"></a>
+ <a class="link" href="remove_copy.html#range.reference.algorithms.mutating.remove_copy.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">remove_copy</span></code> performs
+ exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ comparisons for equality.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remove.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_copy_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy_if.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy_if.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>remove_copy_if</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="remove_copy.html" title="remove_copy">
+<link rel="next" href="remove_if.html" title="remove_if">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remove_copy.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="remove_copy_if">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2771605"></a>
+ <a class="link" href="remove_copy_if.html#range.reference.algorithms.mutating.remove_copy_if.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Outputiterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">UnaryPred</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span>
+<span class="identifier">remove_copy_if</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">,</span> <span class="identifier">UnaryPred</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">UnaryPred</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span>
+<span class="identifier">remove_copy_if</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">,</span> <span class="identifier">UnaryPred</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.remove_copy_if.description"></a><h6>
+<a name="id2771891"></a>
+ <a class="link" href="remove_copy_if.html#range.reference.algorithms.mutating.remove_copy_if.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">remove_copy_if</span></code> copied
+ all of the elements <code class="computeroutput"><span class="identifier">x</span></code>
+ from <code class="computeroutput"><span class="identifier">rng</span></code> for which <code class="computeroutput"><span class="identifier">pred</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ 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="id2771984"></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="id2772056"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">UnaryPred</span></code> is a model
+ of the <code class="computeroutput"><span class="identifier">UnaryPredicateConcept</span></code>.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.remove_copy_if.complexity"></a><h6>
+<a name="id2772145"></a>
+ <a class="link" href="remove_copy_if.html#range.reference.algorithms.mutating.remove_copy_if.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">remove_copy_if</span></code>
+ performs exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> comparisons with UnaryPred.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remove_copy.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove_if.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove_if.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,137 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>remove_if</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="remove_copy_if.html" title="remove_copy_if">
+<link rel="next" href="replace.html" title="replace">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remove_copy_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="remove_if">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2772224"></a>
+ <a class="link" href="remove_if.html#range.reference.algorithms.mutating.remove_if.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">remove</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">remove</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span><span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">remove</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">,</span><span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">remove</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.remove_if.description"></a><h6>
+<a name="id2772806"></a>
+ <a class="link" href="remove_if.html#range.reference.algorithms.mutating.remove_if.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">remove_if</span></code> removes from
+ <code class="computeroutput"><span class="identifier">rng</span></code> all of the elements
+ <code class="computeroutput"><span class="identifier">x</span></code> for which <code class="computeroutput"><span class="identifier">pred</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ is <code class="computeroutput"><span class="keyword">true</span></code>. The versions of
+ <code class="computeroutput"><span class="identifier">remove_if</span></code> that return
+ an iterator, return an iterator <code class="computeroutput"><span class="identifier">new_last</span></code>
+ such that the range <code class="computeroutput"><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">new_last</span><span class="special">)</span></code> contains no elements where <code class="computeroutput"><span class="identifier">pred</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ is <code class="computeroutput"><span class="keyword">true</span></code>. The iterators in
+ the range <code class="computeroutput"><span class="special">[</span><span class="identifier">new_last</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">))</span></code> are dereferenceable, but the elements
+ are unspecified.
+ </p>
+<a name="range.reference.algorithms.mutating.remove_if.definition"></a><h6>
+<a name="id2773037"></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="id2773109"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">UnaryPredicate</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">PredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">UnaryPredicate</span></code>'s
+ argument type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.remove_if.complexity"></a><h6>
+<a name="id2773224"></a>
+ <a class="link" href="remove_if.html#range.reference.algorithms.mutating.remove_if.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">remove_if</span></code> performs
+ exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ applications of <code class="computeroutput"><span class="identifier">pred</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remove_copy_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,118 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>replace</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="remove_if.html" title="remove_if">
+<link rel="next" href="replace_copy.html" title="replace_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remove_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace_copy.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="replace">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2773314"></a>
+ <a class="link" href="replace.html#range.reference.algorithms.mutating.replace.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span>
+ <span class="special">&gt;</span>
+<span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">replace</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">what</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">with_what</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">replace</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">what</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">with_what</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.replace.description"></a><h6>
+<a name="id2773628"></a>
+ <a class="link" href="replace.html#range.reference.algorithms.mutating.replace.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">replace</span></code> every element
+ in <code class="computeroutput"><span class="identifier">rng</span></code> equal to <code class="computeroutput"><span class="identifier">what</span></code> with <code class="computeroutput"><span class="identifier">with_what</span></code>.
+ 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="id2773709"></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="id2773781"></a>
+ <a class="link" href="replace.html#range.reference.algorithms.mutating.replace.requirements">Requirements</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is convertible
+ to <code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">AssignableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>,
+ and may be compared for equality with objects of <code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s
+ value type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.replace.complexity"></a><h6>
+<a name="id2773931"></a>
+ <a class="link" href="replace.html#range.reference.algorithms.mutating.replace.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">replace</span></code> performs
+ exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ comparisons for equality and at most <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> assignments.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remove_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace_copy.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,112 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>replace_copy</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="replace.html" title="replace">
+<link rel="next" href="replace_copy_if.html" title="replace_copy_if">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace_copy_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="replace_copy">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2774036"></a>
+ <a class="link" href="replace_copy.html#range.reference.algorithms.mutating.replace_copy.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">replace_copy</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">what</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">with_what</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.replace_copy.description"></a><h6>
+<a name="id2774236"></a>
+ <a class="link" href="replace_copy.html#range.reference.algorithms.mutating.replace_copy.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">replace_copy</span></code> copy every
+ element <code class="computeroutput"><span class="identifier">x</span></code> in <code class="computeroutput"><span class="identifier">rng</span></code> such that the corresponding element
+ in the output range <code class="computeroutput"><span class="identifier">y</span></code>
+ is <code class="computeroutput"><span class="identifier">x</span> <span class="special">==</span>
+ <span class="identifier">what</span> <span class="special">?</span>
+ <span class="identifier">with_what</span> <span class="special">:</span>
+ <span class="identifier">x</span></code>.
+ </p>
+<a name="range.reference.algorithms.mutating.replace_copy.definition"></a><h6>
+<a name="id2774350"></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="id2774423"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is convertible
+ to <code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">AssignableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.replace_copy.complexity"></a><h6>
+<a name="id2774563"></a>
+ <a class="link" href="replace_copy.html#range.reference.algorithms.mutating.replace_copy.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">replace_copy</span></code>
+ performs exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace_copy_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy_if.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy_if.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,114 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>replace_copy_if</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="replace_copy.html" title="replace_copy">
+<link rel="next" href="replace_if.html" title="replace_if">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_copy.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="replace_copy_if">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2774643"></a>
+ <a class="link" href="replace_copy_if.html#range.reference.algorithms.mutating.replace_copy_if.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">replace_copy_if</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">,</span>
+ <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">with_what</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.replace_copy_if.description"></a><h6>
+<a name="id2774848"></a>
+ <a class="link" href="replace_copy_if.html#range.reference.algorithms.mutating.replace_copy_if.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">replace_copy_if</span></code> copy
+ every element <code class="computeroutput"><span class="identifier">x</span></code> in <code class="computeroutput"><span class="identifier">rng</span></code> such that the corresponding element
+ in the output range <code class="computeroutput"><span class="identifier">y</span></code>
+ is <code class="computeroutput"><span class="identifier">pred</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">?</span> <span class="identifier">with_what</span>
+ <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="id2774964"></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="id2775038"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is convertible
+ to <code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">AssignableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">UnaryPredicate</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">UnaryPredicateConcept</span></code>.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.replace_copy_if.complexity"></a><h6>
+<a name="id2775204"></a>
+ <a class="link" href="replace_copy_if.html#range.reference.algorithms.mutating.replace_copy_if.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">replace_copy_if</span></code>
+ performs exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> evaluations of <code class="computeroutput"><span class="identifier">pred</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_copy.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="replace_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace_if.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace_if.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,117 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>replace_if</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="replace_copy_if.html" title="replace_copy_if">
+<link rel="next" href="reverse.html" title="reverse">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_copy_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="replace_if">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2775295"></a>
+ <a class="link" href="replace_if.html#range.reference.algorithms.mutating.replace_if.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">replace_if</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">with_what</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">replace_if</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">with_what</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.replace_if.description"></a><h6>
+<a name="id2775615"></a>
+ <a class="link" href="replace_if.html#range.reference.algorithms.mutating.replace_if.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">replace_if</span></code> replaces every
+ element <code class="computeroutput"><span class="identifier">x</span></code> in <code class="computeroutput"><span class="identifier">rng</span></code> for which <code class="computeroutput"><span class="identifier">pred</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span> <span class="special">==</span> <span class="keyword">true</span></code> with <code class="computeroutput"><span class="identifier">with_what</span></code>.
+ 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="id2775731"></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="id2775803"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">UnaryPredicate</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">PredicateConcept</span></code>
+</li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">UnaryPredicate</span></code>'s
+ argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is convertible
+ to <code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">AssignableConcept</span></code>.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.replace_if.complexity"></a><h6>
+<a name="id2775970"></a>
+ <a class="link" href="replace_if.html#range.reference.algorithms.mutating.replace_if.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">replace_if</span></code> performs
+ exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ applications of <code class="computeroutput"><span class="identifier">pred</span></code>,
+ and at most <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> assignments.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_copy_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reverse.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/reverse.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/reverse.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>reverse</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="replace_if.html" title="replace_if">
+<link rel="next" href="reverse_copy.html" title="reverse_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_copy.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="reverse">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2776083"></a>
+ <a class="link" href="reverse.html#range.reference.algorithms.mutating.reverse.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">&gt;</span>
+<span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">reverse</span><span class="special">(</span><span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">reverse</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.reverse.description"></a><h6>
+<a name="id2776258"></a>
+ <a class="link" href="reverse.html#range.reference.algorithms.mutating.reverse.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">reverse</span></code> reverses a range.
+ Returns a reference to the reversed range.
+ </p>
+<a name="range.reference.algorithms.mutating.reverse.definition"></a><h6>
+<a name="id2776296"></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="id2776368"></a>
+ <a class="link" href="reverse.html#range.reference.algorithms.mutating.reverse.requirements">Requirements</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is a model of the <a class="link" href="../../../concepts/bidirectional_range.html" title="Bidirectional Range">Bidirectional
+ Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is mutable.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.reverse.complexity"></a><h6>
+<a name="id2776430"></a>
+ <a class="link" href="reverse.html#range.reference.algorithms.mutating.reverse.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">reverse</span></code> makes
+ <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)/</span><span class="number">2</span></code> calls to <code class="computeroutput"><span class="identifier">iter_swap</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="replace_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="reverse_copy.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/reverse_copy.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/reverse_copy.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,101 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>reverse_copy</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="reverse.html" title="reverse">
+<link rel="next" href="rotate.html" title="rotate">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rotate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="reverse_copy">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2776527"></a>
+ <a class="link" href="reverse_copy.html#range.reference.algorithms.mutating.reverse_copy.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">reverse_copy</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.reverse_copy.description"></a><h6>
+<a name="id2776658"></a>
+ <a class="link" href="reverse_copy.html#range.reference.algorithms.mutating.reverse_copy.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">reverse_copy</span></code> copies the
+ elements from <code class="computeroutput"><span class="identifier">rng</span></code> in
+ reverse order to <code class="computeroutput"><span class="identifier">out</span></code>.
+ Returns the output iterator one passed the last copied element.
+ </p>
+<a name="range.reference.algorithms.mutating.reverse_copy.definition"></a><h6>
+<a name="id2776718"></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="id2776790"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is a model of the <a class="link" href="../../../concepts/bidirectional_range.html" title="Bidirectional Range">Bidirectional
+ Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.reverse_copy.complexity"></a><h6>
+<a name="id2776879"></a>
+ <a class="link" href="reverse_copy.html#range.reference.algorithms.mutating.reverse_copy.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">reverse_copy</span></code>
+ makes <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ copies.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reverse.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rotate.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/rotate.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/rotate.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,109 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>rotate</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="reverse_copy.html" title="reverse_copy">
+<link rel="next" href="rotate_copy.html" title="rotate_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reverse_copy.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rotate_copy.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="rotate">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2776957"></a>
+ <a class="link" href="rotate.html#range.reference.algorithms.mutating.rotate.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">&gt;</span>
+<span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rotate</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">middle</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rotate</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">middle</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.rotate.description"></a><h6>
+<a name="id2777218"></a>
+ <a class="link" href="rotate.html#range.reference.algorithms.mutating.rotate.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">rotate</span></code> rotates the elements
+ in a range. It exchanges the two ranges <code class="computeroutput"><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">middle</span><span class="special">)</span></code>
+ 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="id2777343"></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="id2777416"></a>
+ <a class="link" href="rotate.html#range.reference.algorithms.mutating.rotate.requirements">Requirements</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.rotate.precondition_"></a><h6>
+<a name="id2777478"></a>
+ <a class="link" href="rotate.html#range.reference.algorithms.mutating.rotate.precondition_">Precondition:</a>
+ </h6>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><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">middle</span><span class="special">)</span></code> is a valid range.
+ </li>
+<li class="listitem">
+<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> is a valid range.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.rotate.complexity"></a><h6>
+<a name="id2777588"></a>
+ <a class="link" href="rotate.html#range.reference.algorithms.mutating.rotate.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. At most <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> swaps are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="reverse_copy.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="rotate_copy.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/rotate_copy.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/rotate_copy.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,112 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>rotate_copy</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="rotate.html" title="rotate">
+<link rel="next" href="sort.html" title="sort">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rotate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="sort.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="rotate_copy">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2777656"></a>
+ <a class="link" href="rotate_copy.html#range.reference.algorithms.mutating.rotate_copy.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">rotate_copy</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">middle</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.rotate_copy.description"></a><h6>
+<a name="id2777827"></a>
+ <a class="link" href="rotate_copy.html#range.reference.algorithms.mutating.rotate_copy.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">rotate_copy</span></code> rotates the
+ elements in a range. It copies the two ranges <code class="computeroutput"><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">middle</span><span class="special">)</span></code>
+ 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="id2777950"></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="id2778025"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.rotate_copy.precondition_"></a><h6>
+<a name="id2778113"></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">
+<li class="listitem">
+<code class="computeroutput"><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">middle</span><span class="special">)</span></code> is a valid range.
+ </li>
+<li class="listitem">
+<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> is a valid range.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.rotate_copy.complexity"></a><h6>
+<a name="id2778223"></a>
+ <a class="link" href="rotate_copy.html#range.reference.algorithms.mutating.rotate_copy.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> elements are copied.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rotate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="sort.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/sort.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/sort.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,153 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>sort</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="rotate_copy.html" title="rotate_copy">
+<link rel="next" href="stable_partition.html" title="stable_partition">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rotate_copy.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="stable_partition.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="sort">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2778291"></a>
+ <a class="link" href="sort.html#range.reference.algorithms.mutating.sort.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">sort</span><span class="special">(</span><span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">sort</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">sort</span><span class="special">(</span><span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">sort</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.sort.description"></a><h6>
+<a name="id2778670"></a>
+ <a class="link" href="sort.html#range.reference.algorithms.mutating.sort.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">sort</span></code> sorts the elements
+ in <code class="computeroutput"><span class="identifier">rng</span></code> into ascending
+ order. <code class="computeroutput"><span class="identifier">sort</span></code> is not guaranteed
+ to be stable. Returns the sorted range.
+ </p>
+<p>
+ For versions of the <code class="computeroutput"><span class="identifier">sort</span></code>
+ function without a predicate, ascending order is defined by <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;()</span></code>
+ such that for all adjacent elements <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">y</span> <span class="special">&lt;</span>
+ <span class="identifier">x</span> <span class="special">==</span>
+ <span class="keyword">false</span></code>.
+ </p>
+<p>
+ For versions of the <code class="computeroutput"><span class="identifier">sort</span></code>
+ function with a predicate, ascending order is defined by <code class="computeroutput"><span class="identifier">pred</span></code> such that for all adjacent elements
+ <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="id2778924"></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="id2778996"></a>
+ <a class="link" href="sort.html#range.reference.algorithms.mutating.sort.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For versions of sort without a predicate:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering relation on <code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a <span class="bold"><strong>strict weak ordering</strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For versions of sort with a predicate</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is convertible to both of <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.sort.complexity"></a><h6>
+<a name="id2779231"></a>
+ <a class="link" href="sort.html#range.reference.algorithms.mutating.sort.complexity">Complexity</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span> <span class="identifier">log</span><span class="special">(</span><span class="identifier">N</span><span class="special">))</span></code> comparisons (both average and worst-case),
+ where <code class="computeroutput"><span class="identifier">N</span></code> is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="rotate_copy.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="stable_partition.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/stable_partition.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/stable_partition.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,135 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stable_partition</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="sort.html" title="sort">
+<link rel="next" href="stable_sort.html" title="stable_sort">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sort.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="stable_sort.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="stable_partition">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2779348"></a>
+ <a class="link" href="stable_partition.html#range.reference.algorithms.mutating.stable_partition.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">stable_partition</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">stable_partition</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span>
+<span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">stable_partition</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span>
+<span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">stable_partition</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.stable_partition.description"></a><h6>
+<a name="id2779928"></a>
+ <a class="link" href="stable_partition.html#range.reference.algorithms.mutating.stable_partition.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">stable_partition</span></code> reorders
+ the elements in the range <code class="computeroutput"><span class="identifier">rng</span></code>
+ base on the function object <code class="computeroutput"><span class="identifier">pred</span></code>.
+ Once this function has completed all of the elements that satisfy <code class="computeroutput"><span class="identifier">pred</span></code> appear before all of the elements
+ that fail to satisfy it. <code class="computeroutput"><span class="identifier">stable_partition</span></code>
+ differs from <code class="computeroutput"><span class="identifier">partition</span></code>
+ because it preserves relative order. It is stable.
+ </p>
+<p>
+ For the versions that return an iterator, the return value is the iterator
+ to the first element that fails to satisfy <code class="computeroutput"><span class="identifier">pred</span></code>.
+ </p>
+<p>
+ For versions that return a <code class="computeroutput"><span class="identifier">range_return</span></code>,
+ the <code class="computeroutput"><span class="identifier">found</span></code> iterator is
+ 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="id2780079"></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="id2780152"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">UnaryPredicate</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">PredicateConcept</span></code>.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.stable_partition.complexity"></a><h6>
+<a name="id2780241"></a>
+ <a class="link" href="stable_partition.html#range.reference.algorithms.mutating.stable_partition.complexity">Complexity</a>
+ </h6>
+<p>
+ Best case: <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span><span class="special">)</span></code>
+ where <code class="computeroutput"><span class="identifier">N</span></code> is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ Worst case: <code class="computeroutput"><span class="identifier">N</span> <span class="special">*</span>
+ <span class="identifier">log</span><span class="special">(</span><span class="identifier">N</span><span class="special">)</span></code>
+ swaps, where <code class="computeroutput"><span class="identifier">N</span></code> is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sort.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="stable_sort.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/stable_sort.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/stable_sort.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,157 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>stable_sort</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="stable_partition.html" title="stable_partition">
+<link rel="next" href="swap_ranges.html" title="swap_ranges">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stable_partition.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="swap_ranges.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="stable_sort">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2780414"></a>
+ <a class="link" href="stable_sort.html#range.reference.algorithms.mutating.stable_sort.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">stable_sort</span><span class="special">(</span><span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">stable_sort</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">stable_sort</span><span class="special">(</span><span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">RandomAccessRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">stable_sort</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">RandomAccessRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.stable_sort.description"></a><h6>
+<a name="id2780795"></a>
+ <a class="link" href="stable_sort.html#range.reference.algorithms.mutating.stable_sort.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">stable_sort</span></code> sorts the
+ elements in <code class="computeroutput"><span class="identifier">rng</span></code> into
+ ascending order. <code class="computeroutput"><span class="identifier">stable_sort</span></code>
+ is guaranteed to be stable. The order is preserved for equivalent elements.
+ </p>
+<p>
+ For versions of the <code class="computeroutput"><span class="identifier">stable_sort</span></code>
+ function without a predicate ascending order is defined by <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;()</span></code>
+ such that for all adjacent elements <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">y</span> <span class="special">&lt;</span>
+ <span class="identifier">x</span> <span class="special">==</span>
+ <span class="keyword">false</span></code>.
+ </p>
+<p>
+ For versions of the <code class="computeroutput"><span class="identifier">stable_sort</span></code>
+ function with a predicate, ascending order is designed by <code class="computeroutput"><span class="identifier">pred</span></code> such that for all adjacent elements
+ <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="id2781046"></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="id2781119"></a>
+ <a class="link" href="stable_sort.html#range.reference.algorithms.mutating.stable_sort.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For versions of stable_sort without a predicate</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering relation on <code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is a <span class="bold"><strong>strict weak ordering</strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For versions of stable_sort with a predicate:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">RandomAccessRange</span></code>'s
+ value type is convertible to both of <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.stable_sort.complexity"></a><h6>
+<a name="id2781354"></a>
+ <a class="link" href="stable_sort.html#range.reference.algorithms.mutating.stable_sort.complexity">Complexity</a>
+ </h6>
+<p>
+ Best case: <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span><span class="special">)</span></code>
+ where <code class="computeroutput"><span class="identifier">N</span></code> is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ Worst case: <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span> <span class="identifier">log</span><span class="special">(</span><span class="identifier">N</span><span class="special">)^</span><span class="number">2</span><span class="special">)</span></code>
+ comparisons, where <code class="computeroutput"><span class="identifier">N</span></code>
+ is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stable_partition.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="swap_ranges.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/swap_ranges.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/swap_ranges.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>swap_ranges</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="stable_sort.html" title="stable_sort">
+<link rel="next" href="transform.html" title="transform">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stable_sort.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="swap_ranges">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2781540"></a>
+ <a class="link" href="swap_ranges.html#range.reference.algorithms.mutating.swap_ranges.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">&gt;</span>
+<span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">swap_ranges</span><span class="special">(</span><span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.swap_ranges.description"></a><h6>
+<a name="id2781673"></a>
+ <a class="link" href="swap_ranges.html#range.reference.algorithms.mutating.swap_ranges.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">swap_ranges</span></code> swaps each
+ element <code class="computeroutput"><span class="identifier">x</span></code> in <code class="computeroutput"><span class="identifier">rng1</span></code> with the corresponding element
+ <code class="computeroutput"><span class="identifier">y</span></code> in <code class="computeroutput"><span class="identifier">rng2</span></code>.
+ 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="id2781764"></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="id2781838"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ mutable.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.swap_ranges.complexity"></a><h6>
+<a name="id2781938"></a>
+ <a class="link" href="swap_ranges.html#range.reference.algorithms.mutating.swap_ranges.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span></code> elements are swapped.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="stable_sort.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="transform.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/transform.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/transform.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,225 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>transform</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="swap_ranges.html" title="swap_ranges">
+<link rel="next" href="unique.html" title="unique">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="swap_ranges.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="unique.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="transform">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2782008"></a>
+ <a class="link" href="transform.html#range.reference.algorithms.mutating.transform.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">UnaryOperation</span>
+<span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">transform</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">,</span>
+ <span class="identifier">UnaryOperation</span> <span class="identifier">fun</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryOperation</span>
+<span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">transform</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">,</span>
+ <span class="identifier">BinaryOperation</span> <span class="identifier">fun</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.transform.description"></a><h6>
+<a name="id2782346"></a>
+ <a class="link" href="transform.html#range.reference.algorithms.mutating.transform.description">Description</a>
+ </h6>
+<p>
+ <span class="bold"><strong>UnaryOperation version:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">transform</span></code> assigns the
+ value <code class="computeroutput"><span class="identifier">y</span></code> to each element
+ <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">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)),</span> <span class="identifier">y</span> <span class="special">=</span> <span class="identifier">fun</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code> where <code class="computeroutput"><span class="identifier">x</span></code>
+ is the corresponding value to <code class="computeroutput"><span class="identifier">y</span></code>
+ in <code class="computeroutput"><span class="identifier">rng1</span></code>. The return value
+ is <code class="computeroutput"><span class="identifier">out</span> <span class="special">+</span>
+ <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ </p>
+<p>
+ <span class="bold"><strong>BinaryOperation version:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">transform</span></code> assigns the
+ value <code class="computeroutput"><span class="identifier">z</span></code> to each element
+ <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">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> <span class="identifier">z</span> <span class="special">=</span> <span class="identifier">fun</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">)</span></code> where <code class="computeroutput"><span class="identifier">x</span></code>
+ is the corresponding value in <code class="computeroutput"><span class="identifier">rng1</span></code>
+ and <code class="computeroutput"><span class="identifier">y</span></code> is the corresponding
+ value in <code class="computeroutput"><span class="identifier">rng2</span></code>. This version
+ of <code class="computeroutput"><span class="identifier">transform</span></code> stops upon
+ reaching either the end of <code class="computeroutput"><span class="identifier">rng1</span></code>,
+ or the end of <code class="computeroutput"><span class="identifier">rng2</span></code>. Hence
+ there isn't a requirement for <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span> <span class="special">==</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">)</span></code>
+ since there is a safe guaranteed behaviour, unlike with the iterator
+ counterpart in the standard library.
+ </p>
+<p>
+ 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="id2782897"></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="id2782969"></a>
+ <a class="link" href="transform.html#range.reference.algorithms.mutating.transform.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the unary versions of transform:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">UnaryOperation</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">UnaryFunctionConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type must be convertible to <code class="computeroutput"><span class="identifier">UnaryFunction</span></code>'s
+ argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">UnaryFunction</span></code>'s result
+ type must be convertible to a type in <code class="computeroutput"><span class="identifier">OutputIterator</span></code>'s
+ set of value types.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the binary versions of transform:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryOperation</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryFunctionConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type must be convertible to <code class="computeroutput"><span class="identifier">BinaryFunction</span></code>'s
+ first argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type must be convertible to <code class="computeroutput"><span class="identifier">BinaryFunction</span></code>'s
+ second argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryOperation</span></code>'s result
+ type must be convertible to a type in <code class="computeroutput"><span class="identifier">OutputIterator</span></code>'s
+ set of value types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.transform.precondition_"></a><h6>
+<a name="id2783320"></a>
+ <a class="link" href="transform.html#range.reference.algorithms.mutating.transform.precondition_">Precondition:</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the unary version of transform:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">out</span></code> is not an iterator
+ within the range <code class="computeroutput"><span class="special">[</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">))</span></code>.
+ </li>
+<li class="listitem">
+<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">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">))</span></code> is a valid range.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the binary version of transform:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">out</span></code> is not an iterator
+ within the range <code class="computeroutput"><span class="special">[</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">))</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">out</span></code> is not an iterator
+ within the range <code class="computeroutput"><span class="special">[</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">)</span> <span class="special">+</span> <span class="number">1</span><span class="special">,</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">))</span></code>.
+ </li>
+<li class="listitem">
+<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">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> is a valid range.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.transform.complexity"></a><h6>
+<a name="id2783735"></a>
+ <a class="link" href="transform.html#range.reference.algorithms.mutating.transform.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. The operation is applied exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span></code> for the unary version and <code class="computeroutput"><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>
+ for the binary version.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="swap_ranges.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="unique.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/unique.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/unique.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,163 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>unique</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="transform.html" title="transform">
+<link rel="next" href="unique_copy.html" title="unique_copy">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="transform.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="unique_copy.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="unique">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2783855"></a>
+ <a class="link" href="unique.html#range.reference.algorithms.mutating.unique.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">return_begin_found</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">unique</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">return_begin_found</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">unique</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">return_begin_found</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">unique</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">return_begin_found</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">unique</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">unique</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">unique</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">unique</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">unique</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.unique.description"></a><h6>
+<a name="id2784886"></a>
+ <a class="link" href="unique.html#range.reference.algorithms.mutating.unique.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">unique</span></code> removes all but
+ the first element of each sequence of duplicate encountered in <code class="computeroutput"><span class="identifier">rng</span></code>.
+ </p>
+<p>
+ Elements in the range <code class="computeroutput"><span class="special">[</span><span class="identifier">new_last</span><span class="special">,</span>
+ <span class="identifier">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">))</span></code>
+ are dereferenceable but undefined.
+ </p>
+<p>
+ Equality is determined by the predicate if one is supplied, or by <code class="computeroutput"><span class="keyword">operator</span><span class="special">==()</span></code>
+ for <code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type.
+ </p>
+<a name="range.reference.algorithms.mutating.unique.definition"></a><h6>
+<a name="id2785010"></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="id2785083"></a>
+ <a class="link" href="unique.html#range.reference.algorithms.mutating.unique.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions of unique:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions of unique:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryPredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ first argument type and to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ second argument type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.unique.complexity"></a><h6>
+<a name="id2785295"></a>
+ <a class="link" href="unique.html#range.reference.algorithms.mutating.unique.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span><span class="special">)</span></code>
+ where <code class="computeroutput"><span class="identifier">N</span></code> is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ Exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ comparisons are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="transform.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="unique_copy.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/mutating/unique_copy.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/mutating/unique_copy.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,143 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>unique_copy</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../mutating.html" title="Mutating algorithms">
+<link rel="prev" href="unique.html" title="unique">
+<link rel="next" href="../non_mutating.html" title="Non-mutating algorithms">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="unique.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="unique_copy">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2785422"></a>
+ <a class="link" href="unique_copy.html#range.reference.algorithms.mutating.unique_copy.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">unique_copy</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">unique_copy</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.mutating.unique_copy.description"></a><h6>
+<a name="id2785682"></a>
+ <a class="link" href="unique_copy.html#range.reference.algorithms.mutating.unique_copy.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">unique_copy</span></code> copies the
+ first element of each sequence of duplicates encountered in <code class="computeroutput"><span class="identifier">rng</span></code> to <code class="computeroutput"><span class="identifier">out</span></code>.
+ </p>
+<p>
+ Equality is determined by the predicate if one is supplied, or by <code class="computeroutput"><span class="keyword">operator</span><span class="special">==()</span></code>
+ for <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>'s
+ value type.
+ </p>
+<a name="range.reference.algorithms.mutating.unique_copy.definition"></a><h6>
+<a name="id2785772"></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="id2785848"></a>
+ <a class="link" href="unique_copy.html#range.reference.algorithms.mutating.unique_copy.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions of unique:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code>'s value
+ type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions of unique:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryPredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ first argument type and to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ second argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.mutating.unique_copy.complexity"></a><h6>
+<a name="id2786112"></a>
+ <a class="link" href="unique_copy.html#range.reference.algorithms.mutating.unique_copy.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span><span class="special">)</span></code>
+ where <code class="computeroutput"><span class="identifier">N</span></code> is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ Exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ comparisons are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="unique.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/new.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/new.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,57 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>New algorithms</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../algorithms.html" title="Range Algorithm">
+<link rel="prev" href="permutation/prev_permutation.html" title="prev_permutation">
+<link rel="next" href="new/copy_n.html" title="copy_n">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="permutation/prev_permutation.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="new/copy_n.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="New algorithms">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="range.reference.algorithms.new"></a><a class="link" href="new.html" title="New algorithms"> New algorithms</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> copy_n</span></dt>
+<dt><span class="section"> erase</span></dt>
+<dt><span class="section"> for_each</span></dt>
+<dt><span class="section"> insert</span></dt>
+<dt><span class="section"> iota</span></dt>
+<dt><span class="section"> is_sorted</span></dt>
+<dt><span class="section"> overwrite</span></dt>
+<dt><span class="section"> push_back</span></dt>
+<dt><span class="section"> push_front</span></dt>
+<dt><span class="section"> remove_erase</span></dt>
+<dt><span class="section"><a href="new/remove_erase_if.html">
+ remove_erase_if</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="permutation/prev_permutation.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="new/copy_n.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/new/copy_n.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/new/copy_n.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>copy_n</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../new.html" title="New algorithms">
+<link rel="prev" href="../new.html" title="New algorithms">
+<link rel="next" href="erase.html" title="erase">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../new.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="copy_n">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2820125"></a>
+ <a class="link" href="copy_n.html#range.reference.algorithms.new.copy_n.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Size</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">copy_n</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Size</span> <span class="identifier">n</span><span class="special">,</span> <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.new.copy_n.description"></a><h6>
+<a name="id2820285"></a>
+ <a class="link" href="copy_n.html#range.reference.algorithms.new.copy_n.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">copy_n</span></code> is provided to
+ completely replicate the standard algorithm header, it is preferable
+ to use Range Adaptors and the extension functions to achieve the same
+ result with greater safety.
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">copy_n</span></code> copies elements
+ 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="id2820459"></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="id2820532"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Size</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">Integer</span></code> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.new.copy_n.complexity"></a><h6>
+<a name="id2820636"></a>
+ <a class="link" href="copy_n.html#range.reference.algorithms.new.copy_n.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><span class="identifier">n</span></code> elements
+ are copied.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../new.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/new/erase.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/new/erase.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>erase</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../new.html" title="New algorithms">
+<link rel="prev" href="copy_n.html" title="copy_n">
+<link rel="next" href="for_each.html" title="for_each">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="copy_n.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="erase">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2820690"></a>
+ <a class="link" href="erase.html#range.reference.algorithms.new.erase.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Container</span><span class="special">&gt;</span>
+<span class="identifier">Container</span><span class="special">&amp;</span> <span class="identifier">erase</span><span class="special">(</span>
+ <span class="identifier">Container</span><span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">::</span><span class="identifier">iterator</span><span class="special">&gt;</span> <span class="identifier">to_erase</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.new.erase.description"></a><h6>
+<a name="id2820832"></a>
+ <a class="link" href="erase.html#range.reference.algorithms.new.erase.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">erase</span></code> the iterator range
+ <code class="computeroutput"><span class="identifier">to_erase</span></code> from the container
+ <code class="computeroutput"><span class="identifier">target</span></code>.
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">remove_erase</span></code> performs
+ 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</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">value</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>
+<p>
+ <code class="computeroutput"><span class="identifier">remove_erase_if</span></code> performs
+ 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="id2821137"></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="id2821209"></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">
+<code class="computeroutput"><span class="identifier">Container</span></code> supports
+ erase of an iterator range.
+ </li></ol></div>
+<a name="range.reference.algorithms.new.erase.complexity"></a><h6>
+<a name="id2821254"></a>
+ <a class="link" href="erase.html#range.reference.algorithms.new.erase.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Proprotional to <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">to_erase</span><span class="special">)</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="copy_n.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/new/for_each.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/new/for_each.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,149 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>for_each</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../new.html" title="New algorithms">
+<link rel="prev" href="erase.html" title="erase">
+<link rel="next" href="insert.html" title="insert">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="for_each">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2821321"></a>
+ <a class="link" href="for_each.html#range.reference.algorithms.new.for_each.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryFunction</span>
+ <span class="special">&gt;</span>
+<span class="identifier">BinaryFunction</span> <span class="identifier">for_each</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">BinaryFunction</span> <span class="identifier">fn</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryFunction</span>
+ <span class="special">&gt;</span>
+<span class="identifier">BinaryFunction</span> <span class="identifier">for_each</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">BinaryFunction</span> <span class="identifier">fn</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryFunction</span>
+ <span class="special">&gt;</span>
+<span class="identifier">BinaryFunction</span> <span class="identifier">for_each</span><span class="special">(</span><span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">BinaryFunction</span> <span class="identifier">fn</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryFunction</span>
+ <span class="special">&gt;</span>
+<span class="identifier">BinaryFunction</span> <span class="identifier">for_each</span><span class="special">(</span><span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">BinaryFunction</span> <span class="identifier">fn</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.new.for_each.description"></a><h6>
+<a name="id2821902"></a>
+ <a class="link" href="for_each.html#range.reference.algorithms.new.for_each.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">for_each</span></code> traverses forward
+ through <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code> simultaneously. For each iteration,
+ the element <code class="computeroutput"><span class="identifier">x</span></code> is used
+ from <code class="computeroutput"><span class="identifier">rng1</span></code> and the corresponding
+ element <code class="computeroutput"><span class="identifier">y</span></code> is used from
+ <code class="computeroutput"><span class="identifier">rng2</span></code> to invoke <code class="computeroutput"><span class="identifier">fn</span><span class="special">(</span><span class="identifier">x</span><span class="special">,</span><span class="identifier">y</span><span class="special">)</span></code>.
+ </p>
+<p>
+ Iteration is stopped upon reaching the end of the shorter of <code class="computeroutput"><span class="identifier">rng1</span></code>, or <code class="computeroutput"><span class="identifier">rng2</span></code>.
+ 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="id2822065"></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="id2822137"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryFunction</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">BinaryFunctionConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryFunction</span></code>'s
+ first argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglepassRange2</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryFunction</span></code>'s
+ second argument type.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.new.for_each.complexity"></a><h6>
+<a name="id2822292"></a>
+ <a class="link" href="for_each.html#range.reference.algorithms.new.for_each.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><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>
+ applications of <code class="computeroutput"><span class="identifier">BinaryFunction</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="erase.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="insert.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/new/insert.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/new/insert.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,105 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>insert</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../new.html" title="New algorithms">
+<link rel="prev" href="for_each.html" title="for_each">
+<link rel="next" href="iota.html" title="iota">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="for_each.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="iota.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="insert">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2822400"></a>
+ <a class="link" href="insert.html#range.reference.algorithms.new.insert.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">Container</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange</span>
+ <span class="special">&gt;</span>
+<span class="identifier">Container</span><span class="special">&amp;</span> <span class="identifier">insert</span><span class="special">(</span><span class="identifier">Container</span><span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">Container</span><span class="special">::</span><span class="identifier">iterator</span> <span class="identifier">before</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">from</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.new.insert.description"></a><h6>
+<a name="id2822572"></a>
+ <a class="link" href="insert.html#range.reference.algorithms.new.insert.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">insert</span></code> all of the elements
+ in the range <code class="computeroutput"><span class="identifier">from</span></code> before
+ the <code class="computeroutput"><span class="identifier">before</span></code> iterator into
+ <code class="computeroutput"><span class="identifier">target</span></code>.
+ </p>
+<a name="range.reference.algorithms.new.insert.definition"></a><h6>
+<a name="id2822642"></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="id2822714"></a>
+ <a class="link" href="insert.html#range.reference.algorithms.new.insert.requirements">Requirements</a>
+ </h6>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Container</span></code> supports
+ insert at a specified position.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">Container</span></code>'s
+ value type.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.new.insert.complexity"></a><h6>
+<a name="id2822807"></a>
+ <a class="link" href="insert.html#range.reference.algorithms.new.insert.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">from</span><span class="special">)</span></code>
+ assignments are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="for_each.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="iota.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/new/iota.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/new/iota.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,95 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>iota</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../new.html" title="New algorithms">
+<link rel="prev" href="insert.html" title="insert">
+<link rel="next" href="is_sorted.html" title="is_sorted">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="is_sorted.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="iota">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2822876"></a>
+ <a class="link" href="iota.html#range.reference.algorithms.new.iota.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">iota</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Value</span> <span class="identifier">x</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.new.iota.description"></a><h6>
+<a name="id2823003"></a>
+ <a class="link" href="iota.html#range.reference.algorithms.new.iota.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">iota</span></code> traverses forward
+ through <code class="computeroutput"><span class="identifier">rng</span></code>, each element
+ <code class="computeroutput"><span class="identifier">y</span></code> in <code class="computeroutput"><span class="identifier">rng</span></code>
+ is assigned a value equivalent to <code class="computeroutput"><span class="identifier">x</span>
+ <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="id2823144"></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="id2823216"></a>
+ <a class="link" href="iota.html#range.reference.algorithms.new.iota.requirements">Requirements</a>
+ </h6>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">Incrementable</span></code> Concept.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.new.iota.complexity"></a><h6>
+<a name="id2823294"></a>
+ <a class="link" href="iota.html#range.reference.algorithms.new.iota.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> assignments into <code class="computeroutput"><span class="identifier">rng</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="insert.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="is_sorted.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/new/is_sorted.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/new/is_sorted.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,108 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>is_sorted</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../new.html" title="New algorithms">
+<link rel="prev" href="iota.html" title="iota">
+<link rel="next" href="overwrite.html" title="overwrite">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iota.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="overwrite.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="is_sorted">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2823372"></a>
+ <a class="link" href="is_sorted.html#range.reference.algorithms.new.is_sorted.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">is_sorted</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">is_sorted</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.new.is_sorted.description"></a><h6>
+<a name="id2823568"></a>
+ <a class="link" href="is_sorted.html#range.reference.algorithms.new.is_sorted.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">is_sorted</span></code> determines
+ if a range is sorted. For the non-predicate version the return value
+ is <code class="computeroutput"><span class="keyword">true</span></code> if and only if for
+ each adjacent elements <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>
+ the expression <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;</span>
+ <span class="identifier">y</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>.
+ For the predicate version the return value is <code class="computeroutput"><span class="keyword">true</span></code>
+ is and only if for each adjacent elements <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>
+ the expression <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.new.is_sorted.definition"></a><h6>
+<a name="id2823764"></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="id2823836"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>
+ Concept.
+ </li>
+<li class="listitem">
+ The value type of <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>
+ is convertible to both argument types of <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.new.is_sorted.complexity"></a><h6>
+<a name="id2823943"></a>
+ <a class="link" href="is_sorted.html#range.reference.algorithms.new.is_sorted.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. A maximum of <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> comparisons are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iota.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="overwrite.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/new/overwrite.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/new/overwrite.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>overwrite</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../new.html" title="New algorithms">
+<link rel="prev" href="is_sorted.html" title="is_sorted">
+<link rel="next" href="push_back.html" title="push_back">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_sorted.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="overwrite">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2824010"></a>
+ <a class="link" href="overwrite.html#range.reference.algorithms.new.overwrite.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span>
+ <span class="special">&gt;</span>
+<span class="keyword">void</span> <span class="identifier">overwrite</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">from</span><span class="special">,</span>
+ <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">to</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.new.overwrite.description"></a><h6>
+<a name="id2824146"></a>
+ <a class="link" href="overwrite.html#range.reference.algorithms.new.overwrite.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">overwrite</span></code> assigns the
+ values from the range <code class="computeroutput"><span class="identifier">from</span></code>
+ 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="id2824206"></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="id2824278"></a>
+ <a class="link" href="overwrite.html#range.reference.algorithms.new.overwrite.requirements">Requirements</a>
+ </h6>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ mutable.
+ </li>
+<li class="listitem"><code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">SinglePassRange1</span><span class="special">)</span>
+ <span class="special">&lt;=</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">SinglePassRange2</span><span class="special">)</span></code></li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.new.overwrite.complexity"></a><h6>
+<a name="id2824447"></a>
+ <a class="link" href="overwrite.html#range.reference.algorithms.new.overwrite.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span></code>
+ assignments are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="is_sorted.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_back.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/new/push_back.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/new/push_back.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>push_back</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../new.html" title="New algorithms">
+<link rel="prev" href="overwrite.html" title="overwrite">
+<link rel="next" href="push_front.html" title="push_front">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overwrite.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="push_back">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2824516"></a>
+ <a class="link" href="push_back.html#range.reference.algorithms.new.push_back.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">Container</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange</span>
+ <span class="special">&gt;</span>
+<span class="identifier">Container</span><span class="special">&amp;</span> <span class="identifier">push_back</span><span class="special">(</span><span class="identifier">Container</span><span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">from</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.new.push_back.description"></a><h6>
+<a name="id2824657"></a>
+ <a class="link" href="push_back.html#range.reference.algorithms.new.push_back.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">push_back</span></code> all of the
+ elements in the range <code class="computeroutput"><span class="identifier">from</span></code>
+ 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="id2824717"></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="id2824788"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Container</span></code> supports
+ insert at <code class="computeroutput"><span class="identifier">end</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">Container</span></code>'s
+ value type.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.new.push_back.complexity"></a><h6>
+<a name="id2824897"></a>
+ <a class="link" href="push_back.html#range.reference.algorithms.new.push_back.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">from</span><span class="special">)</span></code>
+ assignments are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="overwrite.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="push_front.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/new/push_front.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/new/push_front.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,103 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>push_front</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../new.html" title="New algorithms">
+<link rel="prev" href="push_back.html" title="push_back">
+<link rel="next" href="remove_erase.html" title="remove_erase">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="push_front">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2824967"></a>
+ <a class="link" href="push_front.html#range.reference.algorithms.new.push_front.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">Container</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange</span>
+ <span class="special">&gt;</span>
+<span class="identifier">Container</span><span class="special">&amp;</span> <span class="identifier">push_front</span><span class="special">(</span><span class="identifier">Container</span><span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">from</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.new.push_front.description"></a><h6>
+<a name="id2825106"></a>
+ <a class="link" href="push_front.html#range.reference.algorithms.new.push_front.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">push_front</span></code> all of the
+ elements in the range <code class="computeroutput"><span class="identifier">from</span></code>
+ 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="id2825164"></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="id2825238"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Container</span></code> supports
+ insert at <code class="computeroutput"><span class="identifier">begin</span><span class="special">()</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">Container</span></code>'s
+ value type.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.new.push_front.complexity"></a><h6>
+<a name="id2825347"></a>
+ <a class="link" href="push_front.html#range.reference.algorithms.new.push_front.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">from</span><span class="special">)</span></code>
+ assignments are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="push_back.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_erase.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/new/remove_erase.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/new/remove_erase.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,88 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>remove_erase</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../new.html" title="New algorithms">
+<link rel="prev" href="push_front.html" title="push_front">
+<link rel="next" href="remove_erase_if.html" title="remove_erase_if">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="push_front.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_erase_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="remove_erase">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2825417"></a>
+ <a class="link" href="remove_erase.html#range.reference.algorithms.new.remove_erase.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Container</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="identifier">Container</span><span class="special">&amp;</span> <span class="identifier">remove_erase</span><span class="special">(</span><span class="identifier">Container</span><span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">value</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.new.remove_erase.description"></a><h6>
+<a name="id2825556"></a>
+ <a class="link" href="remove_erase.html#range.reference.algorithms.new.remove_erase.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">remove_erase</span></code> actually
+ eliminates the elements equal to <code class="computeroutput"><span class="identifier">value</span></code>
+ from the container. This is in contrast to the <code class="computeroutput"><span class="identifier">remove</span></code>
+ algorithm which merely rearranges elements.
+ </p>
+<a name="range.reference.algorithms.new.remove_erase.definition"></a><h6>
+<a name="id2825617"></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="id2825690"></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">
+<code class="computeroutput"><span class="identifier">Container</span></code> supports
+ erase of an iterator range.
+ </li></ol></div>
+<a name="range.reference.algorithms.new.remove_erase.complexity"></a><h6>
+<a name="id2825735"></a>
+ <a class="link" href="remove_erase.html#range.reference.algorithms.new.remove_erase.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Proportional to <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>s.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="push_front.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="remove_erase_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/new/remove_erase_if.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/new/remove_erase_if.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,96 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>remove_erase_if</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../new.html" title="New algorithms">
+<link rel="prev" href="remove_erase.html" title="remove_erase">
+<link rel="next" href="../numeric.html" title="Numeric algorithms">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remove_erase.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../numeric.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="remove_erase_if">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2825804"></a>
+ <a class="link" href="remove_erase_if.html#range.reference.algorithms.new.remove_erase_if.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">Container</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Pred</span><span class="special">&gt;</span>
+<span class="identifier">Container</span><span class="special">&amp;</span> <span class="identifier">remove_erase_if</span><span class="special">(</span><span class="identifier">Container</span><span class="special">&amp;</span> <span class="identifier">target</span><span class="special">,</span>
+ <span class="identifier">Pred</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.new.remove_erase_if.description"></a><h6>
+<a name="id2825933"></a>
+ <a class="link" href="remove_erase_if.html#range.reference.algorithms.new.remove_erase_if.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">remove_erase_if</span></code> removes
+ the elements <code class="computeroutput"><span class="identifier">x</span></code> that satisfy
+ <code class="computeroutput"><span class="identifier">pred</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ from the container. This is in contrast to the <code class="computeroutput"><span class="identifier">erase</span></code>
+ algorithm which merely rearranges elements.
+ </p>
+<a name="range.reference.algorithms.new.remove_erase_if.definition"></a><h6>
+<a name="id2826018"></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="id2826091"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Container</span></code> supports
+ erase of an iterator range.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Pred</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">Predicate</span></code> Concept.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.new.remove_erase_if.complexity"></a><h6>
+<a name="id2826162"></a>
+ <a class="link" href="remove_erase_if.html#range.reference.algorithms.new.remove_erase_if.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Proportional to <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">target</span><span class="special">)</span></code>s.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="remove_erase.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../new.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../numeric.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,64 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>-mutating Non-mutating algorithms</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../algorithms.html" title="Range Algorithm">
+<link rel="prev" href="mutating/unique.html" title="unique">
+<link rel="next" href="non/adjacent_find.html" title="adjacent_find">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mutating/unique.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="non/adjacent_find.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="-mutating Non-mutating algorithms">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="range.reference.algorithms.non"></a><a class="link" href="non.html" title="-mutating Non-mutating algorithms">-mutating Non-mutating
+ algorithms</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> adjacent_find</span></dt>
+<dt><span class="section"> binary_search</span></dt>
+<dt><span class="section"> count</span></dt>
+<dt><span class="section"> equal</span></dt>
+<dt><span class="section"> equal_range</span></dt>
+<dt><span class="section"> for_each</span></dt>
+<dt><span class="section"> find</span></dt>
+<dt><span class="section"> find_end</span></dt>
+<dt><span class="section"> find_first_of</span></dt>
+<dt><span class="section"> find_if</span></dt>
+<dt><span class="section"><a href="non/lexicographical_compare.html">
+ lexicographical_compare</a></span></dt>
+<dt><span class="section"> lower_bound</span></dt>
+<dt><span class="section"> max_element</span></dt>
+<dt><span class="section"> min_element</span></dt>
+<dt><span class="section"> mismatch</span></dt>
+<dt><span class="section"> search</span></dt>
+<dt><span class="section"> upper_bound</span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mutating/unique.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="non/adjacent_find.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,81 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Non-mutating algorithms</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../algorithms.html" title="Range Algorithm">
+<link rel="prev" href="mutating/unique_copy.html" title="unique_copy">
+<link rel="next" href="non_mutating/adjacent_find.html" title="adjacent_find">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mutating/unique_copy.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="non_mutating/adjacent_find.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Non-mutating algorithms">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="range.reference.algorithms.non_mutating"></a><a class="link" href="non_mutating.html" title="Non-mutating algorithms"> Non-mutating
+ algorithms</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="non_mutating/adjacent_find.html">
+ adjacent_find</a></span></dt>
+<dt><span class="section"><a href="non_mutating/binary_search.html">
+ binary_search</a></span></dt>
+<dt><span class="section"> count</span></dt>
+<dt><span class="section"><a href="non_mutating/count_if.html">
+ count_if</a></span></dt>
+<dt><span class="section"> equal</span></dt>
+<dt><span class="section"><a href="non_mutating/equal_range.html">
+ equal_range</a></span></dt>
+<dt><span class="section"><a href="non_mutating/for_each.html">
+ for_each</a></span></dt>
+<dt><span class="section"> find</span></dt>
+<dt><span class="section"><a href="non_mutating/find_end.html">
+ find_end</a></span></dt>
+<dt><span class="section"><a href="non_mutating/find_first_of.html">
+ find_first_of</a></span></dt>
+<dt><span class="section"><a href="non_mutating/find_if.html">
+ find_if</a></span></dt>
+<dt><span class="section"><a href="non_mutating/lexicographical_compare.html">
+ lexicographical_compare</a></span></dt>
+<dt><span class="section"><a href="non_mutating/lower_bound.html">
+ lower_bound</a></span></dt>
+<dt><span class="section"><a href="non_mutating/max_element.html">
+ max_element</a></span></dt>
+<dt><span class="section"><a href="non_mutating/min_element.html">
+ min_element</a></span></dt>
+<dt><span class="section"><a href="non_mutating/mismatch.html">
+ mismatch</a></span></dt>
+<dt><span class="section"><a href="non_mutating/search.html">
+ search</a></span></dt>
+<dt><span class="section"><a href="non_mutating/search_n.html">
+ search_n</a></span></dt>
+<dt><span class="section"><a href="non_mutating/upper_bound.html">
+ upper_bound</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mutating/unique_copy.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="non_mutating/adjacent_find.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/adjacent_find.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/adjacent_find.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,168 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>adjacent_find</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="next" href="binary_search.html" title="binary_search">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="binary_search.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="adjacent_find">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2786258"></a>
+ <a class="link" href="adjacent_find.html#range.reference.algorithms.non_mutating.adjacent_find.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">adjacent_find</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">adjacent_find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">adjacent_find</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPred</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">adjacent_find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPred</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">range_return_value_re</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">adjacent_find</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="identifier">range_return_value_re</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">adjacent_find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">adjacent_find</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">adjacent_find</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.adjacent_find.description"></a><h6>
+<a name="id2787244"></a>
+ <a class="link" href="adjacent_find.html#range.reference.algorithms.non_mutating.adjacent_find.description">Description</a>
+ </h6>
+<p>
+ <span class="bold"><strong>Non-predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">adjacent_find</span></code> finds the
+ first adjacent elements <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>
+ in <code class="computeroutput"><span class="identifier">rng</span></code> where <code class="computeroutput"><span class="identifier">x</span> <span class="special">==</span> <span class="identifier">y</span></code>
+ </p>
+<p>
+ <span class="bold"><strong>Predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">adjacent_find</span></code> finds the
+ first adjacent elements <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>
+ in <code class="computeroutput"><span class="identifier">rng</span></code> where <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.adjacent_find.definition"></a><h6>
+<a name="id2787458"></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="id2787531"></a>
+ <a class="link" href="adjacent_find.html#range.reference.algorithms.non_mutating.adjacent_find.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions of adjacent_find:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions of adjacent_find:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryPredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ first argument type and to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ second argument type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.adjacent_find.complexity"></a><h6>
+<a name="id2787715"></a>
+ <a class="link" href="adjacent_find.html#range.reference.algorithms.non_mutating.adjacent_find.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. If <code class="computeroutput"><span class="identifier">empty</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ then no comparisons are performed; otherwise, at most <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span></code>
+ comparisons.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="binary_search.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/binary_search.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/binary_search.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,157 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>binary_search</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="adjacent_find.html" title="adjacent_find">
+<link rel="next" href="count.html" title="count">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="adjacent_find.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="binary_search">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2787820"></a>
+ <a class="link" href="binary_search.html#range.reference.algorithms.non_mutating.binary_search.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">binary_search</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">binary_search</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.binary_search.description"></a><h6>
+<a name="id2788101"></a>
+ <a class="link" href="binary_search.html#range.reference.algorithms.non_mutating.binary_search.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">binary_search</span></code> returns
+ <code class="computeroutput"><span class="keyword">true</span></code> if and only if the
+ value <code class="computeroutput"><span class="identifier">val</span></code> exists in the
+ 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="id2788171"></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="id2788245"></a>
+ <a class="link" href="binary_search.html#range.reference.algorithms.non_mutating.binary_search.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions of binary_search:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">Value</span></code>
+ is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is the same type as <code class="computeroutput"><span class="identifier">Value</span></code>.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions of binary_search:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is the same type as <code class="computeroutput"><span class="identifier">Value</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ argument type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.binary_search.precondition_"></a><h6>
+<a name="id2788502"></a>
+ <a class="link" href="binary_search.html#range.reference.algorithms.non_mutating.binary_search.precondition_">Precondition:</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate version:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng</span></code> is ordered in ascending
+ order according to <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code>.
+ </p>
+<p>
+ <span class="bold"><strong>For the predicate version:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng</span></code> is ordered in ascending
+ 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="id2788599"></a>
+ <a class="link" href="binary_search.html#range.reference.algorithms.non_mutating.binary_search.complexity">Complexity</a>
+ </h6>
+<p>
+ For non-random-access ranges, the complexity is <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span><span class="special">)</span></code> where <code class="computeroutput"><span class="identifier">N</span></code>
+ is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ </p>
+<p>
+ For random-access ranges, the complexity is <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">log</span> <span class="identifier">N</span><span class="special">)</span></code>
+ where <code class="computeroutput"><span class="identifier">N</span></code> is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="adjacent_find.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/count.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/count.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,107 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>count</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="binary_search.html" title="binary_search">
+<link rel="next" href="count_if.html" title="count_if">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binary_search.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="count">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2788769"></a>
+ <a class="link" href="count.html#range.reference.algorithms.non_mutating.count.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_difference</span><span class="special">&lt;</span><span class="identifier">SinglePassRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">count</span><span class="special">(</span><span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_difference</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">count</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.count.description"></a><h6>
+<a name="id2789066"></a>
+ <a class="link" href="count.html#range.reference.algorithms.non_mutating.count.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">count</span></code> returns the number
+ of elements <code class="computeroutput"><span class="identifier">x</span></code> in <code class="computeroutput"><span class="identifier">rng</span></code> where <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">true</span></code>.
+ </p>
+<a name="range.reference.algorithms.non_mutating.count.definition"></a><h6>
+<a name="id2789156"></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="id2789229"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code>'s value
+ type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ An object of <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>'s
+ value type can be compared for equality with an object of type <code class="computeroutput"><span class="identifier">Value</span></code>.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.count.complexity"></a><h6>
+<a name="id2789356"></a>
+ <a class="link" href="count.html#range.reference.algorithms.non_mutating.count.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> comparisons.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="binary_search.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="count_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/count_if.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/count_if.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,104 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>count_if</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="count.html" title="count">
+<link rel="next" href="equal.html" title="equal">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="equal.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="count_if">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2789425"></a>
+ <a class="link" href="count_if.html#range.reference.algorithms.non_mutating.count_if.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_difference</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">count_if</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.count_if.description"></a><h6>
+<a name="id2789587"></a>
+ <a class="link" href="count_if.html#range.reference.algorithms.non_mutating.count_if.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">count_if</span></code> returns the
+ number of elements <code class="computeroutput"><span class="identifier">x</span></code>
+ in <code class="computeroutput"><span class="identifier">rng</span></code> where <code class="computeroutput"><span class="identifier">pred</span><span class="special">(</span><span class="identifier">x</span><span class="special">)</span></code>
+ 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="id2789680"></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="id2789753"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">UnaryPredicate</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">UnaryPredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code>'s value
+ type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The value type of <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>
+ is convertible to the argument type of <code class="computeroutput"><span class="identifier">UnaryPredicate</span></code>.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.count_if.complexity"></a><h6>
+<a name="id2789880"></a>
+ <a class="link" href="count_if.html#range.reference.algorithms.non_mutating.count_if.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> invocations of <code class="computeroutput"><span class="identifier">pred</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="count.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="equal.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/equal.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/equal.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,162 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>equal</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="count_if.html" title="count_if">
+<link rel="next" href="equal_range.html" title="equal_range">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="count_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="equal_range.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="equal">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2789959"></a>
+ <a class="link" href="equal.html#range.reference.algorithms.non_mutating.equal.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span>
+<span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">equal</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+<span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">equal</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.equal.description"></a><h6>
+<a name="id2790245"></a>
+ <a class="link" href="equal.html#range.reference.algorithms.non_mutating.equal.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">equal</span></code> returns <code class="computeroutput"><span class="keyword">true</span></code> if <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span></code> is equal to the <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">)</span></code> and for each element <code class="computeroutput"><span class="identifier">x</span></code>
+ in <code class="computeroutput"><span class="identifier">rng1</span></code>, the corresponding
+ element <code class="computeroutput"><span class="identifier">y</span></code> in <code class="computeroutput"><span class="identifier">rng2</span></code> is equal. Otherwise <code class="computeroutput"><span class="keyword">false</span></code> is returned.
+ </p>
+<p>
+ In this range version of <code class="computeroutput"><span class="identifier">equal</span></code>
+ it is perfectly acceptable to pass in two ranges of unequal lengths.
+ </p>
+<p>
+ Elements are considered equal in the non-predicate version if <code class="computeroutput"><span class="keyword">operator</span><span class="special">==</span></code>
+ returns <code class="computeroutput"><span class="keyword">true</span></code>. Elements are
+ 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="id2790488"></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="id2790561"></a>
+ <a class="link" href="equal.html#range.reference.algorithms.non_mutating.equal.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type can be compared for equality with <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryPredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ first argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ second argument type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.equal.complexity"></a><h6>
+<a name="id2790855"></a>
+ <a class="link" href="equal.html#range.reference.algorithms.non_mutating.equal.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. At most <code class="computeroutput"><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>
+ comparisons.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="count_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="equal_range.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/equal_range.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/equal_range.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,179 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>equal_range</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="equal.html" title="equal">
+<link rel="next" href="for_each.html" title="for_each">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="equal.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="equal_range">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2790952"></a>
+ <a class="link" href="equal_range.html#range.reference.algorithms.non_mutating.equal_range.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span>
+ <span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span>
+<span class="identifier">equal_range</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span>
+ <span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span>
+<span class="identifier">equal_range</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SortPredicate</span>
+ <span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span>
+<span class="identifier">equal_range</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">,</span> <span class="identifier">SortPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SortPredicate</span>
+ <span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span>
+<span class="identifier">equal_range</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">val</span><span class="special">,</span> <span class="identifier">SortPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+ </pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.equal_range.description"></a><h6>
+<a name="id2791831"></a>
+ <a class="link" href="equal_range.html#range.reference.algorithms.non_mutating.equal_range.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">equal_range</span></code> returns a
+ range in the form of a pair of iterators where all of the elements are
+ equal to <code class="computeroutput"><span class="identifier">val</span></code>. If no values
+ are found that are equal to <code class="computeroutput"><span class="identifier">val</span></code>,
+ then an empty range is returned, hence <code class="computeroutput"><span class="identifier">result</span><span class="special">.</span><span class="identifier">first</span> <span class="special">==</span> <span class="identifier">result</span><span class="special">.</span><span class="identifier">second</span></code>.
+ For the non-predicate versions of <code class="computeroutput"><span class="identifier">equal_range</span></code>
+ the equality of elements is determined by <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code>. For the predicate versions of <code class="computeroutput"><span class="identifier">equal_range</span></code> the equality of elements
+ 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="id2791983"></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="id2792056"></a>
+ <a class="link" href="equal_range.html#range.reference.algorithms.non_mutating.equal_range.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">Value</span></code>
+ is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is the same type as <code class="computeroutput"><span class="identifier">Value</span></code>.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SortPredicate</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is the same as <code class="computeroutput"><span class="identifier">Value</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is convertible to both of <code class="computeroutput"><span class="identifier">SortPredicate</span></code>'s
+ argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.equal_range.precondition_"></a><h6>
+<a name="id2792313"></a>
+ <a class="link" href="equal_range.html#range.reference.algorithms.non_mutating.equal_range.precondition_">Precondition:</a>
+ </h6>
+<p>
+ For the non-predicate versions: <code class="computeroutput"><span class="identifier">rng</span></code>
+ is ordered in ascending order according to <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code>.
+ </p>
+<p>
+ For the predicate versions: <code class="computeroutput"><span class="identifier">rng</span></code>
+ 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="id2792393"></a>
+ <a class="link" href="equal_range.html#range.reference.algorithms.non_mutating.equal_range.complexity">Complexity</a>
+ </h6>
+<p>
+ For random-access ranges, the complexity is <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">log</span> <span class="identifier">N</span><span class="special">)</span></code>,
+ otherwise the complexity is <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span><span class="special">)</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="equal.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="for_each.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,110 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>find</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="for_each.html" title="for_each">
+<link rel="next" href="find_end.html" title="find_end">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="for_each.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find_end.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="find">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2793070"></a>
+ <a class="link" href="find.html#range.reference.algorithms.non_mutating.find.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">SinglePassRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">find</span><span class="special">(</span><span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Value</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">SinglePassRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">find</span><span class="special">(</span><span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Value</span> <span class="identifier">val</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.find.description"></a><h6>
+<a name="id2793363"></a>
+ <a class="link" href="find.html#range.reference.algorithms.non_mutating.find.description">Description</a>
+ </h6>
+<p>
+ The versions of <code class="computeroutput"><span class="identifier">find</span></code>
+ that return an iterator, returns the first iterator in the range <code class="computeroutput"><span class="identifier">rng</span></code> such that <code class="computeroutput"><span class="special">*</span><span class="identifier">i</span> <span class="special">==</span> <span class="identifier">value</span></code>. <code class="computeroutput"><span class="identifier">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> is returned if no such iterator exists.
+ The versions of find that return a <code class="computeroutput"><span class="identifier">range_return</span></code>,
+ defines <code class="computeroutput"><span class="identifier">found</span></code> in the
+ same manner as the returned iterator described above.
+ </p>
+<a name="range.reference.algorithms.non_mutating.find.definition"></a><h6>
+<a name="id2793486"></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="id2793559"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The <code class="computeroutput"><span class="keyword">operator</span><span class="special">==</span></code>
+ is defined for type <code class="computeroutput"><span class="identifier">Value</span></code>
+ to be compared with the <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>'s
+ value type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.find.complexity"></a><h6>
+<a name="id2793673"></a>
+ <a class="link" href="find.html#range.reference.algorithms.non_mutating.find.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. At most <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> comparisons for equality.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="for_each.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find_end.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find_end.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find_end.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,174 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>find_end</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="find.html" title="find">
+<link rel="next" href="find_first_of.html" title="find_first_of">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find_first_of.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="find_end">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2793741"></a>
+ <a class="link" href="find_end.html#range.reference.algorithms.non_mutating.find_end.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange2</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange1</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">find_end</span><span class="special">(</span><span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange1</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">find_end</span><span class="special">(</span><span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange2</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange1</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">find_end</span><span class="special">(</span><span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange1</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">find_end</span><span class="special">(</span><span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.find_end.description"></a><h6>
+<a name="id2794409"></a>
+ <a class="link" href="find_end.html#range.reference.algorithms.non_mutating.find_end.description">Description</a>
+ </h6>
+<p>
+ The versions of <code class="computeroutput"><span class="identifier">find_end</span></code>
+ that return an iterator, return an iterator to the beginning of the last
+ sub-sequence equal to <code class="computeroutput"><span class="identifier">rng2</span></code>
+ within <code class="computeroutput"><span class="identifier">rng1</span></code>. 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">find_end</span></code>, and by satisfying <code class="computeroutput"><span class="identifier">pred</span></code> in the predicate versions. The
+ versions of <code class="computeroutput"><span class="identifier">find_end</span></code>
+ that return a <code class="computeroutput"><span class="identifier">range_return</span></code>,
+ defines <code class="computeroutput"><span class="identifier">found</span></code> in the
+ same manner as the returned iterator described above.
+ </p>
+<a name="range.reference.algorithms.non_mutating.find_end.definition"></a><h6>
+<a name="id2794543"></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="id2794616"></a>
+ <a class="link" href="find_end.html#range.reference.algorithms.non_mutating.find_end.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange1</span></code> is a
+ model of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange2</span></code> is a
+ model of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange1</span></code>'s value
+ type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange2</span></code>'s value
+ type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ Objects of <code class="computeroutput"><span class="identifier">ForwardRange1</span></code>'s
+ value type can be compared for equality with objects of <code class="computeroutput"><span class="identifier">ForwardRange2</span></code>'s value type.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange1</span></code> is a
+ model of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange2</span></code> is a
+ model of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryPredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange1</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ first argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange2</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ second argument type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.find_end.complexity"></a><h6>
+<a name="id2794913"></a>
+ <a class="link" href="find_end.html#range.reference.algorithms.non_mutating.find_end.complexity">Complexity</a>
+ </h6>
+<p>
+ The number of comparisons is proportional to <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">)</span></code>. If both <code class="computeroutput"><span class="identifier">ForwardRange1</span></code>
+ and <code class="computeroutput"><span class="identifier">ForwardRange2</span></code> are
+ models of <code class="computeroutput"><span class="identifier">BidirectionalRangeConcept</span></code>
+ then the average complexity is linear and the worst case is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</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>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find_first_of.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find_first_of.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find_first_of.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,170 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>find_first_of</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="find_end.html" title="find_end">
+<link rel="next" href="find_if.html" title="find_if">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_end.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="find_first_of">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2795091"></a>
+ <a class="link" href="find_first_of.html#range.reference.algorithms.non_mutating.find_first_of.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange2</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">find_first_of</span><span class="special">(</span><span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">find_first_of</span><span class="special">(</span><span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange2</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">find_first_of</span><span class="special">(</span><span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">find_first_of</span><span class="special">(</span><span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.find_first_of.description"></a><h6>
+<a name="id2795757"></a>
+ <a class="link" href="find_first_of.html#range.reference.algorithms.non_mutating.find_first_of.description">Description</a>
+ </h6>
+<p>
+ The versions of <code class="computeroutput"><span class="identifier">find_first_of</span></code>
+ that return an iterator, return an iterator to the first occurrence in
+ <code class="computeroutput"><span class="identifier">rng1</span></code> of any of the elements
+ in <code class="computeroutput"><span class="identifier">rng2</span></code>. 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">find_first_of</span></code>,
+ and by satisfying <code class="computeroutput"><span class="identifier">pred</span></code>
+ in the predicate versions.
+ </p>
+<p>
+ The versions of <code class="computeroutput"><span class="identifier">find_first_of</span></code>
+ that return a <code class="computeroutput"><span class="identifier">range_return</span></code>,
+ defines <code class="computeroutput"><span class="identifier">found</span></code> in the
+ same manner as the returned iterator described above.
+ </p>
+<a name="range.reference.algorithms.non_mutating.find_first_of.definition"></a><h6>
+<a name="id2795896"></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="id2795970"></a>
+ <a class="link" href="find_first_of.html#range.reference.algorithms.non_mutating.find_first_of.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange2</span></code> is a
+ model of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>,
+ and can be compared for equality with <code class="computeroutput"><span class="identifier">ForwardRange2</span></code>'s
+ value type.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange2</span></code> is a
+ model of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryPredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ first argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange2</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ second argument type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.find_first_of.complexity"></a><h6>
+<a name="id2796227"></a>
+ <a class="link" href="find_first_of.html#range.reference.algorithms.non_mutating.find_first_of.complexity">Complexity</a>
+ </h6>
+<p>
+ At most <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span> <span class="special">*</span> <span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng2</span><span class="special">)</span></code> comparisons.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_end.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find_if.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find_if.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find_if.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,121 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>find_if</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="find_first_of.html" title="find_first_of">
+<link rel="next" href="lexicographical_compare.html" title="lexicographical_compare">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_first_of.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="lexicographical_compare.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="find_if">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2796321"></a>
+ <a class="link" href="find_if.html#range.reference.algorithms.non_mutating.find_if.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">SinglePassRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">find_if</span><span class="special">(</span><span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">UnaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">SinglePassRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">find_if</span><span class="special">(</span><span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.find_if.description"></a><h6>
+<a name="id2796616"></a>
+ <a class="link" href="find_if.html#range.reference.algorithms.non_mutating.find_if.description">Description</a>
+ </h6>
+<p>
+ The versions of <code class="computeroutput"><span class="identifier">find_if</span></code>
+ that return an iterator, returns the first iterator in the range <code class="computeroutput"><span class="identifier">rng</span></code> such that <code class="computeroutput"><span class="identifier">pred</span><span class="special">(*</span><span class="identifier">i</span><span class="special">)</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>.
+ <code class="computeroutput"><span class="identifier">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ is returned if no such iterator exists.
+ </p>
+<p>
+ The versions of <code class="computeroutput"><span class="identifier">find_if</span></code>
+ that return a <code class="computeroutput"><span class="identifier">range_return</span></code>,
+ 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="id2796750"></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="id2796825"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">UnaryPredicate</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">PredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+ The value type of <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>
+ is convertible to the argument type of <code class="computeroutput"><span class="identifier">UnaryPredicate</span></code>.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.find_if.precondition_"></a><h6>
+<a name="id2796926"></a>
+ <a class="link" href="find_if.html#range.reference.algorithms.non_mutating.find_if.precondition_">Precondition:</a>
+ </h6>
+<p>
+ For each iterator <code class="computeroutput"><span class="identifier">i</span></code> in
+ <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="id2796999"></a>
+ <a class="link" href="find_if.html#range.reference.algorithms.non_mutating.find_if.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. At most <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> invocations of <code class="computeroutput"><span class="identifier">pred</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_first_of.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="lexicographical_compare.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/for_each.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/for_each.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,113 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>for_each</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="equal_range.html" title="equal_range">
+<link rel="next" href="find.html" title="find">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="equal_range.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="for_each">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2792492"></a>
+ <a class="link" href="for_each.html#range.reference.algorithms.non_mutating.for_each.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">UnaryFunction</span>
+ <span class="special">&gt;</span>
+<span class="identifier">UnaryFunction</span> <span class="identifier">for_each</span><span class="special">(</span><span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryFunction</span> <span class="identifier">fun</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">UnaryFunction</span>
+ <span class="special">&gt;</span>
+<span class="identifier">UnaryFunction</span> <span class="identifier">for_each</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">UnaryFunction</span> <span class="identifier">fun</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.for_each.description"></a><h6>
+<a name="id2792720"></a>
+ <a class="link" href="for_each.html#range.reference.algorithms.non_mutating.for_each.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">for_each</span></code> traverses forward
+ through <code class="computeroutput"><span class="identifier">rng</span></code> and for each
+ element <code class="computeroutput"><span class="identifier">x</span></code> it invokes
+ <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="id2792802"></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="id2792875"></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">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">UnaryFunction</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">UnaryFunctionConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">UnaryFunction</span></code> does
+ not apply any non-constant operation through its argument.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">UnaryFunction</span></code>'s
+ argument type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.for_each.complexity"></a><h6>
+<a name="id2792991"></a>
+ <a class="link" href="for_each.html#range.reference.algorithms.non_mutating.for_each.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> applications of <code class="computeroutput"><span class="identifier">UnaryFunction</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="equal_range.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="find.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/lexicographical_compare.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/lexicographical_compare.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,170 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>lexicographical_compare</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="find_if.html" title="find_if">
+<link rel="next" href="lower_bound.html" title="lower_bound">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="lower_bound.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="lexicographical_compare">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2797081"></a>
+ <a class="link" href="lexicographical_compare.html#range.reference.algorithms.non_mutating.lexicographical_compare.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span>
+ <span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">lexicographical_compare</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">lexicographical_compare</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.lexicographical_compare.description"></a><h6>
+<a name="id2797368"></a>
+ <a class="link" href="lexicographical_compare.html#range.reference.algorithms.non_mutating.lexicographical_compare.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">lexicographical_compare</span></code>
+ compares element by element <code class="computeroutput"><span class="identifier">rng1</span></code>
+ against <code class="computeroutput"><span class="identifier">rng2</span></code>. If the
+ element from <code class="computeroutput"><span class="identifier">rng1</span></code> is
+ less than the element from <code class="computeroutput"><span class="identifier">rng2</span></code>
+ then <code class="computeroutput"><span class="keyword">true</span></code> is returned. If
+ the end of <code class="computeroutput"><span class="identifier">rng1</span></code> without
+ reaching the end of <code class="computeroutput"><span class="identifier">rng2</span></code>
+ this also causes the return value to be <code class="computeroutput"><span class="keyword">true</span></code>.
+ The return value is <code class="computeroutput"><span class="keyword">false</span></code>
+ in all other circumstances. The elements are compared using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code>
+ in the non-predicate versions of <code class="computeroutput"><span class="identifier">lexicographical_compare</span></code>
+ and using <code class="computeroutput"><span class="identifier">pred</span></code> in the
+ predicate versions.
+ </p>
+<a name="range.reference.algorithms.non_mutating.lexicographical_compare.definition"></a><h6>
+<a name="id2797546"></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="id2797620"></a>
+ <a class="link" href="lexicographical_compare.html#range.reference.algorithms.non_mutating.lexicographical_compare.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions of lexicographical_compare:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ Let <code class="computeroutput"><span class="identifier">x</span></code> be an object
+ of <code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type. Let <code class="computeroutput"><span class="identifier">y</span></code> be
+ an obect of <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type. <code class="computeroutput"><span class="identifier">x</span> <span class="special">&lt;</span>
+ <span class="identifier">y</span></code> must be valid. <code class="computeroutput"><span class="identifier">y</span> <span class="special">&lt;</span>
+ <span class="identifier">x</span></code> must be valid.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions of lexicographical_compare:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryPredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ first argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ second argument type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.lexicographical_compare.complexity"></a><h6>
+<a name="id2797984"></a>
+ <a class="link" href="lexicographical_compare.html#range.reference.algorithms.non_mutating.lexicographical_compare.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. At most <code class="computeroutput"><span class="number">2</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>
+ comparisons.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="find_if.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="lower_bound.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/lower_bound.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/lower_bound.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,176 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>lower_bound</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="lexicographical_compare.html" title="lexicographical_compare">
+<link rel="next" href="max_element.html" title="max_element">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lexicographical_compare.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="max_element.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="lower_bound">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2798092"></a>
+ <a class="link" href="lower_bound.html#range.reference.algorithms.non_mutating.lower_bound.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">lower_bound</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Value</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">lower_bound</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Value</span> <span class="identifier">val</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.lower_bound.description"></a><h6>
+<a name="id2798386"></a>
+ <a class="link" href="lower_bound.html#range.reference.algorithms.non_mutating.lower_bound.description">Description</a>
+ </h6>
+<p>
+ The versions of <code class="computeroutput"><span class="identifier">lower_bound</span></code>
+ that return an iterator, returns the first iterator in the range <code class="computeroutput"><span class="identifier">rng</span></code> such that: without predicate -
+ <code class="computeroutput"><span class="special">*</span><span class="identifier">i</span>
+ <span class="special">&lt;</span> <span class="identifier">value</span></code>
+ is <code class="computeroutput"><span class="keyword">false</span></code>, with predicate
+ - <code class="computeroutput"><span class="identifier">pred</span><span class="special">(*</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">value</span><span class="special">)</span></code>
+ is <code class="computeroutput"><span class="keyword">false</span></code>.
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ is returned if no such iterator exists.
+ </p>
+<p>
+ The versions of <code class="computeroutput"><span class="identifier">lower_bound</span></code>
+ that return a <code class="computeroutput"><span class="identifier">range_return</span></code>,
+ defines <code class="computeroutput"><span class="identifier">found</span></code> in the
+ same manner as the returned iterator described above.
+ </p>
+<a name="range.reference.algorithms.non_mutating.lower_bound.definition"></a><h6>
+<a name="id2798585"></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="id2798658"></a>
+ <a class="link" href="lower_bound.html#range.reference.algorithms.non_mutating.lower_bound.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">Value</span></code>
+ is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is the same type as <code class="computeroutput"><span class="identifier">Value</span></code>.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is the same type as <code class="computeroutput"><span class="identifier">Value</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is convertible to both of <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.lower_bound.precondition_"></a><h6>
+<a name="id2798915"></a>
+ <a class="link" href="lower_bound.html#range.reference.algorithms.non_mutating.lower_bound.precondition_">Precondition:</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng</span></code> is sorted in ascending
+ order according to <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code>.
+ </p>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng</span></code> is sorted in ascending
+ 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="id2799012"></a>
+ <a class="link" href="lower_bound.html#range.reference.algorithms.non_mutating.lower_bound.complexity">Complexity</a>
+ </h6>
+<p>
+ For ranges that model the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> concept the complexity is <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">log</span> <span class="identifier">N</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">N</span></code> is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ </p>
+<p>
+ For all other range types the complexity is <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span><span class="special">)</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lexicographical_compare.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="max_element.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/max_element.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/max_element.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,166 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>max_element</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="lower_bound.html" title="lower_bound">
+<link rel="next" href="min_element.html" title="min_element">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lower_bound.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="min_element.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="max_element">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2799158"></a>
+ <a class="link" href="max_element.html#range.reference.algorithms.non_mutating.max_element.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">max_element</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">max_element</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">max_element</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">max_element</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">max_element</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value_re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">max_element</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">max_element</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">max_element</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.max_element.description"></a><h6>
+<a name="id2800153"></a>
+ <a class="link" href="max_element.html#range.reference.algorithms.non_mutating.max_element.description">Description</a>
+ </h6>
+<p>
+ The versions of <code class="computeroutput"><span class="identifier">max_element</span></code>
+ that return an iterator, return the iterator to the maximum value as
+ determined by using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code> if a predicate is not supplied. Otherwise
+ the predicate <code class="computeroutput"><span class="identifier">pred</span></code> is
+ used to determine the maximum value. The versions of <code class="computeroutput"><span class="identifier">max_element</span></code>
+ that return a <code class="computeroutput"><span class="identifier">range_return</span></code>,
+ defines <code class="computeroutput"><span class="identifier">found</span></code> in the
+ same manner as the returned iterator described above.
+ </p>
+<a name="range.reference.algorithms.non_mutating.max_element.definition"></a><h6>
+<a name="id2800256"></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="id2800329"></a>
+ <a class="link" href="max_element.html#range.reference.algorithms.non_mutating.max_element.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryPredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is convertible to both of <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.max_element.complexity"></a><h6>
+<a name="id2800501"></a>
+ <a class="link" href="max_element.html#range.reference.algorithms.non_mutating.max_element.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Zero comparisons if <code class="computeroutput"><span class="identifier">empty</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>, otherwise <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span></code>
+ comparisons.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="lower_bound.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="min_element.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/min_element.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/min_element.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,166 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>min_element</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="max_element.html" title="max_element">
+<link rel="next" href="mismatch.html" title="mismatch">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="max_element.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mismatch.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="min_element">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2800604"></a>
+ <a class="link" href="min_element.html#range.reference.algorithms.non_mutating.min_element.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">min_element</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">min_element</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">min_element</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">min_element</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">min_element</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value_re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">min_element</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">min_element</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">min_element</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.min_element.description"></a><h6>
+<a name="id2801600"></a>
+ <a class="link" href="min_element.html#range.reference.algorithms.non_mutating.min_element.description">Description</a>
+ </h6>
+<p>
+ The versions of <code class="computeroutput"><span class="identifier">min_element</span></code>
+ that return an iterator, return the iterator to the minimum value as
+ determined by using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code> if a predicate is not supplied. Otherwise
+ the predicate <code class="computeroutput"><span class="identifier">pred</span></code> is
+ used to determine the minimum value. The versions of <code class="computeroutput"><span class="identifier">min_element</span></code>
+ that return a <code class="computeroutput"><span class="identifier">range_return</span></code>,
+ defines <code class="computeroutput"><span class="identifier">found</span></code> in the
+ same manner as the returned iterator described above.
+ </p>
+<a name="range.reference.algorithms.non_mutating.min_element.definition"></a><h6>
+<a name="id2801702"></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="id2801775"></a>
+ <a class="link" href="min_element.html#range.reference.algorithms.non_mutating.min_element.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryPredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is convertible to both of <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.min_element.complexity"></a><h6>
+<a name="id2801947"></a>
+ <a class="link" href="min_element.html#range.reference.algorithms.non_mutating.min_element.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Zero comparisons if <code class="computeroutput"><span class="identifier">empty</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>, otherwise <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span></code>
+ comparisons.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="max_element.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="mismatch.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/mismatch.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/mismatch.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,222 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>mismatch</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="min_element.html" title="min_element">
+<link rel="next" href="search.html" title="search">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="min_element.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="search.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="mismatch">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2802051"></a>
+ <a class="link" href="mismatch.html#range.reference.algorithms.non_mutating.mismatch.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
+<span class="identifier">mismatch</span><span class="special">(</span><span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
+<span class="identifier">mismatch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">SinglePassRange2</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
+<span class="identifier">mismatch</span><span class="special">(</span><span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">SinglePassRange2</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
+<span class="identifier">mismatch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
+<span class="identifier">mismatch</span><span class="special">(</span><span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
+<span class="identifier">mismatch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">SinglePassRange2</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
+<span class="identifier">mismatch</span><span class="special">(</span><span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">SinglePassRange2</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
+<span class="identifier">mismatch</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.mismatch.description"></a><h6>
+<a name="id2803769"></a>
+ <a class="link" href="mismatch.html#range.reference.algorithms.non_mutating.mismatch.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">mismatch</span></code> finds the first
+ position where the two ranges <code class="computeroutput"><span class="identifier">rng1</span></code>
+ and <code class="computeroutput"><span class="identifier">rng2</span></code> differ.
+ </p>
+<p>
+ 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>
+<p>
+ The versions of <code class="computeroutput"><span class="identifier">mismatch</span></code>
+ that return a <code class="computeroutput"><span class="identifier">range_return</span></code>,
+ defines <code class="computeroutput"><span class="identifier">found</span></code> in the
+ same manner as the returned iterator described above.
+ </p>
+<a name="range.reference.algorithms.non_mutating.mismatch.definition"></a><h6>
+<a name="id2803909"></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="id2803982"></a>
+ <a class="link" href="mismatch.html#range.reference.algorithms.non_mutating.mismatch.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>s value
+ type can be compared for equality with <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryPredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ first argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ second argument type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.mismatch.precondition_"></a><h6>
+<a name="id2804278"></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="id2804354"></a>
+ <a class="link" href="mismatch.html#range.reference.algorithms.non_mutating.mismatch.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. At most <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span></code> comparisons.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="min_element.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="search.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/search.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/search.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,206 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>search</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="mismatch.html" title="mismatch">
+<link rel="next" href="search_n.html" title="search_n">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mismatch.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="search_n.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="search">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2804423"></a>
+ <a class="link" href="search.html#range.reference.algorithms.non_mutating.search.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange2</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange1</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">search</span><span class="special">(</span><span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange2</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange1</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">search</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+<span class="identifier">search</span><span class="special">(</span><span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange1</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">search</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange2</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange1</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">search</span><span class="special">(</span><span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange2</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange1</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">search</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange1</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+<span class="identifier">search</span><span class="special">(</span><span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange1</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">search</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span> <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.search.description"></a><h6>
+<a name="id2805770"></a>
+ <a class="link" href="search.html#range.reference.algorithms.non_mutating.search.description">Description</a>
+ </h6>
+<p>
+ The versions of <code class="computeroutput"><span class="identifier">search</span></code>
+ that return an iterator, return an iterator to the start of the first
+ subsequence in <code class="computeroutput"><span class="identifier">rng1</span></code> that
+ is equal to the subsequence <code class="computeroutput"><span class="identifier">rng2</span></code>.
+ The <code class="computeroutput"><span class="identifier">end</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</span></code>
+ is returned if no such subsequence exists in <code class="computeroutput"><span class="identifier">rng1</span></code>.
+ 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">search</span></code>, and by satisfying <code class="computeroutput"><span class="identifier">pred</span></code> in the predicate versions.
+ </p>
+<p>
+ The versions of <code class="computeroutput"><span class="identifier">search</span></code>
+ that return a <code class="computeroutput"><span class="identifier">range_return</span></code>,
+ defines <code class="computeroutput"><span class="identifier">found</span></code> in the
+ same manner as the returned iterator described above.
+ </p>
+<a name="range.reference.algorithms.non_mutating.search.definition"></a><h6>
+<a name="id2805944"></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="id2806016"></a>
+ <a class="link" href="search.html#range.reference.algorithms.non_mutating.search.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange1</span></code> is a
+ model of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange2</span></code> is a
+ model of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange1</span></code>'s value
+ type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange2</span></code>'s value
+ type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange1</span></code>s value
+ type can be compared for equality with <code class="computeroutput"><span class="identifier">ForwardRange2</span></code>'s
+ value type.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange1</span></code> is a
+ model of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange2</span></code> is a
+ model of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryPredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange1</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ first argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange2</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ second argument type.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.search.complexity"></a><h6>
+<a name="id2806312"></a>
+ <a class="link" href="search.html#range.reference.algorithms.non_mutating.search.complexity">Complexity</a>
+ </h6>
+<p>
+ Average complexity is Linear. Worst-case complexity is quadratic.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="mismatch.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="search_n.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/search_n.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/search_n.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,148 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>search_n</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="search.html" title="search">
+<link rel="next" href="upper_bound.html" title="upper_bound">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="search.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="upper_bound.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="search_n">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2806356"></a>
+ <a class="link" href="search_n.html#range.reference.algorithms.non_mutating.search_n.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Integer</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">search_n</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Integer</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">value</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Integer</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">search_n</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Integer</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">value</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Integer</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">search_n</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Integer</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">value</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">binary_pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Integer</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">search_n</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Integer</span> <span class="identifier">n</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">Value</span><span class="special">&amp;</span> <span class="identifier">value</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">binary_pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.search_n.description"></a><h6>
+<a name="id2807112"></a>
+ <a class="link" href="search_n.html#range.reference.algorithms.non_mutating.search_n.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">search_n</span></code> searches <code class="computeroutput"><span class="identifier">rng</span></code> for a sequence of length <code class="computeroutput"><span class="identifier">n</span></code> equal to <code class="computeroutput"><span class="identifier">value</span></code>
+ where equality is determined by operator== in the non-predicate case,
+ and by a predicate when one is supplied.
+ </p>
+<a name="range.reference.algorithms.non_mutating.search_n.definition"></a><h6>
+<a name="id2807182"></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="id2807256"></a>
+ <a class="link" href="search_n.html#range.reference.algorithms.non_mutating.search_n.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is a model of the <code class="computeroutput"><span class="identifier">EqualityComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>s value
+ type can be compared for equality with <code class="computeroutput"><span class="identifier">Value</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Integer</span></code> is a model
+ of the <code class="computeroutput"><span class="identifier">IntegerConcept</span></code>.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryPredicateConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ first argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is convertible
+ to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ second argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Integer</span></code> is a model
+ of the <code class="computeroutput"><span class="identifier">IntegerConcept</span></code>.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.search_n.complexity"></a><h6>
+<a name="id2807529"></a>
+ <a class="link" href="search_n.html#range.reference.algorithms.non_mutating.search_n.complexity">Complexity</a>
+ </h6>
+<p>
+ Average complexity is Linear. Worst-case complexity is quadratic.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="search.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="upper_bound.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/upper_bound.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/upper_bound.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,173 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>upper_bound</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../non_mutating.html" title="Non-mutating algorithms">
+<link rel="prev" href="search_n.html" title="search_n">
+<link rel="next" href="../set.html" title="Set algorithms">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="search_n.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../set.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="upper_bound">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2807576"></a>
+ <a class="link" href="upper_bound.html#range.reference.algorithms.non_mutating.upper_bound.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">upper_bound</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Value</span> <span class="identifier">val</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="identifier">range_return_value</span> <span class="identifier">re</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">ForwardRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span>
+ <span class="special">&gt;</span>
+<span class="keyword">typename</span> <span class="identifier">range_return</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">,</span> <span class="identifier">re</span><span class="special">&gt;::</span><span class="identifier">type</span>
+<span class="identifier">upper_bound</span><span class="special">(</span><span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Value</span> <span class="identifier">val</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.non_mutating.upper_bound.description"></a><h6>
+<a name="id2807870"></a>
+ <a class="link" href="upper_bound.html#range.reference.algorithms.non_mutating.upper_bound.description">Description</a>
+ </h6>
+<p>
+ The versions of <code class="computeroutput"><span class="identifier">upper_bound</span></code>
+ that return an iterator, returns the first iterator in the range <code class="computeroutput"><span class="identifier">rng</span></code> such that: without predicate -
+ <code class="computeroutput"><span class="identifier">val</span> <span class="special">&lt;</span>
+ <span class="special">*</span><span class="identifier">i</span></code>
+ is <code class="computeroutput"><span class="keyword">true</span></code>, with predicate
+ - <code class="computeroutput"><span class="identifier">pred</span><span class="special">(</span><span class="identifier">val</span><span class="special">,</span> <span class="special">*</span><span class="identifier">i</span><span class="special">)</span></code> is <code class="computeroutput"><span class="keyword">true</span></code>.
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">end</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ is returned if no such iterator exists.
+ </p>
+<p>
+ The versions of <code class="computeroutput"><span class="identifier">upper_bound</span></code>
+ that return a <code class="computeroutput"><span class="identifier">range_return</span></code>,
+ defines <code class="computeroutput"><span class="identifier">found</span></code> in the
+ same manner as the returned iterator described above.
+ </p>
+<a name="range.reference.algorithms.non_mutating.upper_bound.definition"></a><h6>
+<a name="id2808073"></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="id2808146"></a>
+ <a class="link" href="upper_bound.html#range.reference.algorithms.non_mutating.upper_bound.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">Value</span></code>
+ is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is the same type as <code class="computeroutput"><span class="identifier">Value</span></code>.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code> is a model
+ of the <a class="link" href="../../../concepts/forward_range.html" title="Forward Range">Forward Range</a>
+ Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is the same type as <code class="computeroutput"><span class="identifier">Value</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">ForwardRange</span></code>'s value
+ type is convertible to both of <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.non_mutating.upper_bound.precondition_"></a><h6>
+<a name="id2808404"></a>
+ <a class="link" href="upper_bound.html#range.reference.algorithms.non_mutating.upper_bound.precondition_">Precondition:</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng</span></code> is sorted in ascending
+ order according to <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code>.
+ </p>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng</span></code> is sorted in ascending
+ 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="id2808500"></a>
+ <a class="link" href="upper_bound.html#range.reference.algorithms.non_mutating.upper_bound.complexity">Complexity</a>
+ </h6>
+<p>
+ For ranges that model the <a class="link" href="../../../concepts/random_access_range.html" title="Random Access Range">Random
+ Access Range</a> Concept the complexity is <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">log</span> <span class="identifier">N</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">N</span></code> is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ For all other range types the complexity is <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span><span class="special">)</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="search_n.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../non_mutating.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../set.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/numeric.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/numeric.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Numeric algorithms</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../algorithms.html" title="Range Algorithm">
+<link rel="prev" href="new/remove_erase_if.html" title="remove_erase_if">
+<link rel="next" href="numeric/accumulate.html" title="accumulate">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="new/remove_erase_if.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="numeric/accumulate.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Numeric algorithms">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="range.reference.algorithms.numeric"></a><a class="link" href="numeric.html" title="Numeric algorithms"> Numeric algorithms</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> accumulate</span></dt>
+<dt><span class="section"><a href="numeric/adjacent_difference.html">
+ adjacent_difference</a></span></dt>
+<dt><span class="section"><a href="numeric/inner_product.html">
+ inner_product</a></span></dt>
+<dt><span class="section"><a href="numeric/partial_sum.html">
+ partial_sum</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="new/remove_erase_if.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="numeric/accumulate.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/numeric/accumulate.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/numeric/accumulate.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,156 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>accumulate</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../numeric.html" title="Numeric algorithms">
+<link rel="prev" href="../numeric.html" title="Numeric algorithms">
+<link rel="next" href="adjacent_difference.html" title="adjacent_difference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../numeric.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adjacent_difference.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="accumulate">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2826249"></a>
+ <a class="link" href="accumulate.html#range.reference.algorithms.numeric.accumulate.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span>
+ <span class="special">&gt;</span>
+<span class="identifier">Value</span> <span class="identifier">accumulate</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">source_rng</span><span class="special">,</span>
+ <span class="identifier">Value</span> <span class="identifier">init</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryOperation</span>
+ <span class="special">&gt;</span>
+<span class="identifier">Value</span> <span class="identifier">accumulate</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">source_rng</span><span class="special">,</span>
+ <span class="identifier">Value</span> <span class="identifier">init</span><span class="special">,</span>
+ <span class="identifier">BinaryOperation</span> <span class="identifier">op</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.numeric.accumulate.description"></a><h6>
+<a name="id2826514"></a>
+ <a class="link" href="accumulate.html#range.reference.algorithms.numeric.accumulate.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">accumulate</span></code> is a generalisation
+ of summation. It computes a binary operation (<code class="computeroutput"><span class="keyword">operator</span><span class="special">+</span></code> in the non-predicate version) of <code class="computeroutput"><span class="identifier">init</span></code> and all of the elements in <code class="computeroutput"><span class="identifier">rng</span></code>.
+ </p>
+<p>
+ The return value is the resultant value of the above algorithm.
+ </p>
+<a name="range.reference.algorithms.numeric.accumulate.definition"></a><h6>
+<a name="id2826594"></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="id2826658"></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="id2826681"></a>
+ <a class="link" href="accumulate.html#range.reference.algorithms.numeric.accumulate.for_the_first_version">For
+ the first version</a>
+ </h6>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">AssignableConcept</span></code>.
+ </li>
+<li class="listitem">
+ An <code class="computeroutput"><span class="keyword">operator</span><span class="special">+</span></code>
+ is defined for a left-hand operand of type <code class="computeroutput"><span class="identifier">Value</span></code>
+ and a right-hand operance of the <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>
+ value type.
+ </li>
+<li class="listitem">
+ The return type of the above operator is convertible to <code class="computeroutput"><span class="identifier">Value</span></code>.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.numeric.accumulate.for_the_second_version"></a><h6>
+<a name="id2826820"></a>
+ <a class="link" href="accumulate.html#range.reference.algorithms.numeric.accumulate.for_the_second_version">For
+ the second version</a>
+ </h6>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">AssignableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryOperation</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryFunctionConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is convertible
+ to <code class="computeroutput"><span class="identifier">BinaryOperation</span></code>'s
+ first argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code>'s value
+ type is convertible to <code class="computeroutput"><span class="identifier">BinaryOperation</span></code>'s
+ second argument type.
+ </li>
+<li class="listitem">
+ The return type of <code class="computeroutput"><span class="identifier">BinaryOperation</span></code>
+ is convertible to <code class="computeroutput"><span class="identifier">Value</span></code>.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.numeric.accumulate.complexity"></a><h6>
+<a name="id2827003"></a>
+ <a class="link" href="accumulate.html#range.reference.algorithms.numeric.accumulate.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">source_rng</span><span class="special">)</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../numeric.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="adjacent_difference.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/numeric/adjacent_difference.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/numeric/adjacent_difference.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,179 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>adjacent_difference</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../numeric.html" title="Numeric algorithms">
+<link rel="prev" href="accumulate.html" title="accumulate">
+<link rel="next" href="inner_product.html" title="inner_product">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="inner_product.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="adjacent_difference">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2827074"></a>
+ <a class="link" href="adjacent_difference.html#range.reference.algorithms.numeric.adjacent_difference.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span>
+ <span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">adjacent_difference</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">source_rng</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out_it</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryOperation</span>
+ <span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">adjacent_difference</span><span class="special">(</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">source_rng</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out_it</span><span class="special">,</span>
+ <span class="identifier">BinaryOperation</span> <span class="identifier">op</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.numeric.adjacent_difference.description"></a><h6>
+<a name="id2827342"></a>
+ <a class="link" href="adjacent_difference.html#range.reference.algorithms.numeric.adjacent_difference.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">adjacent_difference</span></code> calculates
+ the differences of adjacent_elements in <code class="computeroutput"><span class="identifier">rng</span></code>.
+ </p>
+<p>
+ The first version of <code class="computeroutput"><span class="identifier">adjacent_difference</span></code>
+ uses <code class="computeroutput"><span class="keyword">operator</span><span class="special">-()</span></code>
+ to calculate the differences. The second version uses <code class="computeroutput"><span class="identifier">BinaryOperation</span></code>
+ 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="id2827449"></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="id2827513"></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="id2827538"></a>
+ <a class="link" href="adjacent_difference.html#range.reference.algorithms.numeric.adjacent_difference.for_the_first_version">For
+ the first version</a>
+ </h6>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+ If <code class="computeroutput"><span class="identifier">x</span></code> and <code class="computeroutput"><span class="identifier">y</span></code> are objects of <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>'s
+ value type, then <code class="computeroutput"><span class="identifier">x</span> <span class="special">-</span> <span class="identifier">y</span></code>
+ is defined.
+ </li>
+<li class="listitem">
+ The value type of <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>
+ is convertible to a type in <code class="computeroutput"><span class="identifier">OutputIterator</span></code>'s
+ set of value types.
+ </li>
+<li class="listitem">
+ The return type of <code class="computeroutput"><span class="identifier">x</span> <span class="special">-</span> <span class="identifier">y</span></code>
+ is convertible to a type in <code class="computeroutput"><span class="identifier">OutputIterator</span></code>'s
+ set of value types.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.numeric.adjacent_difference.for_the_second_version"></a><h6>
+<a name="id2827741"></a>
+ <a class="link" href="adjacent_difference.html#range.reference.algorithms.numeric.adjacent_difference.for_the_second_version">For
+ the second version</a>
+ </h6>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryOperation</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryFunctionConcept</span></code>.
+ </li>
+<li class="listitem">
+ The value type of <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>
+ is convertible to <code class="computeroutput"><span class="identifier">BinaryOperation</span></code>'s
+ first and second argument types.
+ </li>
+<li class="listitem">
+ The value type of <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>
+ is convertible to a type in <code class="computeroutput"><span class="identifier">OutputIterator</span></code>'s
+ set of value types.
+ </li>
+<li class="listitem">
+ The result type of <code class="computeroutput"><span class="identifier">BinaryOperation</span></code>
+ is convertible to a type in <code class="computeroutput"><span class="identifier">OutputIterator</span></code>'s
+ set of value types.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.numeric.adjacent_difference.precondition_"></a><h6>
+<a name="id2827926"></a>
+ <a class="link" href="adjacent_difference.html#range.reference.algorithms.numeric.adjacent_difference.precondition_">Precondition:</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="special">[</span><span class="identifier">result</span><span class="special">,</span> <span class="identifier">result</span>
+ <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="id2828003"></a>
+ <a class="link" href="adjacent_difference.html#range.reference.algorithms.numeric.adjacent_difference.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. If <code class="computeroutput"><span class="identifier">empty</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ then zero applications, otherwise <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span></code>
+ applications are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="accumulate.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="inner_product.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/numeric/inner_product.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/numeric/inner_product.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,192 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>inner_product</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../numeric.html" title="Numeric algorithms">
+<link rel="prev" href="adjacent_difference.html" title="adjacent_difference">
+<link rel="next" href="partial_sum.html" title="partial_sum">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="adjacent_difference.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="partial_sum.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="inner_product">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2828109"></a>
+ <a class="link" href="inner_product.html#range.reference.algorithms.numeric.inner_product.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">&gt;</span>
+ <span class="identifier">Value</span> <span class="identifier">inner_product</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">Value</span> <span class="identifier">init</span> <span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">Value</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryOperation1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryOperation2</span><span class="special">&gt;</span>
+ <span class="identifier">Value</span> <span class="identifier">inner_product</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">Value</span> <span class="identifier">init</span><span class="special">,</span>
+ <span class="identifier">BinaryOperation1</span> <span class="identifier">op1</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.numeric.inner_product.description"></a><h6>
+<a name="id2828476"></a>
+ <a class="link" href="inner_product.html#range.reference.algorithms.numeric.inner_product.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">inner_product</span></code> calculates
+ a generalised inner product of the range <code class="computeroutput"><span class="identifier">rng1</span></code>
+ and <code class="computeroutput"><span class="identifier">rng2</span></code>.
+ </p>
+<p>
+ For further information on the <code class="computeroutput"><span class="identifier">inner_product</span></code>
+ algorithm please see inner_product.
+ </p>
+<a name="range.reference.algorithms.numeric.inner_product.definition"></a><h6>
+<a name="id2828557"></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="id2828622"></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="id2828645"></a>
+ <a class="link" href="inner_product.html#range.reference.algorithms.numeric.inner_product.for_the_first_version">For
+ the first version</a>
+ </h6>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">AssignableConcept</span></code>.
+ </li>
+<li class="listitem">
+ If <code class="computeroutput"><span class="identifier">x</span></code> is an object of
+ type <code class="computeroutput"><span class="identifier">Value</span></code>, <code class="computeroutput"><span class="identifier">y</span></code> is an object of <code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type, and <code class="computeroutput"><span class="identifier">z</span></code> is
+ an object of <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type, then <code class="computeroutput"><span class="identifier">x</span> <span class="special">+</span> <span class="identifier">y</span> <span class="special">*</span> <span class="identifier">z</span></code>
+ is defined.
+ </li>
+<li class="listitem">
+ The result type of the expression <code class="computeroutput"><span class="identifier">x</span>
+ <span class="special">+</span> <span class="identifier">y</span>
+ <span class="special">*</span> <span class="identifier">z</span></code>
+ is convertible to <code class="computeroutput"><span class="identifier">Value</span></code>.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.numeric.inner_product.for_the_second_version"></a><h6>
+<a name="id2828898"></a>
+ <a class="link" href="inner_product.html#range.reference.algorithms.numeric.inner_product.for_the_second_version">For
+ the second version</a>
+ </h6>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is a model of
+ the <code class="computeroutput"><span class="identifier">AssignableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryOperation1</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryFunctionConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryOperation2</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryFunctionConcept</span></code>.
+ </li>
+<li class="listitem">
+ The value type of <code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>
+ is convertible to the first argument type of <code class="computeroutput"><span class="identifier">BinaryOperation2</span></code>.
+ </li>
+<li class="listitem">
+ The value type of <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>
+ is convertible to the second argument type of <code class="computeroutput"><span class="identifier">BinaryOperation2</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Value</span></code> is convertible
+ to the value type of <code class="computeroutput"><span class="identifier">BinaryOperation1</span></code>.
+ </li>
+<li class="listitem">
+ The return type of <code class="computeroutput"><span class="identifier">BinaryOperation2</span></code>
+ is convertible to the second argument type of <code class="computeroutput"><span class="identifier">BinaryOperation1</span></code>.
+ </li>
+<li class="listitem">
+ The return type of <code class="computeroutput"><span class="identifier">BinaryOperation1</span></code>
+ is convertible to <code class="computeroutput"><span class="identifier">Value</span></code>.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.numeric.inner_product.precondition_"></a><h6>
+<a name="id2829183"></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="id2829259"></a>
+ <a class="link" href="inner_product.html#range.reference.algorithms.numeric.inner_product.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. Exactly <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="adjacent_difference.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="partial_sum.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/numeric/partial_sum.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/numeric/partial_sum.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,161 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>partial_sum</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../numeric.html" title="Numeric algorithms">
+<link rel="prev" href="inner_product.html" title="inner_product">
+<link rel="next" href="../../ranges.html" title="Provided Ranges">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inner_product.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../ranges.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="partial_sum">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2829328"></a>
+ <a class="link" href="partial_sum.html#range.reference.algorithms.numeric.partial_sum.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">partial_sum</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out_it</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryOperation</span><span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">partial_sum</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out_it</span><span class="special">,</span>
+ <span class="identifier">BinaryOperation</span> <span class="identifier">op</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.numeric.partial_sum.description"></a><h6>
+<a name="id2829588"></a>
+ <a class="link" href="partial_sum.html#range.reference.algorithms.numeric.partial_sum.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">partial_sum</span></code> calculates
+ a generalised partial sum of <code class="computeroutput"><span class="identifier">rng</span></code>
+ 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="id2829729"></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="id2829794"></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="id2829817"></a>
+ <a class="link" href="partial_sum.html#range.reference.algorithms.numeric.partial_sum.for_the_first_version">For
+ the first version</a>
+ </h6>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+ If <code class="computeroutput"><span class="identifier">x</span></code> and <code class="computeroutput"><span class="identifier">y</span></code> are objects of <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>'s
+ value type, then <code class="computeroutput"><span class="identifier">x</span> <span class="special">+</span> <span class="identifier">y</span></code>
+ is defined.
+ </li>
+<li class="listitem">
+ The return type of <code class="computeroutput"><span class="identifier">x</span> <span class="special">+</span> <span class="identifier">y</span></code>
+ is convertible to the value type of <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>.
+ </li>
+<li class="listitem">
+ The value type of <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>
+ is convertible to a type in <code class="computeroutput"><span class="identifier">OutputIterator</span></code>'s
+ set of value types.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.numeric.partial_sum.for_the_second_version"></a><h6>
+<a name="id2830019"></a>
+ <a class="link" href="partial_sum.html#range.reference.algorithms.numeric.partial_sum.for_the_second_version">For
+ the second version</a>
+ </h6>
+<div class="orderedlist"><ol class="orderedlist" type="1">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryOperation</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">BinaryFunctionConcept</span></code>.
+ </li>
+<li class="listitem">
+ The result type of <code class="computeroutput"><span class="identifier">BinaryOperation</span></code>
+ is convertible to the value type of <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>.
+ </li>
+<li class="listitem">
+ The value type of <code class="computeroutput"><span class="identifier">SinglePassRange</span></code>
+ is convertible to a type in <code class="computeroutput"><span class="identifier">OutputIterator</span></code>'s
+ set of value types.
+ </li>
+</ol></div>
+<a name="range.reference.algorithms.numeric.partial_sum.precondition_"></a><h6>
+<a name="id2830180"></a>
+ <a class="link" href="partial_sum.html#range.reference.algorithms.numeric.partial_sum.precondition_">Precondition:</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="special">[</span><span class="identifier">result</span><span class="special">,</span> <span class="identifier">result</span>
+ <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="id2830256"></a>
+ <a class="link" href="partial_sum.html#range.reference.algorithms.numeric.partial_sum.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. If <code class="computeroutput"><span class="identifier">empty</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code>
+ then zero applications, otherwise <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span> <span class="special">-</span> <span class="number">1</span></code>
+ applications are performed.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="inner_product.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../numeric.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../ranges.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/permutation.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/permutation.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,50 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Permutation algorithms</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../algorithms.html" title="Range Algorithm">
+<link rel="prev" href="heap/sort_heap.html" title="sort_heap">
+<link rel="next" href="permutation/next_permutation.html" title="next_permutation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="heap/sort_heap.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="permutation/next_permutation.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Permutation algorithms">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="range.reference.algorithms.permutation"></a><a class="link" href="permutation.html" title="Permutation algorithms"> Permutation
+ algorithms</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"><a href="permutation/next_permutation.html">
+ next_permutation</a></span></dt>
+<dt><span class="section"><a href="permutation/prev_permutation.html">
+ prev_permutation</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="heap/sort_heap.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="permutation/next_permutation.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/permutation/next_permutation.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/permutation/next_permutation.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,149 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>next_permutation</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../permutation.html" title="Permutation algorithms">
+<link rel="prev" href="../permutation.html" title="Permutation algorithms">
+<link rel="next" href="prev_permutation.html" title="prev_permutation">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../permutation.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../permutation.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="prev_permutation.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="next_permutation">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2818407"></a>
+ <a class="link" href="next_permutation.html#range.reference.algorithms.permutation.next_permutation.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">next_permutation</span><span class="special">(</span><span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">next_permutation</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Compare</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">next_permutation</span><span class="special">(</span><span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Compare</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">next_permutation</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.permutation.next_permutation.description"></a><h6>
+<a name="id2818759"></a>
+ <a class="link" href="next_permutation.html#range.reference.algorithms.permutation.next_permutation.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">next_permutation</span></code> transforms
+ the range of elements <code class="computeroutput"><span class="identifier">rng</span></code>
+ into the lexicographically next greater permutation of the elements if
+ such a permutation exists. If one does not exist then the range is transformed
+ into the lexicographically smallest permutation and <code class="computeroutput"><span class="keyword">false</span></code>
+ is returned. <code class="computeroutput"><span class="keyword">true</span></code> is returned
+ when the next greater permutation is successfully generated.
+ </p>
+<p>
+ The ordering relationship is determined by using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code> in the non-predicate versions, and
+ by evaluating <code class="computeroutput"><span class="identifier">pred</span></code> in
+ the predicate versions.
+ </p>
+<a name="range.reference.algorithms.permutation.next_permutation.definition"></a><h6>
+<a name="id2818866"></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="id2818940"></a>
+ <a class="link" href="next_permutation.html#range.reference.algorithms.permutation.next_permutation.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is a model of the <a class="link" href="../../../concepts/bidirectional_range.html" title="Bidirectional Range">Bidirectional
+ Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is a model of the <a class="link" href="../../../concepts/bidirectional_range.html" title="Bidirectional Range">Bidirectional
+ Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Compare</span></code> is a model
+ of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>'s
+ value type is convertible to both of <code class="computeroutput"><span class="identifier">Compare</span></code>'s
+ argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.permutation.next_permutation.complexity"></a><h6>
+<a name="id2819175"></a>
+ <a class="link" href="next_permutation.html#range.reference.algorithms.permutation.next_permutation.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. At most <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span> <span class="special">/</span> <span class="number">2</span></code>
+ swaps.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../permutation.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../permutation.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="prev_permutation.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/permutation/prev_permutation.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/permutation/prev_permutation.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,149 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>prev_permutation</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../permutation.html" title="Permutation algorithms">
+<link rel="prev" href="next_permutation.html" title="next_permutation">
+<link rel="next" href="../new.html" title="New algorithms">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="next_permutation.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../permutation.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../new.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="prev_permutation">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2819257"></a>
+ <a class="link" href="prev_permutation.html#range.reference.algorithms.permutation.prev_permutation.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">prev_permutation</span><span class="special">(</span><span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">prev_permutation</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Compare</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">prev_permutation</span><span class="special">(</span><span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="identifier">pred</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">BidirectionalRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Compare</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">prev_permutation</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">BidirectionalRange</span><span class="special">&amp;</span> <span class="identifier">rng</span><span class="special">,</span> <span class="identifier">Compare</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.permutation.prev_permutation.description"></a><h6>
+<a name="id2819608"></a>
+ <a class="link" href="prev_permutation.html#range.reference.algorithms.permutation.prev_permutation.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">prev_permutation</span></code> transforms
+ the range of elements <code class="computeroutput"><span class="identifier">rng</span></code>
+ into the lexicographically next smaller permutation of the elements if
+ such a permutation exists. If one does not exist then the range is transformed
+ into the lexicographically largest permutation and <code class="computeroutput"><span class="keyword">false</span></code>
+ is returned. <code class="computeroutput"><span class="keyword">true</span></code> is returned
+ when the next smaller permutation is successfully generated.
+ </p>
+<p>
+ The ordering relationship is determined by using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code> in the non-predicate versions, and
+ by evaluating <code class="computeroutput"><span class="identifier">pred</span></code> in
+ the predicate versions.
+ </p>
+<a name="range.reference.algorithms.permutation.prev_permutation.definition"></a><h6>
+<a name="id2819716"></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="id2819790"></a>
+ <a class="link" href="prev_permutation.html#range.reference.algorithms.permutation.prev_permutation.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is a model of the <a class="link" href="../../../concepts/bidirectional_range.html" title="Bidirectional Range">Bidirectional
+ Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is a model of the <a class="link" href="../../../concepts/bidirectional_range.html" title="Bidirectional Range">Bidirectional
+ Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>
+ is mutable.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">Compare</span></code> is a model
+ of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BidirectionalRange</span></code>'s
+ value type is convertible to both of <code class="computeroutput"><span class="identifier">Compare</span></code>'s
+ argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.permutation.prev_permutation.complexity"></a><h6>
+<a name="id2820025"></a>
+ <a class="link" href="prev_permutation.html#range.reference.algorithms.permutation.prev_permutation.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. At most <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span> <span class="special">/</span> <span class="number">2</span></code>
+ swaps.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="next_permutation.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../permutation.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../new.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: trunk/libs/range/doc/html/range/reference/algorithms/permutation_algorithms.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/algorithms/permutation_algorithms.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
+++ (empty file)
@@ -1,50 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Permutation algorithms</title>
-<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
-<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
-<link rel="up" href="../algorithms.html" title="Range Algorithm">
-<link rel="prev" href="heap_algorithms/sort_heap.html" title="sort_heap">
-<link rel="next" href="permutation_algorithms/next_permutation.html" title="next_permutation">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="heap_algorithms/sort_heap.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="permutation_algorithms/next_permutation.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" title="Permutation algorithms">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="range.reference.algorithms.permutation_algorithms"></a><a class="link" href="permutation_algorithms.html" title="Permutation algorithms">
- Permutation algorithms</a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="permutation_algorithms/next_permutation.html">
- next_permutation</a></span></dt>
-<dt><span class="section"><a href="permutation_algorithms/prev_permutation.html">
- prev_permutation</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="heap_algorithms/sort_heap.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="permutation_algorithms/next_permutation.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_introduction.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_introduction.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
+++ (empty file)
@@ -1,257 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Introduction and motivation</title>
-<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
-<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
-<link rel="up" href="../algorithms.html" title="Range Algorithm">
-<link rel="prev" href="../algorithms.html" title="Range Algorithm">
-<link rel="next" href="range_algorithm_mutating_algorithms.html" title="Mutating algorithms">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../algorithms.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="range_algorithm_mutating_algorithms.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" title="Introduction and motivation">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="range.reference.algorithms.range_algorithm_introduction"></a><a class="link" href="range_algorithm_introduction.html" title="Introduction and motivation">
- Introduction and motivation</a>
-</h4></div></div></div>
-<p>
- In its most simple form a <span class="bold"><strong>Range Algorithm</strong></span>
- (or range-based algorithm) is simply an iterator-based algorithm where
- the <span class="emphasis"><em>two</em></span> iterator arguments have been replaced by
- <span class="emphasis"><em>one</em></span> range argument. For example, we may write
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="preprocessor">#include</span> <span class="special">&lt;</span><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">hpp</span><span class="special">&gt;</span>
-<span class="preprocessor">#include</span> <span class="special">&lt;</span><span class="identifier">vector</span><span class="special">&gt;</span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span> <span class="special">=</span> <span class="special">...;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">sort</span><span class="special">(</span><span class="identifier">vec</span><span class="special">);</span>
-</pre>
-<p>
- </p>
-<p>
- instead of
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">sort</span><span class="special">(</span><span class="identifier">vec</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">vec</span><span class="special">.</span><span class="identifier">end</span><span class="special">());</span>
-</pre>
-<p>
- </p>
-<p>
- However, the return type of range algorithms is almost always different
- from that of existing iterator-based algorithms.
- </p>
-<p>
- One group of algorithms, like <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">sort</span><span class="special">()</span></code>, will simply return the same range so
- that we can continue to pass the range around and/or further modify it.
- Because of this we may write
-</p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">:</span><span class="identifier">unique</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">sort</span><span class="special">(</span><span class="identifier">vec</span><span class="special">));</span>
-</pre>
-<p>
- to first sort the range and then run <code class="computeroutput"><span class="identifier">unique</span><span class="special">()</span></code> on the sorted range.
- </p>
-<p>
- Algorithms like <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unique</span><span class="special">()</span></code>
- fall into another group of algorithms that return (potentially) narrowed
- views of the original range. By default <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unique</span><span class="special">(</span><span class="identifier">rng</span><span class="special">)</span></code> returns the range <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">found</span><span class="special">)</span></code>
- where <code class="computeroutput"><span class="identifier">found</span></code> denotes the
- iterator returned by <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">unique</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></code>
- </p>
-<p>
- Therefore exactly the unique values can be copied by writing
-</p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">copy</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unique</span><span class="special">(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">sort</span><span class="special">(</span><span class="identifier">vec</span><span class="special">)),</span>
- <span class="identifier">std</span><span class="special">::</span><span class="identifier">ostream_iterator</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;(</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span><span class="special">));</span>
-</pre>
-<p>
- </p>
-<p>
- Algorithms like <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unique</span></code> usually return the same range:
- <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">found</span><span class="special">)</span></code>. However, this behaviour may be changed
- by supplying the algorithms with a template argument:
- </p>
-<div class="informaltable"><table class="table">
-<colgroup>
-<col>
-<col>
-</colgroup>
-<thead><tr>
-<th>
- <p>
- Expression
- </p>
- </th>
-<th>
- <p>
- Return
- </p>
- </th>
-</tr></thead>
-<tbody>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unique</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">return_found</span><span class="special">&gt;(</span><span class="identifier">rng</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- returns a single iterator like <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">unique</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unique</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">return_begin_found</span><span class="special">&gt;(</span><span class="identifier">rng</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- returns the range <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">found</span><span class="special">)</span></code>
- (this is the default)
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unique</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">return_begin_next</span><span class="special">&gt;(</span><span class="identifier">rng</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- returns the range <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">next</span><span class="special">(</span><span class="identifier">found</span><span class="special">))</span></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unique</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">return_found_end</span><span class="special">&gt;(</span><span class="identifier">rng</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- returns the range <code class="computeroutput"><span class="special">[</span><span class="identifier">found</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></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unique</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">return_next_end</span><span class="special">&gt;(</span><span class="identifier">rng</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- returns the range <code class="computeroutput"><span class="special">[</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">next</span><span class="special">(</span><span class="identifier">found</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></code>
- </p>
- </td>
-</tr>
-<tr>
-<td>
- <p>
- <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">unique</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">return_begin_end</span><span class="special">&gt;(</span><span class="identifier">rng</span><span class="special">)</span></code>
- </p>
- </td>
-<td>
- <p>
- returns the entire original range.
- </p>
- </td>
-</tr>
-</tbody>
-</table></div>
-<p>
- This functionality has the following advantages:
- </p>
-<div class="orderedlist"><ol class="orderedlist" type="1">
-<li class="listitem">
- it allows for <span class="emphasis"><em><span class="bold"><strong>seamless functional-style
- programming</strong></span></em></span> where you do not need to use named
- local variables to store intermediate results
- </li>
-<li class="listitem">
- it is very <span class="emphasis"><em><span class="bold"><strong>safe</strong></span></em></span>
- because the algorithm can verify out-of-bounds conditions and handle
- tricky conditions that lead to empty ranges
- </li>
-</ol></div>
-<p>
- For example, consider how easy we may erase the duplicates in a sorted
- container:
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;</span> <span class="identifier">vec</span> <span class="special">=</span> <span class="special">...;</span>
-<span class="identifier">boost</span><span class="special">::</span><span class="identifier">erase</span><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">unique</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">return_found_end</span><span class="special">&gt;(</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">sort</span><span class="special">(</span><span class="identifier">vec</span><span class="special">)));</span>
-</pre>
-<p>
- </p>
-<p>
- Notice the use of <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">return_found_end</span></code>.
- What if we wanted to erase all the duplicates except one of them? In old-fashined
- STL-programming we might write
- </p>
-<p>
-
-</p>
-<pre class="programlisting"><span class="comment">// assume 'vec' is already sorted
-</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">vector</span><span class="special">&lt;</span><span class="keyword">int</span><span class="special">&gt;::</span><span class="identifier">iterator</span> <span class="identifier">i</span> <span class="special">=</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">unique</span><span class="special">(</span><span class="identifier">vec</span><span class="special">.</span><span class="identifier">begin</span><span class="special">(),</span> <span class="identifier">vec</span><span class="special">.</span><span class="identifier">end</span><span class="special">());</span>
-
-<span class="comment">// remember this check or you get into problems
-</span><span class="keyword">if</span> <span class="special">(</span><span class="identifier">i</span> <span class="special">!=</span> <span class="identifier">vec</span><span class="special">.</span><span class="identifier">end</span><span class="special">())</span>
- <span class="special">++</span><span class="identifier">i</span><span class="special">;</span>
-
-<span class="identifier">vec</span><span class="special">.</span><span class="identifier">erase</span><span class="special">(</span><span class="identifier">i</span><span class="special">,</span> <span class="identifier">vec</span><span class="special">.</span><span class="identifier">end</span><span class="special">());</span>
-</pre>
-<p>
- </p>
-<p>
- The same task may be accomplished simply with
-</p>
-<pre class="programlisting"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">erase</span><span class="special">(</span><span class="identifier">vec</span><span class="special">,</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">unique</span><span class="special">&lt;</span><span class="identifier">boost</span><span class="special">::</span><span class="identifier">return_next_end</span><span class="special">&gt;(</span><span class="identifier">vec</span><span class="special">));</span>
-</pre>
-<p>
- and there is no need to worry about generating an invalid range. Furthermore,
- if the container is complex, calling <code class="computeroutput"><span class="identifier">vec</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span></code> several times will be more expensive
- than using a range algorithm.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="../algorithms.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="range_algorithm_mutating_algorithms.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
+++ (empty file)
@@ -1,88 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Mutating algorithms</title>
-<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
-<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
-<link rel="up" href="../algorithms.html" title="Range Algorithm">
-<link rel="prev" href="range_algorithm_introduction.html" title="Introduction and motivation">
-<link rel="next" href="range_algorithm_mutating_algorithms/copy.html" title="Range Algorithm - copy">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="range_algorithm_introduction.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="range_algorithm_mutating_algorithms/copy.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" title="Mutating algorithms">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="range.reference.algorithms.range_algorithm_mutating_algorithms"></a><a class="link" href="range_algorithm_mutating_algorithms.html" title="Mutating algorithms">
- Mutating algorithms</a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/copy.html">
- Range Algorithm - copy</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/copy_backward.html">
- Range Algorithm - copy_backward</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/fill.html">
- Range Algorithm - fill</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/fill_n.html">
- Range Algorithm - fill_n</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/generate.html">
- Range Algorithm - generate</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/inplace_merge.html">
- Range Algorithm - inplace_merge</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/merge.html">
- Range Algorithm - merge</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/nth_element.html">
- Range Algorithm - nth_element</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/partial_sort.html">
- Range Algorithm - partial_sort</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/partition.html">
- Range Algorithm - partition</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/random_shuffle.html">
- Range Algorithm - random_shuffle</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/remove.html">
- Range Algorithm - remove</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/remove_if.html">
- Range Algorithm - remove_if</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/replace.html">
- Range Algorithm - replace</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/replace_if.html">
- Range Algorithm - replace_if</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/rotate.html">
- Range Algorithm - rotate</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/sort.html">
- Range Algorithm - sort</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/stable_partition.html">
- Range Algorithm - stable_partition</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/stable_sort.html">
- Range Algorithm - stable_sort</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/transform.html">
- Range Algorithm - transform</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_mutating_algorithms/unique.html">
- Range Algorithm - unique</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="range_algorithm_introduction.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="range_algorithm_mutating_algorithms/copy.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_new_algorithms.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_new_algorithms.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
+++ (empty file)
@@ -1,64 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>New algorithms</title>
-<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
-<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
-<link rel="up" href="../algorithms.html" title="Range Algorithm">
-<link rel="prev" href="permutation_algorithms/prev_permutation.html" title="prev_permutation">
-<link rel="next" href="range_algorithm_new_algorithms/erase.html" title="erase">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="permutation_algorithms/prev_permutation.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="range_algorithm_new_algorithms/erase.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" title="New algorithms">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="range.reference.algorithms.range_algorithm_new_algorithms"></a><a class="link" href="range_algorithm_new_algorithms.html" title="New algorithms">
- New algorithms</a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="range_algorithm_new_algorithms/erase.html">
- erase</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_new_algorithms/for_each.html">
- for_each</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_new_algorithms/insert.html">
- insert</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_new_algorithms/iota.html">
- iota</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_new_algorithms/overwrite.html">
- overwrite</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_new_algorithms/push_back.html">
- push_back</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_new_algorithms/push_front.html">
- push_front</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_new_algorithms/remove_erase.html">
- remove_erase</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_new_algorithms/remove_erase_if.html">
- remove_erase_if</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="permutation_algorithms/prev_permutation.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="range_algorithm_new_algorithms/erase.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
+++ (empty file)
@@ -1,80 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Non-mutating algorithms</title>
-<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
-<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
-<link rel="up" href="../algorithms.html" title="Range Algorithm">
-<link rel="prev" href="range_algorithm_mutating_algorithms/unique.html" title="Range Algorithm - unique">
-<link rel="next" href="range_algorithm_non_mutating_algorithms/adjacent_find.html" title="Range Algorithm - adjacent_find">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="range_algorithm_mutating_algorithms/unique.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="range_algorithm_non_mutating_algorithms/adjacent_find.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" title="Non-mutating algorithms">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="range.reference.algorithms.range_algorithm_non_mutating_algorithms"></a><a class="link" href="range_algorithm_non_mutating_algorithms.html" title="Non-mutating algorithms">
- Non-mutating algorithms</a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/adjacent_find.html">
- Range Algorithm - adjacent_find</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/binary_search.html">
- binary_search</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/count.html">
- count</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/equal.html">
- equal</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/equal_range.html">
- equal_range</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/for_each.html">
- for_each</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/find.html">
- find</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/find_end.html">
- find_end</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/find_first_of.html">
- find_first_of</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/find_if.html">
- find_if</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/lexicographical_compare.html">
- lexicographical_compare</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/lower_bound.html">
- lower_bound</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/max_element.html">
- max_element</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/min_element.html">
- min_element</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/mismatch.html">
- mismatch</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/search.html">
- search</a></span></dt>
-<dt><span class="section"><a href="range_algorithm_non_mutating_algorithms/upper_bound.html">
- upper_bound</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="range_algorithm_mutating_algorithms/unique.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="range_algorithm_non_mutating_algorithms/adjacent_find.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Deleted: trunk/libs/range/doc/html/range/reference/algorithms/range_numeric.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/algorithms/range_numeric.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
+++ (empty file)
@@ -1,54 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Numeric algorithms</title>
-<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
-<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
-<link rel="up" href="../algorithms.html" title="Range Algorithm">
-<link rel="prev" href="range_algorithm_new_algorithms/remove_erase_if.html" title="remove_erase_if">
-<link rel="next" href="range_numeric/accumulate.html" title="accumulate">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="range_algorithm_new_algorithms/remove_erase_if.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="range_numeric/accumulate.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" title="Numeric algorithms">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="range.reference.algorithms.range_numeric"></a><a class="link" href="range_numeric.html" title="Numeric algorithms"> Numeric
- algorithms</a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="range_numeric/accumulate.html">
- accumulate</a></span></dt>
-<dt><span class="section"><a href="range_numeric/adjacent_difference.html">
- adjacent_difference</a></span></dt>
-<dt><span class="section"><a href="range_numeric/inner_product.html">
- inner_product</a></span></dt>
-<dt><span class="section"><a href="range_numeric/partial_sum.html">
- partial_sum</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="range_algorithm_new_algorithms/remove_erase_if.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="range_numeric/accumulate.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/set.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/set.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,52 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Set algorithms</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../algorithms.html" title="Range Algorithm">
+<link rel="prev" href="non_mutating/upper_bound.html" title="upper_bound">
+<link rel="next" href="set/includes.html" title="includes">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_mutating/upper_bound.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="set/includes.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Set algorithms">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="range.reference.algorithms.set"></a><a class="link" href="set.html" title="Set algorithms"> Set algorithms</a>
+</h4></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> includes</span></dt>
+<dt><span class="section"> set_union</span></dt>
+<dt><span class="section"><a href="set/set_intersection.html">
+ set_intersection</a></span></dt>
+<dt><span class="section"> set_difference</span></dt>
+<dt><span class="section"><a href="set/set_symmetric_difference.html">
+ set_symmetric_difference</a></span></dt>
+</dl></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="non_mutating/upper_bound.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="set/includes.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/set/includes.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/set/includes.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,186 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>includes</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../set.html" title="Set algorithms">
+<link rel="prev" href="../set.html" title="Set algorithms">
+<link rel="next" href="set_union.html" title="set_union">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="set_union.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="includes">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2808661"></a>
+ <a class="link" href="includes.html#range.reference.algorithms.set.includes.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">includes</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="keyword">bool</span> <span class="identifier">includes</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.set.includes.description"></a><h6>
+<a name="id2808943"></a>
+ <a class="link" href="includes.html#range.reference.algorithms.set.includes.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">includes</span></code> returns <code class="computeroutput"><span class="keyword">true</span></code> if and only if, for every element
+ in <code class="computeroutput"><span class="identifier">rng2</span></code>, an equivalent
+ element is also present in <code class="computeroutput"><span class="identifier">rng1</span></code>.
+ The ordering relationship is determined by using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code> in the non-predicate versions, and
+ by evaluating <code class="computeroutput"><span class="identifier">pred</span></code> in
+ the predicate versions.
+ </p>
+<a name="range.reference.algorithms.set.includes.definition"></a><h6>
+<a name="id2809041"></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="id2809112"></a>
+ <a class="link" href="includes.html#range.reference.algorithms.set.includes.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> and
+ <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> have
+ the same value type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> and
+ <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> have
+ the same value type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ first argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ second argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.set.includes.precondition_"></a><h6>
+<a name="id2809503"></a>
+ <a class="link" href="includes.html#range.reference.algorithms.set.includes.precondition_">Precondition:</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code> are sorted in ascending order
+ according to <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code>.
+ </p>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code> are sorted in ascending order
+ according to <code class="computeroutput"><span class="identifier">pred</span></code>.
+ </p>
+<a name="range.reference.algorithms.set.includes.complexity"></a><h6>
+<a name="id2809622"></a>
+ <a class="link" href="includes.html#range.reference.algorithms.set.includes.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">N</span></code> is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</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>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../set.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="set_union.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/set/set_difference.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/set/set_difference.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,205 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>set_difference</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../set.html" title="Set algorithms">
+<link rel="prev" href="set_intersection.html" title="set_intersection">
+<link rel="next" href="set_symmetric_difference.html" title="set_symmetric_difference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_intersection.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="set_symmetric_difference.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="set_difference">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2812155"></a>
+ <a class="link" href="set_difference.html#range.reference.algorithms.set.set_difference.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span>
+ <span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">set_difference</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">set_difference</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.set.set_difference.description"></a><h6>
+<a name="id2812505"></a>
+ <a class="link" href="set_difference.html#range.reference.algorithms.set.set_difference.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">set_difference</span></code> constructs
+ a sorted range that is the set difference of the sorted ranges <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code>.
+ The return value is the end of the output range.
+ </p>
+<p>
+ The ordering relationship is determined by using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code> in the non-predicate versions, and
+ by evaluating <code class="computeroutput"><span class="identifier">pred</span></code> in
+ the predicate versions.
+ </p>
+<a name="range.reference.algorithms.set.set_difference.definition"></a><h6>
+<a name="id2812596"></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="id2812670"></a>
+ <a class="link" href="set_difference.html#range.reference.algorithms.set.set_difference.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> and
+ <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> have
+ the same value type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> and
+ <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> have
+ the same value type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ first argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ second argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.set.set_difference.precondition_"></a><h6>
+<a name="id2813113"></a>
+ <a class="link" href="set_difference.html#range.reference.algorithms.set.set_difference.precondition_">Precondition:</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code> are sorted in ascending order
+ according to <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code>.
+ </p>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code> are sorted in ascending order
+ 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="id2813231"></a>
+ <a class="link" href="set_difference.html#range.reference.algorithms.set.set_difference.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">N</span></code> is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</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>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_intersection.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="set_symmetric_difference.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/set/set_intersection.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/set/set_intersection.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,206 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>set_intersection</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../set.html" title="Set algorithms">
+<link rel="prev" href="set_union.html" title="set_union">
+<link rel="next" href="set_difference.html" title="set_difference">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_union.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="set_difference.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="set_intersection">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2810947"></a>
+ <a class="link" href="set_intersection.html#range.reference.algorithms.set.set_intersection.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span>
+ <span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">set_intersection</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">set_intersection</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.set.set_intersection.description"></a><h6>
+<a name="id2811298"></a>
+ <a class="link" href="set_intersection.html#range.reference.algorithms.set.set_intersection.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">set_intersection</span></code> constructs
+ a sorted range that is the intersection of the sorted ranges <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code>.
+ The return value is the end of the output range.
+ </p>
+<p>
+ The ordering relationship is determined by using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code> in the non-predicate versions, and
+ by evaluating <code class="computeroutput"><span class="identifier">pred</span></code> in
+ the predicate versions.
+ </p>
+<a name="range.reference.algorithms.set.set_intersection.definition"></a><h6>
+<a name="id2811390"></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="id2811464"></a>
+ <a class="link" href="set_intersection.html#range.reference.algorithms.set.set_intersection.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> and
+ <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> have
+ the same value type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> and
+ <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> have
+ the same value type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ first argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ second argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.set.set_intersection.precondition_"></a><h6>
+<a name="id2811908"></a>
+ <a class="link" href="set_intersection.html#range.reference.algorithms.set.set_intersection.precondition_">Precondition:</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code> are sorted in ascending order
+ according to <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code>.
+ </p>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code> are sorted in ascending order
+ 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="id2812027"></a>
+ <a class="link" href="set_intersection.html#range.reference.algorithms.set.set_intersection.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">N</span></code> is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</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>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_union.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="set_difference.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/set/set_symmetric_difference.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/set/set_symmetric_difference.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,210 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>set_symmetric_difference</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../set.html" title="Set algorithms">
+<link rel="prev" href="set_difference.html" title="set_difference">
+<link rel="next" href="../heap.html" title="Heap algorithms">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_difference.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../heap.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="set_symmetric_difference">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2813361"></a>
+ <a class="link" href="set_symmetric_difference.html#range.reference.algorithms.set.set_symmetric_difference.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span>
+ <span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span>
+<span class="identifier">set_symmetric_difference</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span>
+<span class="identifier">set_symmetric_difference</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.set.set_symmetric_difference.description"></a><h6>
+<a name="id2813711"></a>
+ <a class="link" href="set_symmetric_difference.html#range.reference.algorithms.set.set_symmetric_difference.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">set_symmetric_difference</span></code>
+ constructs a sorted range that is the set symmetric difference of the
+ sorted ranges <code class="computeroutput"><span class="identifier">rng1</span></code> and
+ <code class="computeroutput"><span class="identifier">rng2</span></code>. The return value
+ is the end of the output range.
+ </p>
+<p>
+ The ordering relationship is determined by using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code> in the non-predicate versions, and
+ by evaluating <code class="computeroutput"><span class="identifier">pred</span></code> in
+ the predicate versions.
+ </p>
+<a name="range.reference.algorithms.set.set_symmetric_difference.definition"></a><h6>
+<a name="id2813805"></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="id2813878"></a>
+ <a class="link" href="set_symmetric_difference.html#range.reference.algorithms.set.set_symmetric_difference.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> and
+ <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> have
+ the same value type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> and
+ <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> have
+ the same value type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ first argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ second argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.set.set_symmetric_difference.precondition_"></a><h6>
+<a name="id2814321"></a>
+ <a class="link" href="set_symmetric_difference.html#range.reference.algorithms.set.set_symmetric_difference.precondition_">Precondition:</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code> are sorted in ascending order
+ according to <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code>.
+ </p>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code> are sorted in ascending order
+ 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="id2814442"></a>
+ <a class="link" href="set_symmetric_difference.html#range.reference.algorithms.set.set_symmetric_difference.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">N</span></code> is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</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>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="set_difference.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../heap.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/algorithms/set/set_union.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/algorithms/set/set_union.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,204 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>set_union</title>
+<link rel="stylesheet" href="../../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../set.html" title="Set algorithms">
+<link rel="prev" href="includes.html" title="includes">
+<link rel="next" href="set_intersection.html" title="set_intersection">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="includes.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="set_intersection.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="set_union">
+<div class="titlepage"><div><div><h5 class="title">
+<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="id2809748"></a>
+ <a class="link" href="set_union.html#range.reference.algorithms.set.set_union.prototype">Prototype</a>
+ </h6>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span>
+ <span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">set_union</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">);</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">SinglePassRange2</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">OutputIterator</span><span class="special">,</span>
+ <span class="keyword">class</span> <span class="identifier">BinaryPredicate</span>
+ <span class="special">&gt;</span>
+<span class="identifier">OutputIterator</span> <span class="identifier">set_union</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">,</span>
+ <span class="identifier">OutputIterator</span> <span class="identifier">out</span><span class="special">,</span>
+ <span class="identifier">BinaryPredicate</span> <span class="identifier">pred</span><span class="special">);</span>
+ </pre>
+<p>
+ </p>
+<a name="range.reference.algorithms.set.set_union.description"></a><h6>
+<a name="id2810098"></a>
+ <a class="link" href="set_union.html#range.reference.algorithms.set.set_union.description">Description</a>
+ </h6>
+<p>
+ <code class="computeroutput"><span class="identifier">set_union</span></code> constructs
+ a sorted range that is the union of the sorted ranges <code class="computeroutput"><span class="identifier">rng1</span></code>
+ and <code class="computeroutput"><span class="identifier">rng2</span></code>. The return
+ value is the end of the output range. The ordering relationship is determined
+ by using <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code>
+ in the non-predicate versions, and by evaluating <code class="computeroutput"><span class="identifier">pred</span></code>
+ in the predicate versions.
+ </p>
+<a name="range.reference.algorithms.set.set_union.definition"></a><h6>
+<a name="id2810188"></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="id2810260"></a>
+ <a class="link" href="set_union.html#range.reference.algorithms.set.set_union.requirements">Requirements</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> and
+ <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> have
+ the same value type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is a model of the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+<li class="listitem">
+ The ordering of objects of type <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is a <span class="bold"><strong><span class="emphasis"><em>strict weak ordering</em></span></strong></span>,
+ as defined in the <code class="computeroutput"><span class="identifier">LessThanComparableConcept</span></code>
+ requirements.
+ </li>
+</ul></div>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> is
+ a model of the <a class="link" href="../../../concepts/single_pass_range.html" title="Single Pass Range">Single
+ Pass Range</a> Concept.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">OutputIterator</span></code> is a
+ model of the <code class="computeroutput"><span class="identifier">OutputIteratorConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code> and
+ <code class="computeroutput"><span class="identifier">SinglePassRange2</span></code> have
+ the same value type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">BinaryPredicate</span></code> is
+ a model of the <code class="computeroutput"><span class="identifier">StrictWeakOrderingConcept</span></code>.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange1</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ first argument type.
+ </li>
+<li class="listitem">
+<code class="computeroutput"><span class="identifier">SinglePassRange2</span></code>'s
+ value type is convertible to <code class="computeroutput"><span class="identifier">BinaryPredicate</span></code>'s
+ second argument types.
+ </li>
+</ul></div>
+<a name="range.reference.algorithms.set.set_union.precondition_"></a><h6>
+<a name="id2810703"></a>
+ <a class="link" href="set_union.html#range.reference.algorithms.set.set_union.precondition_">Precondition:</a>
+ </h6>
+<p>
+ <span class="bold"><strong>For the non-predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code> are sorted in ascending order
+ according to <code class="computeroutput"><span class="keyword">operator</span><span class="special">&lt;</span></code>.
+ </p>
+<p>
+ <span class="bold"><strong>For the predicate versions:</strong></span>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">rng1</span></code> and <code class="computeroutput"><span class="identifier">rng2</span></code> are sorted in ascending order
+ 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="id2810821"></a>
+ <a class="link" href="set_union.html#range.reference.algorithms.set.set_union.complexity">Complexity</a>
+ </h6>
+<p>
+ Linear. <code class="computeroutput"><span class="identifier">O</span><span class="special">(</span><span class="identifier">N</span><span class="special">)</span></code>,
+ where <code class="computeroutput"><span class="identifier">N</span></code> is <code class="computeroutput"><span class="identifier">distance</span><span class="special">(</span><span class="identifier">rng1</span><span class="special">)</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>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="includes.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../set.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="set_intersection.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Deleted: trunk/libs/range/doc/html/range/reference/algorithms/set_algorithms.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/algorithms/set_algorithms.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
+++ (empty file)
@@ -1,55 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Set algorithms</title>
-<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
-<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
-<link rel="up" href="../algorithms.html" title="Range Algorithm">
-<link rel="prev" href="range_algorithm_non_mutating_algorithms/upper_bound.html" title="upper_bound">
-<link rel="next" href="set_algorithms/includes.html" title="includes">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="range_algorithm_non_mutating_algorithms/upper_bound.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="set_algorithms/includes.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" title="Set algorithms">
-<div class="titlepage"><div><div><h4 class="title">
-<a name="range.reference.algorithms.set_algorithms"></a><a class="link" href="set_algorithms.html" title="Set algorithms"> Set algorithms</a>
-</h4></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"><a href="set_algorithms/includes.html">
- includes</a></span></dt>
-<dt><span class="section"><a href="set_algorithms/set_union.html">
- set_union</a></span></dt>
-<dt><span class="section"><a href="set_algorithms/set_intersection.html">
- set_intersection</a></span></dt>
-<dt><span class="section"><a href="set_algorithms/set_difference.html">
- set_difference</a></span></dt>
-<dt><span class="section"><a href="set_algorithms/set_symmetric_difference.html">
- set_symmetric_difference</a></span></dt>
-</dl></div>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="range_algorithm_non_mutating_algorithms/upper_bound.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../algorithms.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="set_algorithms/includes.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Modified: trunk/libs/range/doc/html/range/reference/extending.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/extending.html (original)
+++ trunk/libs/range/doc/html/range/reference/extending.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
 <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="ranges/irange.html" title="irange">
+<link rel="prev" href="utilities/join.html" title="Function join">
 <link rel="next" href="extending/method_1.html" title="Method 1: provide member functions and nested types">
 </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="ranges/irange.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="extending/method_1.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="utilities/join.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="extending/method_1.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Extending the library">
 <div class="titlepage"><div><div><h3 class="title">
@@ -45,7 +45,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="ranges/irange.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="extending/method_1.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="utilities/join.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="extending/method_1.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/range/doc/html/range/reference/extending/method_3/method_3_2.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/extending/method_3/method_3_2.html (original)
+++ trunk/libs/range/doc/html/range/reference/extending/method_3/method_3_2.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -7,7 +7,7 @@
 <link rel="home" href="../../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="up" href="../method_3.html" title="Method 3: provide range adaptor implementations">
 <link rel="prev" href="method_3_1.html" title="Method 3.1: Implement a Range Adaptor without arguments">
-<link rel="next" href="../../../utilities.html" title="Utilities">
+<link rel="next" href="../../../style_guide.html" title="Terminology and style guidelines">
 </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="method_3_1.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../method_3.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../../utilities.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="method_3_1.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../method_3.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../../style_guide.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Method 3.2: Implement a Range Adaptor with arguments">
 <div class="titlepage"><div><div><h5 class="title">
@@ -149,7 +149,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="method_3_1.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../method_3.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../../utilities.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="method_3_1.html"><img src="../../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../method_3.html"><img src="../../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../../index.html"><img src="../../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../../../style_guide.html"><img src="../../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/range/doc/html/range/reference/overview.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/overview.html (original)
+++ trunk/libs/range/doc/html/range/reference/overview.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -42,7 +42,7 @@
         Even though the behavior of the primary templates are exactly such that standard
         containers will be supported by default, the requirements are much lower
         than the standard container requirements. For example, the utility class
- <a class="link" href="../utilities/iterator_range.html" title="Class iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a>
+ <a class="link" href="utilities/iterator_range.html" title="Class iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a>
         implements the <a class="link" href="extending.html" title="Extending the library">minimal interface</a>
         required to make the class a <a class="link" href="../concepts/forward_range.html" title="Forward Range">Forward
         Range</a>.

Modified: trunk/libs/range/doc/html/range/reference/ranges.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/ranges.html (original)
+++ trunk/libs/range/doc/html/range/reference/ranges.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
 <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/range_numeric/partial_sum.html" title="partial_sum">
+<link rel="prev" href="algorithms/numeric/partial_sum.html" title="partial_sum">
 <link rel="next" href="ranges/counting_range.html" title="counting_range">
 </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="algorithms/range_numeric/partial_sum.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="ranges/counting_range.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="algorithms/numeric/partial_sum.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="ranges/counting_range.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Provided Ranges">
 <div class="titlepage"><div><div><h3 class="title">
@@ -42,7 +42,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="algorithms/range_numeric/partial_sum.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="ranges/counting_range.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="algorithms/numeric/partial_sum.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="ranges/counting_range.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/range/doc/html/range/reference/ranges/counting_range.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/ranges/counting_range.html (original)
+++ trunk/libs/range/doc/html/range/reference/ranges/counting_range.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -27,7 +27,7 @@
 <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="id3111863"></a>
+<a name="id2830378"></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="id3112247"></a>
+<a name="id2830763"></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="id3112306"></a>
+<a name="id2830822"></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="id3112370"></a>
+<a name="id2830886"></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">

Modified: trunk/libs/range/doc/html/range/reference/ranges/irange.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/ranges/irange.html (original)
+++ trunk/libs/range/doc/html/range/reference/ranges/irange.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -7,7 +7,7 @@
 <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="istream_range.html" title="istream_range">
-<link rel="next" href="../extending.html" title="Extending the library">
+<link rel="next" href="../utilities.html" title="Utilities">
 </head>
 <body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
 <table cellpadding="2" width="100%"><tr>
@@ -20,14 +20,14 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="istream_range.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ranges.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../extending.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="istream_range.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ranges.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../utilities.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="irange">
 <div class="titlepage"><div><div><h4 class="title">
 <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="id3112811"></a>
+<a name="id2831327"></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="id3113106"></a>
+<a name="id2831622"></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="id3113188"></a>
+<a name="id2831703"></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="id3113250"></a>
+<a name="id2831766"></a>
           <a class="link" href="irange.html#range.reference.ranges.irange.requirements">Requirements</a>
         </h6>
 <div class="orderedlist"><ol class="orderedlist" type="1">
@@ -79,7 +79,7 @@
           </li>
 </ol></div>
 <a name="range.reference.ranges.irange.complexity"></a><h6>
-<a name="id3113330"></a>
+<a name="id2831846"></a>
           <a class="link" href="irange.html#range.reference.ranges.irange.complexity">Complexity</a>
         </h6>
 <p>
@@ -97,7 +97,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="istream_range.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ranges.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../extending.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="istream_range.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../ranges.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../utilities.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Modified: trunk/libs/range/doc/html/range/reference/ranges/istream_range.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/ranges/istream_range.html (original)
+++ trunk/libs/range/doc/html/range/reference/ranges/istream_range.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -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="id3112444"></a>
+<a name="id2830960"></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="id3112664"></a>
+<a name="id2831179"></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="id3112731"></a>
+<a name="id2831246"></a>
           <a class="link" href="istream_range.html#range.reference.ranges.istream_range.definition">Definition</a>
         </h6>
 <p>

Modified: trunk/libs/range/doc/html/range/reference/semantics.html
==============================================================================
--- trunk/libs/range/doc/html/range/reference/semantics.html (original)
+++ trunk/libs/range/doc/html/range/reference/semantics.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -31,7 +31,7 @@
 <dt><span class="section">Functions</span></dt>
 </dl></div>
 <a name="range.reference.semantics.notation"></a><h5>
-<a name="id3021991"></a>
+<a name="id2732887"></a>
         <a class="link" href="semantics.html#range.reference.semantics.notation">notation</a>
       </h5>
 <div class="informaltable"><table class="table">

Added: trunk/libs/range/doc/html/range/reference/utilities.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/utilities.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,83 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Utilities</title>
+<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<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="ranges/irange.html" title="irange">
+<link rel="next" href="utilities/iterator_range.html" title="Class iterator_range">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ranges/irange.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="utilities/iterator_range.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Utilities">
+<div class="titlepage"><div><div><h3 class="title">
+<a name="range.reference.utilities"></a><a class="link" href="utilities.html" title="Utilities"> Utilities</a>
+</h3></div></div></div>
+<div class="toc"><dl>
+<dt><span class="section"> Class iterator_range</span></dt>
+<dt><span class="section"> Class sub_range</span></dt>
+<dt><span class="section"> Function join</span></dt>
+</dl></div>
+<p>
+ Having an abstraction that encapsulates a pair of iterators is very useful.
+ The standard library uses <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code>
+ in some circumstances, but that class is cumbersome to use because we need
+ to specify two template arguments, and for all range algorithm purposes we
+ must enforce the two template arguments to be the same. Moreover, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span><span class="identifier">iterator</span><span class="special">&gt;</span></code> is hardly self-documenting whereas more
+ domain specific class names are. Therefore these two classes are provided:
+ </p>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Class <code class="computeroutput"><span class="identifier">iterator_range</span></code>
+</li>
+<li class="listitem">
+ Class <code class="computeroutput"><span class="identifier">sub_range</span></code>
+</li>
+<li class="listitem">
+ Function <code class="computeroutput"><span class="identifier">join</span></code>
+</li>
+</ul></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">iterator_range</span></code> class
+ is templated on an <a href="../../../../../../libs/iterator/doc/new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators" target="_top">Forward
+ Traversal Iterator</a> and should be used whenever fairly general code
+ is needed. The <code class="computeroutput"><span class="identifier">sub_range</span></code>
+ class is templated on an <a class="link" href="../concepts/forward_range.html" title="Forward Range">Forward
+ Range</a> and it is less general, but a bit easier to use since its template
+ argument is easier to specify. The biggest difference is, however, that a
+ <code class="computeroutput"><span class="identifier">sub_range</span></code> can propagate constness
+ because it knows what a corresponding <code class="computeroutput"><span class="identifier">const_iterator</span></code>
+ is.
+ </p>
+<p>
+ Both classes can be used as ranges since they implement the <a class="link" href="extending.html" title="Extending the library">minimal
+ interface</a> required for this to work automatically.
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="ranges/irange.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../reference.html"><img src="../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="utilities/iterator_range.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/utilities/iterator_range.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/utilities/iterator_range.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,328 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Class iterator_range</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../utilities.html" title="Utilities">
+<link rel="prev" href="../utilities.html" title="Utilities">
+<link rel="next" href="sub_range.html" title="Class sub_range">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../utilities.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utilities.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="sub_range.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Class iterator_range">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="range.reference.utilities.iterator_range"></a><a class="link" href="iterator_range.html" title="Class iterator_range"> Class <code class="computeroutput"><span class="identifier">iterator_range</span></code></a>
+</h4></div></div></div>
+<p>
+ The intention of the <code class="computeroutput"><span class="identifier">iterator_range</span></code>
+ class is to encapsulate two iterators so they fulfill the <a class="link" href="../../concepts/forward_range.html" title="Forward Range">Forward
+ Range</a> concept. A few other functions are also provided for convenience.
+ </p>
+<p>
+ If the template argument is not a model of <a href="../../../../../../../libs/iterator/doc/new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators" target="_top">Forward
+ Traversal Iterator</a>, one can still use a subset of the interface.
+ In particular, <code class="computeroutput"><span class="identifier">size</span><span class="special">()</span></code>
+ requires Random Access Traversal Iterators whereas <code class="computeroutput"><span class="identifier">empty</span><span class="special">()</span></code> only requires Single Pass Iterators.
+ </p>
+<p>
+ Recall that many default constructed iterators are <span class="bold"><strong><span class="emphasis"><em>singular</em></span></strong></span>
+ and hence can only be assigned, but not compared or incremented or anything.
+ However, if one creates a default constructed <code class="computeroutput"><span class="identifier">iterator_range</span></code>,
+ then one can still call all its member functions. This design decision
+ avoids the <code class="computeroutput"><span class="identifier">iterator_range</span></code>
+ imposing limitations upon ranges of iterators that are not singular. Any
+ singularity limitation is simply propogated from the underlying iterator
+ type.
+ </p>
+<a name="range.reference.utilities.iterator_range.synopsis"></a><h5>
+<a name="id2832230"></a>
+ <a class="link" href="iterator_range.html#range.reference.utilities.iterator_range.synopsis">Synopsis</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span>
+<span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator</span> <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">iterator_range</span>
+ <span class="special">{</span>
+ <span class="keyword">public</span><span class="special">:</span> <span class="comment">// Forward Range types
+</span> <span class="keyword">typedef</span> <span class="identifier">ForwardTraversalIterator</span> <span class="identifier">iterator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">ForwardTraversalIterator</span> <span class="identifier">const_iterator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="identifier">iterator_difference</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">difference_type</span><span class="special">;</span>
+
+ <span class="keyword">public</span><span class="special">:</span> <span class="comment">// construction, assignment
+</span> <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator2</span> <span class="special">&gt;</span>
+ <span class="identifier">iterator_range</span><span class="special">(</span> <span class="identifier">ForwardTraversalIterator2</span> <span class="identifier">Begin</span><span class="special">,</span> <span class="identifier">ForwardTraversalIterator2</span> <span class="identifier">End</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span> <span class="special">&gt;</span>
+ <span class="identifier">iterator_range</span><span class="special">(</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span> <span class="special">&gt;</span>
+ <span class="identifier">iterator_range</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span> <span class="special">&gt;</span>
+ <span class="identifier">iterator_range</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span> <span class="special">&gt;</span>
+ <span class="identifier">iterator_range</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span> <span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">public</span><span class="special">:</span> <span class="comment">// Forward Range functions
+</span> <span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">public</span><span class="special">:</span> <span class="comment">// convenience
+</span> <span class="keyword">operator</span> <span class="identifier">unspecified_bool_type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="keyword">bool</span> <span class="identifier">equal</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">iterator_range</span><span class="special">&amp;</span> <span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">front</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">back</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">iterator_range</span><span class="special">&amp;</span> <span class="identifier">advance_begin</span><span class="special">(</span><span class="identifier">difference_type</span> <span class="identifier">n</span><span class="special">);</span>
+ <span class="identifier">iterator_range</span><span class="special">&amp;</span> <span class="identifier">advance_end</span><span class="special">(</span><span class="identifier">difference_type</span> <span class="identifier">n</span><span class="special">);</span>
+ <span class="keyword">bool</span> <span class="identifier">empty</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="comment">// for Random Access Range only:
+</span> <span class="identifier">reference</span> <span class="keyword">operator</span><span class="special">[](</span> <span class="identifier">difference_type</span> <span class="identifier">at</span> <span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">value_type</span> <span class="keyword">operator</span><span class="special">()(</span> <span class="identifier">difference_type</span> <span class="identifier">at</span> <span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">size_type</span> <span class="identifier">size</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="special">};</span>
+
+ <span class="comment">// stream output
+</span> <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">Traits</span> <span class="special">&gt;</span>
+ <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">Traits</span><span class="special">&gt;&amp;</span>
+ <span class="keyword">operator</span><span class="special">&lt;&lt;(</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">basic_ostream</span><span class="special">&lt;</span><span class="identifier">T</span><span class="special">,</span><span class="identifier">Traits</span><span class="special">&gt;&amp;</span> <span class="identifier">Os</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">ForwardTraversalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="comment">// comparison
+</span> <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator2</span> <span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span> <span class="keyword">const</span> <span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">ForwardTraversalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">l</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">ForwardTraversalIterator2</span><span class="special">&gt;&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span> <span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span> <span class="keyword">const</span> <span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">ForwardTraversalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">l</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span> <span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span> <span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">l</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">ForwardTraversalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator2</span> <span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span> <span class="keyword">const</span> <span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">ForwardTraversalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">l</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">ForwardTraversalIterator2</span><span class="special">&gt;&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span> <span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span> <span class="keyword">const</span> <span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">ForwardTraversalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">l</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span> <span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span> <span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">l</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">ForwardTraversalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator2</span> <span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span> <span class="keyword">const</span> <span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">ForwardTraversalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">l</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">ForwardTraversalIterator2</span><span class="special">&gt;&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span> <span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span> <span class="keyword">const</span> <span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">ForwardTraversalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">l</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span> <span class="special">&gt;</span>
+ <span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span> <span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">l</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">ForwardTraversalIterator</span><span class="special">&gt;&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="comment">// external construction
+</span> <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator</span> <span class="special">&gt;</span>
+ <span class="identifier">iterator_range</span><span class="special">&lt;</span> <span class="identifier">ForwardTraversalIterator</span> <span class="special">&gt;</span>
+ <span class="identifier">make_iterator_range</span><span class="special">(</span> <span class="identifier">ForwardTraversalIterator</span> <span class="identifier">Begin</span><span class="special">,</span>
+ <span class="identifier">ForwardTraversalIterator</span> <span class="identifier">End</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span> <span class="special">&gt;</span>
+ <span class="identifier">iterator_range</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
+ <span class="identifier">make_iterator_range</span><span class="special">(</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span> <span class="special">&gt;</span>
+ <span class="identifier">iterator_range</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
+ <span class="identifier">make_iterator_range</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Range</span> <span class="special">&gt;</span>
+ <span class="identifier">iterator_range</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
+ <span class="identifier">make_iterator_range</span><span class="special">(</span> <span class="identifier">Range</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_difference</span><span class="special">&lt;</span><span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">advance_begin</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_difference</span><span class="special">&lt;</span><span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">advance_end</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Range</span> <span class="special">&gt;</span>
+ <span class="identifier">iterator_range</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
+ <span class="identifier">make_iterator_range</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">Range</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_difference</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">advance_begin</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_difference</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">advance_end</span> <span class="special">);</span>
+
+ <span class="comment">// convenience
+</span> <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">Sequence</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span> <span class="special">&gt;</span>
+ <span class="identifier">Sequence</span> <span class="identifier">copy_range</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+<span class="special">}</span> <span class="comment">// namespace 'boost'
+</span></pre>
+<p>
+ </p>
+<p>
+ If an instance of <code class="computeroutput"><span class="identifier">iterator_range</span></code>
+ is constructed by a client with two iterators, the client must ensure that
+ the two iterators delimit a valid closed-open range [begin,end).
+ </p>
+<p>
+ It is worth noticing that the templated constructors and assignment operators
+ allow conversion from <code class="computeroutput"><span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;</span></code> to <code class="computeroutput"><span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">const_iterator</span><span class="special">&gt;</span></code>. Similarly, since the comparison operators
+ have two template arguments, we can compare ranges whenever the iterators
+ are comparable; for example when we are dealing with const and non-const
+ iterators from the same container.
+ </p>
+<a name="range.reference.utilities.iterator_range.details_member_functions"></a><h5>
+<a name="id2835463"></a>
+ <a class="link" href="iterator_range.html#range.reference.utilities.iterator_range.details_member_functions">Details
+ member functions</a>
+ </h5>
+<p>
+ <code class="computeroutput"><span class="keyword">operator</span> <span class="identifier">unspecified_bool_type</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span></code>
+ </p>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <span class="emphasis"><em><span class="bold"><strong>Returns</strong></span></em></span> <code class="computeroutput"><span class="special">!</span><span class="identifier">empty</span><span class="special">();</span></code>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<p>
+ <code class="computeroutput"><span class="keyword">bool</span> <span class="identifier">equal</span><span class="special">(</span> <span class="identifier">iterator_range</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">)</span> <span class="keyword">const</span><span class="special">;</span></code>
+ </p>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <span class="emphasis"><em><span class="bold"><strong>Returns</strong></span></em></span> <code class="computeroutput"><span class="identifier">begin</span><span class="special">()</span>
+ <span class="special">==</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">begin</span><span class="special">()</span> <span class="special">&amp;&amp;</span>
+ <span class="identifier">end</span><span class="special">()</span>
+ <span class="special">==</span> <span class="identifier">r</span><span class="special">.</span><span class="identifier">end</span><span class="special">();</span></code>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<a name="range.reference.utilities.iterator_range.details_functions"></a><h5>
+<a name="id2835707"></a>
+ <a class="link" href="iterator_range.html#range.reference.utilities.iterator_range.details_functions">Details
+ functions</a>
+ </h5>
+<p>
+ <code class="computeroutput"><span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">==(</span> <span class="keyword">const</span> <span class="identifier">ForwardRange1</span><span class="special">&amp;</span>
+ <span class="identifier">l</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span></code>
+ </p>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <span class="emphasis"><em><span class="bold"><strong>Returns</strong></span></em></span> <code class="computeroutput"><span class="identifier">size</span><span class="special">(</span><span class="identifier">l</span><span class="special">)</span> <span class="special">!=</span> <span class="identifier">size</span><span class="special">(</span><span class="identifier">r</span><span class="special">)</span> <span class="special">?</span> <span class="keyword">false</span> <span class="special">:</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">equal</span><span class="special">(</span>
+ <span class="identifier">begin</span><span class="special">(</span><span class="identifier">l</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">l</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">)</span> <span class="special">);</span></code>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<p>
+ <code class="computeroutput"><span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">!=(</span> <span class="keyword">const</span> <span class="identifier">ForwardRange1</span><span class="special">&amp;</span>
+ <span class="identifier">l</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span></code>
+ </p>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <span class="emphasis"><em><span class="bold"><strong>Returns</strong></span></em></span> <code class="computeroutput"><span class="special">!(</span> <span class="identifier">l</span> <span class="special">==</span> <span class="identifier">r</span> <span class="special">);</span></code>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<p>
+ <code class="computeroutput"><span class="keyword">bool</span> <span class="keyword">operator</span><span class="special">&lt;(</span> <span class="keyword">const</span> <span class="identifier">ForwardRange1</span><span class="special">&amp;</span>
+ <span class="identifier">l</span><span class="special">,</span>
+ <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span></code>
+ </p>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <span class="emphasis"><em><span class="bold"><strong>Returns</strong></span></em></span> <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">lexicographical_compare</span><span class="special">(</span>
+ <span class="identifier">begin</span><span class="special">(</span><span class="identifier">l</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">l</span><span class="special">),</span> <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)</span> <span class="special">);</span></code>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">iterator_range</span> <span class="identifier">make_iterator_range</span><span class="special">(</span> <span class="identifier">Range</span><span class="special">&amp;</span> <span class="identifier">r</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_difference</span><span class="special">&lt;</span><span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">advance_begin</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_difference</span><span class="special">&lt;</span><span class="identifier">Range</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">advance_end</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <span class="emphasis"><em><span class="bold"><strong>Effects:</strong></span></em></span>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">iterator</span> <span class="identifier">new_begin</span> <span class="special">=</span> <span class="identifier">begin</span><span class="special">(</span> <span class="identifier">r</span> <span class="special">),</span>
+<span class="identifier">iterator</span> <span class="identifier">new_end</span> <span class="special">=</span> <span class="identifier">end</span><span class="special">(</span> <span class="identifier">r</span> <span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">advance</span><span class="special">(</span> <span class="identifier">new_begin</span><span class="special">,</span> <span class="identifier">advance_begin</span> <span class="special">);</span>
+<span class="identifier">std</span><span class="special">::</span><span class="identifier">advance</span><span class="special">(</span> <span class="identifier">new_end</span><span class="special">,</span> <span class="identifier">advance_end</span> <span class="special">);</span>
+<span class="keyword">return</span> <span class="identifier">make_iterator_range</span><span class="special">(</span> <span class="identifier">new_begin</span><span class="special">,</span> <span class="identifier">new_end</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+<p>
+ <code class="computeroutput"><span class="identifier">Sequence</span> <span class="identifier">copy_range</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&amp;</span>
+ <span class="identifier">r</span> <span class="special">);</span></code>
+ </p>
+<div class="blockquote"><blockquote class="blockquote">
+<p>
+ </p>
+<p>
+ <span class="emphasis"><em><span class="bold"><strong>Returns</strong></span></em></span> <code class="computeroutput"><span class="identifier">Sequence</span><span class="special">(</span>
+ <span class="identifier">begin</span><span class="special">(</span><span class="identifier">r</span><span class="special">),</span> <span class="identifier">end</span><span class="special">(</span><span class="identifier">r</span><span class="special">)</span> <span class="special">);</span></code>
+ </p>
+<p>
+ </p>
+</blockquote></div>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="../utilities.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utilities.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="sub_range.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/utilities/join.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/utilities/join.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,89 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Function join</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../utilities.html" title="Utilities">
+<link rel="prev" href="sub_range.html" title="Class sub_range">
+<link rel="next" href="../extending.html" title="Extending the library">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sub_range.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utilities.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../extending.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Function join">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="range.reference.utilities.join"></a><a class="link" href="join.html" title="Function join"> Function join</a>
+</h4></div></div></div>
+<p>
+ The intention of the <code class="computeroutput"><span class="identifier">join</span></code>
+ function is to join two ranges into one longer range.
+ </p>
+<p>
+ The resultant range will have the lowest common traversal of the two ranges
+ supplied as parameters.
+ </p>
+<p>
+ Note that the joined range incurs a performance cost due to the need to
+ 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="id2838146"></a>
+ <a class="link" href="join.html#range.reference.utilities.join.synposis">Synposis</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">SinglePassRange2</span><span class="special">&gt;</span>
+<span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">range_detail</span><span class="special">::</span><span class="identifier">join_iterator</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">add_const</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">range_value</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span>
+<span class="special">&gt;</span>
+<span class="identifier">join</span><span class="special">(</span><span class="keyword">const</span> <span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">)</span>
+
+<span class="keyword">template</span><span class="special">&lt;</span><span class="keyword">typename</span> <span class="identifier">SinglePassRange1</span><span class="special">,</span> <span class="keyword">typename</span> <span class="identifier">SinglePassRange2</span><span class="special">&gt;</span>
+<span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">range_detail</span><span class="special">::</span><span class="identifier">join_iterator</span><span class="special">&lt;</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">SinglePassRange2</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">,</span>
+ <span class="keyword">typename</span> <span class="identifier">range_value</span><span class="special">&lt;</span><span class="identifier">SinglePassRange1</span><span class="special">&gt;::</span><span class="identifier">type</span><span class="special">&gt;</span>
+<span class="special">&gt;</span>
+<span class="identifier">join</span><span class="special">(</span><span class="identifier">SinglePassRange1</span><span class="special">&amp;</span> <span class="identifier">rng1</span><span class="special">,</span> <span class="identifier">SinglePassRange2</span><span class="special">&amp;</span> <span class="identifier">rng2</span><span class="special">);</span>
+</pre>
+<p>
+ </p>
+<a name="range.reference.utilities.join.example"></a><h5>
+<a name="id2838694"></a>
+ <a class="link" href="join.html#range.reference.utilities.join.example">Example</a>
+ </h5>
+<p>
+ The expression <code class="computeroutput"><span class="identifier">join</span><span class="special">(</span><span class="identifier">irange</span><span class="special">(</span><span class="number">0</span><span class="special">,</span><span class="number">5</span><span class="special">),</span> <span class="identifier">irange</span><span class="special">(</span><span class="number">5</span><span class="special">,</span><span class="number">10</span><span class="special">))</span></code> would
+ evaluate to a range representing an integer range <code class="computeroutput"><span class="special">[</span><span class="number">0</span><span class="special">,</span><span class="number">10</span><span class="special">)</span></code>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="sub_range.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utilities.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="../extending.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Added: trunk/libs/range/doc/html/range/reference/utilities/sub_range.html
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/html/range/reference/utilities/sub_range.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,123 @@
+<html>
+<head>
+<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
+<title>Class sub_range</title>
+<link rel="stylesheet" href="../../../../../../../doc/html/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
+<link rel="home" href="../../../index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="up" href="../utilities.html" title="Utilities">
+<link rel="prev" href="iterator_range.html" title="Class iterator_range">
+<link rel="next" href="join.html" title="Function join">
+</head>
+<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
+<table cellpadding="2" width="100%"><tr>
+<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../../../boost.png"></td>
+<td align="center">Home</td>
+<td align="center">Libraries</td>
+<td align="center">People</td>
+<td align="center">FAQ</td>
+<td align="center">More</td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iterator_range.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utilities.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+<div class="section" title="Class sub_range">
+<div class="titlepage"><div><div><h4 class="title">
+<a name="range.reference.utilities.sub_range"></a><a class="link" href="sub_range.html" title="Class sub_range"> Class <code class="computeroutput"><span class="identifier">sub_range</span></code></a>
+</h4></div></div></div>
+<p>
+ The <code class="computeroutput"><span class="identifier">sub_range</span></code> class inherits
+ all its functionality from the <a class="link" href="iterator_range.html" title="Class iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> class. The <code class="computeroutput"><span class="identifier">sub_range</span></code> class is often easier to use
+ because one must specify the <a class="link" href="../../concepts/forward_range.html" title="Forward Range">Forward
+ Range</a> template argument instead of an iterator. Moreover, the <code class="computeroutput"><span class="identifier">sub_range</span></code> class can propagate constness
+ since it knows what a corresponding <code class="computeroutput"><span class="identifier">const_iterator</span></code>
+ is.
+ </p>
+<a name="range.reference.utilities.sub_range.synopsis"></a><h5>
+<a name="id2836867"></a>
+ <a class="link" href="sub_range.html#range.reference.utilities.sub_range.synopsis">Synopsis</a>
+ </h5>
+<p>
+
+</p>
+<pre class="programlisting"><span class="keyword">namespace</span> <span class="identifier">boost</span>
+<span class="special">{</span>
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardRange</span> <span class="special">&gt;</span>
+ <span class="keyword">class</span> <span class="identifier">sub_range</span> <span class="special">:</span> <span class="keyword">public</span> <span class="identifier">iterator_range</span><span class="special">&lt;</span> <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="special">&gt;</span>
+ <span class="special">{</span>
+ <span class="keyword">public</span><span class="special">:</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">iterator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">range_iterator</span><span class="special">&lt;</span><span class="keyword">const</span> <span class="identifier">ForwardRange</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">const_iterator</span><span class="special">;</span>
+ <span class="keyword">typedef</span> <span class="keyword">typename</span> <span class="identifier">iterator_difference</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">difference_type</span><span class="special">;</span>
+
+ <span class="keyword">public</span><span class="special">:</span> <span class="comment">// construction, assignment
+</span> <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardTraversalIterator</span> <span class="special">&gt;</span>
+ <span class="identifier">sub_range</span><span class="special">(</span> <span class="identifier">ForwardTraversalIterator</span> <span class="identifier">Begin</span><span class="special">,</span> <span class="identifier">ForwardTraversalIterator</span> <span class="identifier">End</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardRange2</span> <span class="special">&gt;</span>
+ <span class="identifier">sub_range</span><span class="special">(</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardRange2</span> <span class="special">&gt;</span>
+ <span class="identifier">sub_range</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">Range2</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardRange2</span> <span class="special">&gt;</span>
+ <span class="identifier">sub_range</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardRange2</span> <span class="special">&gt;</span>
+ <span class="identifier">sub_range</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">=(</span> <span class="keyword">const</span> <span class="identifier">ForwardRange2</span><span class="special">&amp;</span> <span class="identifier">r</span> <span class="special">);</span>
+
+ <span class="keyword">public</span><span class="special">:</span> <span class="comment">// Forward Range functions
+</span> <span class="identifier">iterator</span> <span class="identifier">begin</span><span class="special">();</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">begin</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">iterator</span> <span class="identifier">end</span><span class="special">();</span>
+ <span class="identifier">const_iterator</span> <span class="identifier">end</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">public</span><span class="special">:</span> <span class="comment">// convenience
+</span> <span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">front</span><span class="special">();</span>
+ <span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">front</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">back</span><span class="special">();</span>
+ <span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&amp;</span> <span class="identifier">back</span><span class="special">()</span> <span class="keyword">const</span><span class="special">;</span>
+ <span class="comment">// for Random Access Range only:
+</span> <span class="identifier">value_type</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">[](</span> <span class="identifier">size_type</span> <span class="identifier">at</span> <span class="special">);</span>
+ <span class="keyword">const</span> <span class="identifier">value_type</span><span class="special">&amp;</span> <span class="keyword">operator</span><span class="special">[](</span> <span class="identifier">size_type</span> <span class="identifier">at</span> <span class="special">)</span> <span class="keyword">const</span><span class="special">;</span>
+
+ <span class="keyword">public</span><span class="special">:</span>
+ <span class="comment">// rest of interface inherited from iterator_range
+</span> <span class="special">};</span>
+
+<span class="special">}</span> <span class="comment">// namespace 'boost'
+</span></pre>
+<p>
+ </p>
+<p>
+ The class should be trivial to use as seen below. Imagine that we have
+ an algorithm that searches for a sub-string in a string. The result is
+ an iterator_range, that delimits the match. We need to store the result
+ from this algorithm. Here is an example of how we can do it with and without
+ <code class="computeroutput"><span class="identifier">sub_range</span></code>
+ </p>
+<p>
+
+</p>
+<pre class="programlisting"><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span> <span class="identifier">str</span><span class="special">(</span><span class="string">"hello"</span><span class="special">);</span>
+<span class="identifier">iterator_range</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">::</span><span class="identifier">iterator</span><span class="special">&gt;</span> <span class="identifier">ir</span> <span class="special">=</span> <span class="identifier">find_first</span><span class="special">(</span> <span class="identifier">str</span><span class="special">,</span> <span class="string">"ll"</span> <span class="special">);</span>
+<span class="identifier">sub_range</span><span class="special">&lt;</span><span class="identifier">std</span><span class="special">::</span><span class="identifier">string</span><span class="special">&gt;</span> <span class="identifier">sub</span> <span class="special">=</span> <span class="identifier">find_first</span><span class="special">(</span> <span class="identifier">str</span><span class="special">,</span> <span class="string">"ll"</span> <span class="special">);</span>
+</pre>
+<p>
+ </p>
+</div>
+<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
+<td align="left"></td>
+<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
+</div></td>
+</tr></table>
+<hr>
+<div class="spirit-nav">
+<a accesskey="p" href="iterator_range.html"><img src="../../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../utilities.html"><img src="../../../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../../../index.html"><img src="../../../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="join.html"><img src="../../../../../../../doc/html/images/next.png" alt="Next"></a>
+</div>
+</body>
+</html>

Modified: trunk/libs/range/doc/html/range/style_guide.html
==============================================================================
--- trunk/libs/range/doc/html/range/style_guide.html (original)
+++ trunk/libs/range/doc/html/range/style_guide.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -6,7 +6,7 @@
 <meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
 <link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
-<link rel="prev" href="utilities/join.html" title="Function join">
+<link rel="prev" href="reference/extending/method_3/method_3_2.html" title="Method 3.2: Implement a Range Adaptor with arguments">
 <link rel="next" href="library_headers.html" title="Library Headers">
 </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="utilities/join.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="library_headers.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reference/extending/method_3/method_3_2.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="library_headers.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 <div class="section" title="Terminology and style guidelines">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
@@ -92,7 +92,7 @@
     </p>
 <p>
       It might, however, be reasonable to specify only one category if the other
- category does not matter. For example, the <a class="link" href="utilities/iterator_range.html" title="Class iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> can be constructed
+ category does not matter. For example, the <a class="link" href="reference/utilities/iterator_range.html" title="Class iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> can be constructed
       from a Forward Range. This means that we do not care about what <span class="bold"><strong><span class="emphasis"><em>value
       access</em></span></strong></span> properties the Range has. Similarly, a Readable
       Range will be one that has the lowest possible <span class="bold"><strong><span class="emphasis"><em>traversal</em></span></strong></span>
@@ -135,7 +135,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="utilities/join.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="library_headers.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
+<a accesskey="p" href="reference/extending/method_3/method_3_2.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="library_headers.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>

Deleted: trunk/libs/range/doc/html/range/utilities.html
==============================================================================
--- trunk/libs/range/doc/html/range/utilities.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
+++ (empty file)
@@ -1,82 +0,0 @@
-<html>
-<head>
-<meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
-<title>Utilities</title>
-<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.75.1">
-<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
-<link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
-<link rel="prev" href="reference/extending/method_3/method_3_2.html" title="Method 3.2: Implement a Range Adaptor with arguments">
-<link rel="next" href="utilities/iterator_range.html" title="Class iterator_range">
-</head>
-<body bgcolor="white" text="black" link="#0000FF" vlink="#840084" alink="#0000FF">
-<table cellpadding="2" width="100%"><tr>
-<td valign="top"><img alt="Boost C++ Libraries" width="277" height="86" src="../../../../../boost.png"></td>
-<td align="center">Home</td>
-<td align="center">Libraries</td>
-<td align="center">People</td>
-<td align="center">FAQ</td>
-<td align="center">More</td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="reference/extending/method_3/method_3_2.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="utilities/iterator_range.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-<div class="section" title="Utilities">
-<div class="titlepage"><div><div><h2 class="title" style="clear: both">
-<a name="range.utilities"></a><a class="link" href="utilities.html" title="Utilities"> Utilities</a>
-</h2></div></div></div>
-<div class="toc"><dl>
-<dt><span class="section"> Class iterator_range</span></dt>
-<dt><span class="section"> Class sub_range</span></dt>
-<dt><span class="section"> Function join</span></dt>
-</dl></div>
-<p>
- Having an abstraction that encapsulates a pair of iterators is very useful.
- The standard library uses <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span></code> in
- some circumstances, but that class is cumbersome to use because we need to
- specify two template arguments, and for all range algorithm purposes we must
- enforce the two template arguments to be the same. Moreover, <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">pair</span><span class="special">&lt;</span><span class="identifier">iterator</span><span class="special">,</span><span class="identifier">iterator</span><span class="special">&gt;</span></code> is hardly self-documenting whereas more
- domain specific class names are. Therefore these two classes are provided:
- </p>
-<div class="itemizedlist"><ul class="itemizedlist" type="disc">
-<li class="listitem">
- Class <code class="computeroutput"><span class="identifier">iterator_range</span></code>
-</li>
-<li class="listitem">
- Class <code class="computeroutput"><span class="identifier">sub_range</span></code>
-</li>
-<li class="listitem">
- Function <code class="computeroutput"><span class="identifier">join</span></code>
-</li>
-</ul></div>
-<p>
- The <code class="computeroutput"><span class="identifier">iterator_range</span></code> class is
- templated on an <a href="../../../../../libs/iterator/doc/new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators" target="_top">Forward
- Traversal Iterator</a> and should be used whenever fairly general code
- is needed. The <code class="computeroutput"><span class="identifier">sub_range</span></code> class
- is templated on an <a class="link" href="concepts/forward_range.html" title="Forward Range">Forward Range</a>
- and it is less general, but a bit easier to use since its template argument
- is easier to specify. The biggest difference is, however, that a <code class="computeroutput"><span class="identifier">sub_range</span></code> can propagate constness because
- it knows what a corresponding <code class="computeroutput"><span class="identifier">const_iterator</span></code>
- is.
- </p>
-<p>
- Both classes can be used as ranges since they implement the <a class="link" href="reference/extending.html" title="Extending the library">minimal
- interface</a> required for this to work automatically.
- </p>
-</div>
-<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision" width="100%"><tr>
-<td align="left"></td>
-<td align="right"><div class="copyright-footer">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves<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>
-</div></td>
-</tr></table>
-<hr>
-<div class="spirit-nav">
-<a accesskey="p" href="reference/extending/method_3/method_3_2.html"><img src="../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/html/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/html/images/home.png" alt="Home"></a><a accesskey="n" href="utilities/iterator_range.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a>
-</div>
-</body>
-</html>

Modified: trunk/libs/range/doc/html/range/utilities/iterator_range.html
==============================================================================
--- trunk/libs/range/doc/html/range/utilities/iterator_range.html (original)
+++ trunk/libs/range/doc/html/range/utilities/iterator_range.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -47,7 +47,7 @@
         limitation is simply propogated from the underlying iterator type.
       </p>
 <a name="range.utilities.iterator_range.synopsis"></a><h5>
-<a name="id3119597"></a>
+<a name="id2763343"></a>
         <a class="link" href="iterator_range.html#range.utilities.iterator_range.synopsis">Synopsis</a>
       </h5>
 <p>
@@ -187,7 +187,7 @@
         iterators from the same container.
       </p>
 <a name="range.utilities.iterator_range.details_member_functions"></a><h5>
-<a name="id3122828"></a>
+<a name="id2766569"></a>
         <a class="link" href="iterator_range.html#range.utilities.iterator_range.details_member_functions">Details
         member functions</a>
       </h5>
@@ -218,7 +218,7 @@
         </p>
 </blockquote></div>
 <a name="range.utilities.iterator_range.details_functions"></a><h5>
-<a name="id3123073"></a>
+<a name="id2766813"></a>
         <a class="link" href="iterator_range.html#range.utilities.iterator_range.details_functions">Details
         functions</a>
       </h5>

Modified: trunk/libs/range/doc/html/range/utilities/join.html
==============================================================================
--- trunk/libs/range/doc/html/range/utilities/join.html (original)
+++ trunk/libs/range/doc/html/range/utilities/join.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -39,7 +39,7 @@
         if the end of a range has been reached internally during traversal.
       </p>
 <a name="range.utilities.join.synposis"></a><h5>
-<a name="id3125510"></a>
+<a name="id2769247"></a>
         <a class="link" href="join.html#range.utilities.join.synposis">Synposis</a>
       </h5>
 <p>
@@ -65,7 +65,7 @@
 <p>
       </p>
 <a name="range.utilities.join.example"></a><h5>
-<a name="id3126057"></a>
+<a name="id2769794"></a>
         <a class="link" href="join.html#range.utilities.join.example">Example</a>
       </h5>
 <p>

Modified: trunk/libs/range/doc/html/range/utilities/sub_range.html
==============================================================================
--- trunk/libs/range/doc/html/range/utilities/sub_range.html (original)
+++ trunk/libs/range/doc/html/range/utilities/sub_range.html 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -35,7 +35,7 @@
         is.
       </p>
 <a name="range.utilities.sub_range.synopsis"></a><h5>
-<a name="id3124232"></a>
+<a name="id2767970"></a>
         <a class="link" href="sub_range.html#range.utilities.sub_range.synopsis">Synopsis</a>
       </h5>
 <p>

Modified: trunk/libs/range/doc/reference.qbk
==============================================================================
--- trunk/libs/range/doc/reference.qbk (original)
+++ trunk/libs/range/doc/reference.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section Reference]
+[section:reference Reference]
 
 [include reference/overview.qbk]
 [include reference/synopsis.qbk]
@@ -6,6 +6,7 @@
 [include reference/adaptors.qbk]
 [include reference/algorithms.qbk]
 [include reference/ranges.qbk]
+[include reference/utilities.qbk]
 [include reference/extending.qbk]
 
 [endsect]

Modified: trunk/libs/range/doc/reference/adaptors.qbk
==============================================================================
--- trunk/libs/range/doc/reference/adaptors.qbk (original)
+++ trunk/libs/range/doc/reference/adaptors.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,6 +1,6 @@
 [section:adaptors Range Adaptors]
 
-[section:adaptors_introduction Introduction and motivation]
+[section:introduction Introduction and motivation]
 
 A [*Range Adaptor] is a class that wraps an existing Range to provide a new Range with different behaviour. Since the behaviour of Ranges is determined by their associated iterators, a Range Adaptor simply wraps the underlying iterators with new special iterators. In this example
 
@@ -145,7 +145,7 @@
 
 [endsect]
 
-[section:adaptors_general_requirements General Requirements]
+[section:general_requirements General Requirements]
 
 In the description of generator expressions, the following notation is used:
 
@@ -183,7 +183,7 @@
 
 [endsect]
 
-[section:adaptors_reference Reference]
+[section:reference Reference]
 [include adaptors/adjacent_filtered.qbk]
 [include adaptors/copied.qbk]
 [include adaptors/filtered.qbk]

Modified: trunk/libs/range/doc/reference/algorithm/adjacent_find.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/adjacent_find.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/adjacent_find.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:adjacent_find Range Algorithm - adjacent_find]
+[section:adjacent_find adjacent_find]
 
 [heading Prototype]
 

Modified: trunk/libs/range/doc/reference/algorithm/copy.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/copy.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/copy.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:copy Range Algorithm - copy]
+[section:copy copy]
 
 [heading Prototype]
 

Modified: trunk/libs/range/doc/reference/algorithm/copy_backward.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/copy_backward.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/copy_backward.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:copy_backward Range Algorithm - copy_backward]
+[section:copy_backward copy_backward]
 
 [heading Prototype]
 

Added: trunk/libs/range/doc/reference/algorithm/count_if.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/reference/algorithm/count_if.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,32 @@
+[section:count_if count_if]
+
+[heading Prototype]
+
+``
+template<class SinglePassRange, class UnaryPredicate>
+typename range_difference<const SinglePassRange>::type
+count_if(const SinglePassRange& rng, UnaryPredicate pred);
+``
+
+[heading Description]
+
+`count_if` returns the number of elements `x` in `rng` where `pred(x)` is `true`.
+
+[heading Definition]
+
+Defined in the header file `boost/range/algorithm/count_if.hpp`
+
+[heading Requirements]
+
+* `SinglePassRange` is a model of the __single_pass_range__ Concept.
+* `UnaryPredicate` is a model of the `UnaryPredicateConcept`.
+* `SinglePassRange`'s value type is a model of the `EqualityComparableConcept`.
+* The value type of `SinglePassRange` is convertible to the argument type of `UnaryPredicate`.
+
+[heading Complexity]
+
+Linear. Exactly `distance(rng)` invocations of `pred`.
+
+[endsect]
+
+

Modified: trunk/libs/range/doc/reference/algorithm/fill.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/fill.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/fill.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:fill Range Algorithm - fill]
+[section:fill fill]
 
 [heading Prototype]
 

Modified: trunk/libs/range/doc/reference/algorithm/fill_n.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/fill_n.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/fill_n.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:fill_n Range Algorithm - fill_n]
+[section:fill_n fill_n]
 
 [heading Prototype]
 

Modified: trunk/libs/range/doc/reference/algorithm/generate.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/generate.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/generate.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:generate Range Algorithm - generate]
+[section:generate generate]
 
 [heading Prototype]
 

Modified: trunk/libs/range/doc/reference/algorithm/inplace_merge.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/inplace_merge.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/inplace_merge.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:inplace_merge Range Algorithm - inplace_merge]
+[section:inplace_merge inplace_merge]
 
 [heading Prototype]
 
@@ -7,18 +7,18 @@
 BidirectionalRange&
 inplace_merge( BidirectionalRange& rng,
                typename range_iterator<BidirectionalRange>::type middle );
-
+
 template<class BidirectionalRange>
 const BidirectionalRange&
 inplace_merge( const BidirectionalRange& rng,
                typename range_iterator<const BidirectionalRange>::type middle );
-
+
 template<class BidirectionalRange, class BinaryPredicate>
 BidirectionalRange&
 inplace_merge( BidirectionalRange& rng,
                typename range_iterator<BidirectionalRange>::type middle,
                BinaryPredicate pred );
-
+
 template<class BidirectionalRange, class BinaryPredicate>
 const BidirectionalRange&
 inplace_merge( const BidirectionalRange& rng,

Modified: trunk/libs/range/doc/reference/algorithm/merge.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/merge.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/merge.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:merge Range Algorithm - merge]
+[section:merge merge]
 
 [heading Prototype]
 

Modified: trunk/libs/range/doc/reference/algorithm/mismatch.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/mismatch.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/mismatch.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -75,7 +75,7 @@
 
 [heading Description]
 
-The versions of `mismatch` that return an iterator, return an iterator to the first position where `rng1` and `rng2` differ.
+`mismatch` finds the first position where the two ranges `rng1` and `rng2` differ.
 
 Equality is determined by `operator==` for non-predicate versions of `mismatch`, and by satisfying `pred` in the predicate versions.
 

Modified: trunk/libs/range/doc/reference/algorithm/nth_element.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/nth_element.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/nth_element.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:nth_element Range Algorithm - nth_element]
+[section:nth_element nth_element]
 
 [heading Prototype]
 

Modified: trunk/libs/range/doc/reference/algorithm/partial_sort.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/partial_sort.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/partial_sort.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:partial_sort Range Algorithm - partial_sort]
+[section:partial_sort partial_sort]
 
 [heading Prototype]
 

Modified: trunk/libs/range/doc/reference/algorithm/partition.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/partition.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/partition.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:partition Range Algorithm - partition]
+[section:partition partition]
 
 [heading Prototype]
 

Modified: trunk/libs/range/doc/reference/algorithm/random_shuffle.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/random_shuffle.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/random_shuffle.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:random_shuffle Range Algorithm - random_shuffle]
+[section:random_shuffle random_shuffle]
 
 [heading Prototype]
 

Modified: trunk/libs/range/doc/reference/algorithm/remove.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/remove.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/remove.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:remove Range Algorithm - remove]
+[section:remove remove]
 
 [heading Prototype]
 

Added: trunk/libs/range/doc/reference/algorithm/remove_copy.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/reference/algorithm/remove_copy.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,34 @@
+[section:remove_copy remove_copy]
+
+[heading Prototype]
+
+``
+template<class ForwardRange, class Outputiterator, class Value>
+OutputIterator
+remove_copy(ForwardRange& rng, OutputIterator out, const Value& val);
+
+template<class ForwardRange, class OutputIterator, class Value>
+OutputIterator
+remove_copy(const ForwardRange& rng, OutputIterator out, const Value& val);
+``
+
+[heading Description]
+
+`remove_copy` copied all of the elements `x` from `rng` for which `x == val` is `false`.
+
+[heading Definition]
+
+Defined in the header file `boost/range/algorithm/remove_copy.hpp`
+
+[heading Requirements]
+
+* `ForwardRange` is a model of the __forward_range__ Concept.
+* `ForwardRange` is mutable.
+* `Value` is a model of the `EqualityComparableConcept`.
+* Objects of type `Value` can be compared for equality with objects of `ForwardRange`'s value type.
+
+[heading Complexity]
+
+Linear. `remove_copy` performs exactly `distance(rng)` comparisons for equality.
+
+[endsect]

Added: trunk/libs/range/doc/reference/algorithm/remove_copy_if.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/reference/algorithm/remove_copy_if.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,33 @@
+[section:remove_copy_if remove_copy_if]
+
+[heading Prototype]
+
+``
+template<class ForwardRange, class Outputiterator, class UnaryPred>
+OutputIterator
+remove_copy_if(ForwardRange& rng, OutputIterator out, UnaryPred pred);
+
+template<class ForwardRange, class OutputIterator, class UnaryPred>
+OutputIterator
+remove_copy_if(const ForwardRange& rng, OutputIterator out, UnaryPred pred);
+``
+
+[heading Description]
+
+`remove_copy_if` copied all of the elements `x` from `rng` for which `pred(x)` is `false`.
+
+[heading Definition]
+
+Defined in the header file `boost/range/algorithm/remove_copy_if.hpp`
+
+[heading Requirements]
+
+* `ForwardRange` is a model of the __forward_range__ Concept.
+* `ForwardRange` is mutable.
+* `UnaryPred` is a model of the `UnaryPredicateConcept`.
+
+[heading Complexity]
+
+Linear. `remove_copy_if` performs exactly `distance(rng)` comparisons with UnaryPred.
+
+[endsect]

Modified: trunk/libs/range/doc/reference/algorithm/remove_if.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/remove_if.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/remove_if.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:remove_if Range Algorithm - remove_if]
+[section:remove_if remove_if]
 
 [heading Prototype]
 

Modified: trunk/libs/range/doc/reference/algorithm/replace.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/replace.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/replace.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:replace Range Algorithm - replace]
+[section:replace replace]
 
 [heading Prototype]
 

Added: trunk/libs/range/doc/reference/algorithm/replace_copy.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/reference/algorithm/replace_copy.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,33 @@
+[section:replace_copy replace_copy]
+
+[heading Prototype]
+
+``
+template<class ForwardRange, class OutputIterator, class Value>
+OutputIterator replace_copy(const ForwardRange& rng, OutputIterator out,
+ const Value& what, const Value& with_what);
+``
+
+[heading Description]
+
+`replace_copy` copy every element `x` in `rng` such that the corresponding element in the output range `y` is `x == what ? with_what : x`.
+
+[heading Definition]
+
+Defined in the header file `boost/range/algorithm/replace_copy.hpp`
+
+[heading Requirements]
+
+* `ForwardRange` is a model of the __forward_range__ Concept.
+* `ForwardRange` is mutable.
+* `Value` is convertible to `ForwardRange`'s value type.
+* `Value` is a model of the `AssignableConcept`.
+* `OutputIterator` is a model of the `OutputIteratorConcept`.
+
+[heading Complexity]
+
+Linear. `replace_copy` performs exactly `distance(rng)`.
+
+[endsect]
+
+

Added: trunk/libs/range/doc/reference/algorithm/replace_copy_if.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/reference/algorithm/replace_copy_if.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,34 @@
+[section:replace_copy_if replace_copy_if]
+
+[heading Prototype]
+
+``
+template<class ForwardRange, class OutputIterator, class UnaryPredicate, class Value>
+OutputIterator replace_copy_if(const ForwardRange& rng, OutputIterator out,
+ UnaryPredicate pred, const Value& with_what);
+``
+
+[heading Description]
+
+`replace_copy_if` copy every element `x` in `rng` such that the corresponding element in the output range `y` is `pred(x) ? with_what : x`.
+
+[heading Definition]
+
+Defined in the header file `boost/range/algorithm/replace_copy_if.hpp`
+
+[heading Requirements]
+
+* `ForwardRange` is a model of the __forward_range__ Concept.
+* `ForwardRange` is mutable.
+* `Value` is convertible to `ForwardRange`'s value type.
+* `Value` is a model of the `AssignableConcept`.
+* `OutputIterator` is a model of the `OutputIteratorConcept`.
+* `UnaryPredicate` is a model of the `UnaryPredicateConcept`.
+
+[heading Complexity]
+
+Linear. `replace_copy_if` performs exactly `distance(rng)` evaluations of `pred`.
+
+[endsect]
+
+

Modified: trunk/libs/range/doc/reference/algorithm/replace_if.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/replace_if.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/replace_if.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:replace_if Range Algorithm - replace_if]
+[section:replace_if replace_if]
 
 [heading Prototype]
 

Modified: trunk/libs/range/doc/reference/algorithm/reverse.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/reverse.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/reverse.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:reverse Range Algorithm - reverse]
+[section:reverse reverse]
 
 [heading Prototype]
 

Added: trunk/libs/range/doc/reference/algorithm/reverse_copy.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/reference/algorithm/reverse_copy.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,31 @@
+[section:reverse_copy reverse_copy]
+
+[heading Prototype]
+
+``
+template<class BidirectionalRange, class OutputIterator>
+OutputIterator reverse_copy(const BidirectionalRange& rng, OutputIterator out);
+``
+
+[heading Description]
+
+`reverse_copy` copies the elements from `rng` in reverse order to `out`.
+Returns the output iterator one passed the last copied element.
+
+[heading Definition]
+
+Defined in the header file `boost/range/algorithm/reverse_copy.hpp`
+
+[heading Requirements]
+
+* `BidirectionalRange` is a model of the __bidirectional_range__ Concept.
+* `BidirectionalRange` is mutable.
+* `OutputIterator` is a model of the `OutputIteratorConcept`.
+
+[heading Complexity]
+
+Linear. `reverse_copy` makes `distance(rng)` copies.
+
+[endsect]
+
+

Modified: trunk/libs/range/doc/reference/algorithm/rotate.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/rotate.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/rotate.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:rotate Range Algorithm - rotate]
+[section:rotate rotate]
 
 [heading Prototype]
 
@@ -6,7 +6,7 @@
 template<class ForwardRange>
 ForwardRange& rotate(ForwardRange& rng,
                      typename range_iterator<ForwardRange>::type middle);
-
+
 template<class ForwardRange>
 const ForwardRange& rotate(const ForwardRange& rng,
                            typename range_iterator<const ForwardRange>::type middle);

Added: trunk/libs/range/doc/reference/algorithm/rotate_copy.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/reference/algorithm/rotate_copy.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,38 @@
+[section:rotate_copy rotate_copy]
+
+[heading Prototype]
+
+``
+template<class ForwardRange, class OutputIterator>
+OutputIterator rotate_copy(
+ const ForwardRange& rng,
+ typename range_iterator<ForwardRange>::type middle,
+ OutputIterator out);
+``
+
+[heading Description]
+
+`rotate_copy` rotates the elements in a range. It copies the two ranges `[begin(rng), middle)` and `[middle, end(rng))` to `out`.
+
+[heading Definition]
+
+Defined in the header file `boost/range/algorithm/rotate_copy.hpp`
+
+[heading Requirements]
+
+* `ForwardRange` is a model of the __forward_range__ Concept.
+* `ForwardRange` is mutable.
+* `OutputIterator` is a model of the `OutputIteratorConcept`.
+
+[heading Precondition:]
+
+* `[begin(rng), middle)` is a valid range.
+* `[middle, end(rng))` is a valid range.
+
+[heading Complexity]
+
+Linear. Exactly `distance(rng)` elements are copied.
+
+[endsect]
+
+

Added: trunk/libs/range/doc/reference/algorithm/search_n.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/reference/algorithm/search_n.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,58 @@
+[section:search_n search_n]
+
+[heading Prototype]
+
+``
+template<class ForwardRange, class Integer, class Value>
+typename range_iterator<ForwardRange>::type
+search_n(ForwardRange& rng, Integer n, const Value& value);
+
+template<class ForwardRange, class Integer, class Value>
+typename range_iterator<const ForwardRange>::type
+search_n(const ForwardRange& rng, Integer n, const Value& value);
+
+template<class ForwardRange, class Integer, class Value, class BinaryPredicate>
+typename range_iterator<ForwardRange>::type
+search_n(ForwardRange& rng, Integer n, const Value& value,
+ BinaryPredicate binary_pred);
+
+template<class ForwardRange, class Integer, class Value, class BinaryPredicate>
+typename range_iterator<const ForwardRange>::type
+search_n(const ForwardRange& rng, Integer n, const Value& value,
+ BinaryPredicate binary_pred);
+``
+
+[heading Description]
+
+`search_n` searches `rng` for a sequence of length `n` equal to `value` where
+equality is determined by operator== in the non-predicate case, and by a
+predicate when one is supplied.
+
+[heading Definition]
+
+Defined in the header file `boost/range/algorithm/search_n.hpp`
+
+[heading Requirements]
+
+[*For the non-predicate versions:]
+
+* `ForwardRange` is a model of the __forward_range__ Concept.
+* `ForwardRange`'s value type is a model of the `EqualityComparableConcept`.
+* `ForwardRange`s value type can be compared for equality with `Value`.
+* `Integer` is a model of the `IntegerConcept`.
+
+[*For the predicate versions:]
+
+* `ForwardRange` is a model of the __forward_range__ Concept.
+* `BinaryPredicate` is a model of the `BinaryPredicateConcept`.
+* `ForwardRange`'s value type is convertible to `BinaryPredicate`'s first argument type.
+* `Value` is convertible to `BinaryPredicate`'s second argument type.
+* `Integer` is a model of the `IntegerConcept`.
+
+[heading Complexity]
+
+Average complexity is Linear. Worst-case complexity is quadratic.
+
+[endsect]
+
+

Modified: trunk/libs/range/doc/reference/algorithm/sort.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/sort.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/sort.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:sort Range Algorithm - sort]
+[section:sort sort]
 
 [heading Prototype]
 

Modified: trunk/libs/range/doc/reference/algorithm/stable_partition.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/stable_partition.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/stable_partition.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:stable_partition Range Algorithm - stable_partition]
+[section:stable_partition stable_partition]
 
 [heading Prototype]
 

Modified: trunk/libs/range/doc/reference/algorithm/stable_sort.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/stable_sort.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/stable_sort.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:stable_sort Range Algorithm - stable_sort]
+[section:stable_sort stable_sort]
 
 [heading Prototype]
 

Added: trunk/libs/range/doc/reference/algorithm/swap_ranges.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/reference/algorithm/swap_ranges.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,32 @@
+[section:swap_ranges swap_ranges]
+
+[heading Prototype]
+
+``
+template<class SinglePassRange1, class SinglePassRange2>
+SinglePassRange2& swap_ranges(SinglePassRange1& rng1, SinglePassRange& rng2);
+``
+
+[heading Description]
+
+`swap_ranges` swaps each element `x` in `rng1` with the corresponding element `y` in `rng2`.
+Returns a reference to `rng2`.
+
+[heading Definition]
+
+Defined in the header file `boost/range/algorithm/swap_ranges.hpp`
+
+[heading Requirements]
+
+* `SinglePassRange1` is a model of the __single_pass_range__ Concept.
+* `SinglePassRange1` is mutable.
+* `SinglePassRange2` is a model of the __single_pass_range__ Concept.
+* `SinglePassRange2` is mutable.
+
+[heading Complexity]
+
+Linear. Exactly `distance(rng1)` elements are swapped.
+
+[endsect]
+
+

Modified: trunk/libs/range/doc/reference/algorithm/transform.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/transform.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/transform.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:transform Range Algorithm - transform]
+[section:transform transform]
 
 [heading Prototype]
 
@@ -11,7 +11,7 @@
 OutputIterator transform(const SinglePassRange1& rng,
                          OutputIterator out,
                          UnaryOperation fun);
-
+
 template<
     class SinglePassRange1,
     class SinglePassRange2,

Modified: trunk/libs/range/doc/reference/algorithm/unique.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithm/unique.qbk (original)
+++ trunk/libs/range/doc/reference/algorithm/unique.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -1,4 +1,4 @@
-[section:unique Range Algorithm - unique]
+[section:unique unique]
 
 [heading Prototype]
 

Added: trunk/libs/range/doc/reference/algorithm/unique_copy.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/reference/algorithm/unique_copy.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,44 @@
+[section:unique_copy unique_copy]
+
+[heading Prototype]
+
+``
+template<class SinglePassRange, class OutputIterator>
+OutputIterator unique_copy(const SinglePassRange& rng, OutputIterator out);
+
+template<class SinglePassRange, class OutputIterator, class BinaryPredicate>
+OutputIterator unique_copy(const SinglePassRange& rng, OutputIterator out, BinaryPredicate pred);
+``
+
+[heading Description]
+
+`unique_copy` copies the first element of each sequence of duplicates encountered in `rng` to `out`.
+
+Equality is determined by the predicate if one is supplied, or by `operator==()` for `SinglePassRange`'s value type.
+
+[heading Definition]
+
+Defined in the header file `boost/range/algorithm/unique_copy.hpp`
+
+[heading Requirements]
+
+[*For the non-predicate versions of unique:]
+
+* `SinglePassRange` is a model of the __single_pass_range__ Concept.
+* `SinglePassRange` is mutable.
+* `SinglePassRange`'s value type is a model of the `EqualityComparableConcept`.
+* `OutputIterator` is a model of the `OutputIteratorConcept`.
+
+[*For the predicate versions of unique:]
+
+* `SinglePassRange` is a model of the __single_pass_range__ Concept.
+* `SinglePassRange` is mutable.
+* `BinaryPredicate` is a model of the `BinaryPredicateConcept`.
+* `SinglePassRange`'s value type is convertible to `BinaryPredicate`'s first argument type and to `BinaryPredicate`'s second argument type.
+* `OutputIterator` is a model of the `OutputIteratorConcept`.
+
+[heading Complexity]
+
+Linear. `O(N)` where `N` is `distance(rng)`. Exactly `distance(rng)` comparisons are performed.
+
+[endsect]

Added: trunk/libs/range/doc/reference/algorithm_ext/copy_n.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/reference/algorithm_ext/copy_n.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,32 @@
+[section:copy_n copy_n]
+
+[heading Prototype]
+
+``
+template<class SinglePassRange, class Size, class OutputIterator>
+OutputIterator copy_n(const SinglePassRange& rng, Size n, OutputIterator out);
+``
+
+[heading Description]
+
+`copy_n` is provided to completely replicate the standard algorithm header,
+it is preferable to use Range Adaptors and the extension functions to achieve
+the same result with greater safety.
+
+`copy_n` copies elements from `[boost::begin(rng), boost::begin(rng) + n)` to the range `[out, out + n)`
+
+[heading Definition]
+
+Defined in the header file `boost/range/algorithm_ext/copy_n.hpp`
+
+[heading Requirements]
+
+# `SinglePassRange` is a model of the __single_pass_range__ Concept.
+# `Size` is a model of the `Integer` Concept.
+# `OutputIterator` is a model of the `OutputIteratorConcept`.
+
+[heading Complexity]
+
+Linear. Exactly `n` elements are copied.
+
+[endsect]

Added: trunk/libs/range/doc/reference/algorithm_ext/is_sorted.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/reference/algorithm_ext/is_sorted.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,35 @@
+[section:is_sorted is_sorted]
+
+[heading Prototype]
+
+``
+template<class SinglePassRange>
+bool is_sorted(const SinglePassRange& rng);
+
+template<class SinglePassRange, class BinaryPredicate>
+bool is_sorted(const SinglePassRange& rng, BinaryPredicate pred);
+``
+
+[heading Description]
+
+`is_sorted` determines if a range is sorted.
+For the non-predicate version the return value is `true` if and only if for
+each adjacent elements `[x,y]` the expression `x < y` is `true`.
+For the predicate version the return value is `true` is and only if for each
+adjacent elements `[x,y]` the expression `pred(x,y)` is `true`.
+
+[heading Definition]
+
+Defined in the header file `boost/range/algorithm_ext/is_sorted.hpp`
+
+[heading Requirements]
+
+# `SinglePassRange` is a model of the __single_pass_range__ Concept.
+# `BinaryPredicate` is a model of the `BinaryPredicate` Concept.
+# The value type of `SinglePassRange` is convertible to both argument types of `BinaryPredicate`.
+
+[heading Complexity]
+
+Linear. A maximum of `distance(rng)` comparisons are performed.
+
+[endsect]

Modified: trunk/libs/range/doc/reference/algorithms.qbk
==============================================================================
--- trunk/libs/range/doc/reference/algorithms.qbk (original)
+++ trunk/libs/range/doc/reference/algorithms.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -78,7 +78,7 @@
 
 [endsect]
 
-[section:range_algorithm_mutating_algorithms Mutating algorithms]
+[section:mutating Mutating algorithms]
 [include algorithm/copy.qbk]
 [include algorithm/copy_backward.qbk]
 [include algorithm/fill.qbk]
@@ -91,21 +91,31 @@
 [include algorithm/partition.qbk]
 [include algorithm/random_shuffle.qbk]
 [include algorithm/remove.qbk]
+[include algorithm/remove_copy.qbk]
+[include algorithm/remove_copy_if.qbk]
 [include algorithm/remove_if.qbk]
 [include algorithm/replace.qbk]
+[include algorithm/replace_copy.qbk]
+[include algorithm/replace_copy_if.qbk]
 [include algorithm/replace_if.qbk]
+[include algorithm/reverse.qbk]
+[include algorithm/reverse_copy.qbk]
 [include algorithm/rotate.qbk]
+[include algorithm/rotate_copy.qbk]
 [include algorithm/sort.qbk]
 [include algorithm/stable_partition.qbk]
 [include algorithm/stable_sort.qbk]
+[include algorithm/swap_ranges.qbk]
 [include algorithm/transform.qbk]
 [include algorithm/unique.qbk]
+[include algorithm/unique_copy.qbk]
 [endsect]
 
-[section:range_algorithm_non_mutating_algorithms Non-mutating algorithms]
+[section:non_mutating Non-mutating algorithms]
 [include algorithm/adjacent_find.qbk]
 [include algorithm/binary_search.qbk]
 [include algorithm/count.qbk]
+[include algorithm/count_if.qbk]
 [include algorithm/equal.qbk]
 [include algorithm/equal_range.qbk]
 [include algorithm/for_each.qbk]
@@ -119,10 +129,11 @@
 [include algorithm/min_element.qbk]
 [include algorithm/mismatch.qbk]
 [include algorithm/search.qbk]
+[include algorithm/search_n.qbk]
 [include algorithm/upper_bound.qbk]
 [endsect]
 
-[section:set_algorithms Set algorithms]
+[section:set Set algorithms]
 [include algorithm/includes.qbk]
 [include algorithm/set_union.qbk]
 [include algorithm/set_intersection.qbk]
@@ -130,23 +141,25 @@
 [include algorithm/set_symmetric_difference.qbk]
 [endsect]
 
-[section:heap_algorithms Heap algorithms]
+[section:heap Heap algorithms]
 [include algorithm/push_heap.qbk]
 [include algorithm/pop_heap.qbk]
 [include algorithm/make_heap.qbk]
 [include algorithm/sort_heap.qbk]
 [endsect]
 
-[section:permutation_algorithms Permutation algorithms]
+[section:permutation Permutation algorithms]
 [include algorithm/next_permutation.qbk]
 [include algorithm/prev_permutation.qbk]
 [endsect]
 
-[section:range_algorithm_new_algorithms New algorithms]
+[section:new New algorithms]
+[include algorithm_ext/copy_n.qbk]
 [include algorithm_ext/erase.qbk]
 [include algorithm_ext/for_each.qbk]
 [include algorithm_ext/insert.qbk]
 [include algorithm_ext/iota.qbk]
+[include algorithm_ext/is_sorted.qbk]
 [include algorithm_ext/overwrite.qbk]
 [include algorithm_ext/push_back.qbk]
 [include algorithm_ext/push_front.qbk]
@@ -154,7 +167,7 @@
 [include algorithm_ext/remove_erase_if.qbk]
 [endsect]
 
-[section:range_numeric Numeric algorithms]
+[section:numeric Numeric algorithms]
 [include numeric/accumulate.qbk]
 [include numeric/adjacent_difference.qbk]
 [include numeric/inner_product.qbk]

Added: trunk/libs/range/doc/reference/utilities.qbk
==============================================================================
--- (empty file)
+++ trunk/libs/range/doc/reference/utilities.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
@@ -0,0 +1,296 @@
+[section:utilities Utilities]
+
+Having an abstraction that encapsulates a pair of iterators is very useful. The standard library uses `std::pair` in some circumstances, but that class is cumbersome to use because we need to specify two template arguments, and for all range algorithm purposes we must enforce the two template arguments to be the same. Moreover, `std::pair<iterator,iterator>` is hardly self-documenting whereas more domain specific class names are. Therefore these two classes are provided:
+
+* Class `iterator_range`
+* Class `sub_range`
+* Function `join`
+
+The `iterator_range` class is templated on an __forward_traversal_iterator__ and should be used whenever fairly general code is needed. The `sub_range` class is templated on an __forward_range__ and it is less general, but a bit easier to use since its template argument is easier to specify. The biggest difference is, however, that a `sub_range` can propagate constness because it knows what a corresponding `const_iterator` is.
+
+Both classes can be used as ranges since they implement the __minimal_interface__ required for this to work automatically.
+
+[section:iterator_range Class `iterator_range`]
+
+The intention of the `iterator_range` class is to encapsulate two iterators so they fulfill the __forward_range__ concept. A few other functions are also provided for convenience.
+
+If the template argument is not a model of __forward_traversal_iterator__, one can still use a subset of the interface. In particular, `size()` requires Random Access Traversal Iterators whereas `empty()` only requires Single Pass Iterators.
+
+Recall that many default constructed iterators are [*/singular/] and hence can only be assigned, but not compared or incremented or anything. However, if one creates a default constructed `iterator_range`, then one can still call all its member functions. This design decision avoids the `iterator_range` imposing limitations upon ranges of iterators that are not singular. Any singularity limitation is simply propogated from the underlying iterator type.
+
+
+[h4 Synopsis]
+
+``
+namespace boost
+{
+ template< class ForwardTraversalIterator >
+ class iterator_range
+ {
+ public: // Forward Range types
+ typedef ForwardTraversalIterator iterator;
+ typedef ForwardTraversalIterator const_iterator;
+ typedef iterator_difference<iterator>::type difference_type;
+
+ public: // construction, assignment
+ template< class ForwardTraversalIterator2 >
+ iterator_range( ForwardTraversalIterator2 Begin, ForwardTraversalIterator2 End );
+
+ template< class ForwardRange >
+ iterator_range( ForwardRange& r );
+
+ template< class ForwardRange >
+ iterator_range( const ForwardRange& r );
+
+ template< class ForwardRange >
+ iterator_range& operator=( ForwardRange& r );
+
+ template< class ForwardRange >
+ iterator_range& operator=( const ForwardRange& r );
+
+ public: // Forward Range functions
+ iterator begin() const;
+ iterator end() const;
+
+ public: // convenience
+ operator unspecified_bool_type() const;
+ bool equal( const iterator_range& ) const;
+ value_type& front() const;
+ value_type& back() const;
+ iterator_range& advance_begin(difference_type n);
+ iterator_range& advance_end(difference_type n);
+ bool empty() const;
+ // for Random Access Range only:
+ reference operator[]( difference_type at ) const;
+ value_type operator()( difference_type at ) const;
+ size_type size() const;
+ };
+
+ // stream output
+ template< class ForwardTraversalIterator, class T, class Traits >
+ std::basic_ostream<T,Traits>&
+ operator<<( std::basic_ostream<T,Traits>& Os,
+ const iterator_range<ForwardTraversalIterator>& r );
+
+ // comparison
+ template< class ForwardTraversalIterator, class ForwardTraversalIterator2 >
+ bool operator==( const iterator_range<ForwardTraversalIterator>& l,
+ const iterator_range<ForwardTraversalIterator2>& r );
+
+ template< class ForwardTraversalIterator, class ForwardRange >
+ bool operator==( const iterator_range<ForwardTraversalIterator>& l,
+ const ForwardRange& r );
+
+ template< class ForwardTraversalIterator, class ForwardRange >
+ bool operator==( const ForwardRange& l,
+ const iterator_range<ForwardTraversalIterator>& r );
+
+ template< class ForwardTraversalIterator, class ForwardTraversalIterator2 >
+ bool operator!=( const iterator_range<ForwardTraversalIterator>& l,
+ const iterator_range<ForwardTraversalIterator2>& r );
+
+ template< class ForwardTraversalIterator, class ForwardRange >
+ bool operator!=( const iterator_range<ForwardTraversalIterator>& l,
+ const ForwardRange& r );
+
+ template< class ForwardTraversalIterator, class ForwardRange >
+ bool operator!=( const ForwardRange& l,
+ const iterator_range<ForwardTraversalIterator>& r );
+
+ template< class ForwardTraversalIterator, class ForwardTraversalIterator2 >
+ bool operator<( const iterator_range<ForwardTraversalIterator>& l,
+ const iterator_range<ForwardTraversalIterator2>& r );
+
+ template< class ForwardTraversalIterator, class ForwardRange >
+ bool operator<( const iterator_range<ForwardTraversalIterator>& l,
+ const ForwardRange& r );
+
+ template< class ForwardTraversalIterator, class ForwardRange >
+ bool operator<( const ForwardRange& l,
+ const iterator_range<ForwardTraversalIterator>& r );
+
+ // external construction
+ template< class ForwardTraversalIterator >
+ iterator_range< ForwardTraversalIterator >
+ make_iterator_range( ForwardTraversalIterator Begin,
+ ForwardTraversalIterator End );
+
+ template< class ForwardRange >
+ iterator_range< typename range_iterator<ForwardRange>::type >
+ make_iterator_range( ForwardRange& r );
+
+ template< class ForwardRange >
+ iterator_range< typename range_iterator<const ForwardRange>::type >
+ make_iterator_range( const ForwardRange& r );
+
+ template< class Range >
+ iterator_range< typename range_iterator<Range>::type >
+ make_iterator_range( Range& r,
+ typename range_difference<Range>::type advance_begin,
+ typename range_difference<Range>::type advance_end );
+
+ template< class Range >
+ iterator_range< typename range_iterator<const Range>::type >
+ make_iterator_range( const Range& r,
+ typename range_difference<const Range>::type advance_begin,
+ typename range_difference<const Range>::type advance_end );
+
+ // convenience
+ template< class Sequence, class ForwardRange >
+ Sequence copy_range( const ForwardRange& r );
+
+} // namespace 'boost'
+``
+
+If an instance of `iterator_range` is constructed by a client with two iterators, the client must ensure that the two iterators delimit a valid closed-open range [begin,end).
+
+It is worth noticing that the templated constructors and assignment operators allow conversion from `iterator_range<iterator>` to `iterator_range<const_iterator>`. Similarly, since the comparison operators have two template arguments, we can compare ranges whenever the iterators are comparable; for example when we are dealing with const and non-const iterators from the same container.
+
+[h4 Details member functions]
+
+`operator unspecified_bool_type() const;`
+
+[:['[*Returns]] `!empty();`]
+
+`bool equal( iterator_range& r ) const;`
+
+[:['[*Returns]] `begin() == r.begin() && end() == r.end();`]
+
+[h4 Details functions]
+
+`bool operator==( const ForwardRange1& l, const ForwardRange2& r );`
+
+[:['[*Returns]] `size(l) != size(r) ? false : std::equal( begin(l), end(l), begin(r) );`]
+
+`bool operator!=( const ForwardRange1& l, const ForwardRange2& r );`
+
+[:['[*Returns]] `!( l == r );`]
+
+`bool operator<( const ForwardRange1& l, const ForwardRange2& r );`
+
+[:['[*Returns]] `std::lexicographical_compare( begin(l), end(l), begin(r), end(r) );`]
+
+``
+iterator_range make_iterator_range( Range& r,
+ typename range_difference<Range>::type advance_begin,
+ typename range_difference<Range>::type advance_end );
+``
+
+[:['[*Effects:]]]
+
+``
+ iterator new_begin = begin( r ),
+ iterator new_end = end( r );
+ std::advance( new_begin, advance_begin );
+ std::advance( new_end, advance_end );
+ return make_iterator_range( new_begin, new_end );
+``
+
+`Sequence copy_range( const ForwardRange& r );`
+
+[:['[*Returns]] `Sequence( begin(r), end(r) );`]
+
+[endsect]
+
+[section:sub_range Class `sub_range`]
+
+The `sub_range` class inherits all its functionality from the __iterator_range__ class. The `sub_range` class is often easier to use because one must specify the __forward_range__ template argument instead of an iterator. Moreover, the `sub_range` class can propagate constness since it knows what a corresponding `const_iterator` is.
+
+[h4 Synopsis]
+
+``
+namespace boost
+{
+ template< class ForwardRange >
+ class sub_range : public iterator_range< typename range_iterator<ForwardRange>::type >
+ {
+ public:
+ typedef typename range_iterator<ForwardRange>::type iterator;
+ typedef typename range_iterator<const ForwardRange>::type const_iterator;
+ typedef typename iterator_difference<iterator>::type difference_type;
+
+ public: // construction, assignment
+ template< class ForwardTraversalIterator >
+ sub_range( ForwardTraversalIterator Begin, ForwardTraversalIterator End );
+
+ template< class ForwardRange2 >
+ sub_range( ForwardRange2& r );
+
+ template< class ForwardRange2 >
+ sub_range( const Range2& r );
+
+ template< class ForwardRange2 >
+ sub_range& operator=( ForwardRange2& r );
+
+ template< class ForwardRange2 >
+ sub_range& operator=( const ForwardRange2& r );
+
+ public: // Forward Range functions
+ iterator begin();
+ const_iterator begin() const;
+ iterator end();
+ const_iterator end() const;
+
+ public: // convenience
+ value_type& front();
+ const value_type& front() const;
+ value_type& back();
+ const value_type& back() const;
+ // for Random Access Range only:
+ value_type& operator[]( size_type at );
+ const value_type& operator[]( size_type at ) const;
+
+ public:
+ // rest of interface inherited from iterator_range
+ };
+
+} // namespace 'boost'
+``
+
+The class should be trivial to use as seen below. Imagine that we have an algorithm that searches for a sub-string in a string. The result is an iterator_range, that delimits the match. We need to store the result from this algorithm. Here is an example of how we can do it with and without `sub_range`
+
+``
+std::string str("hello");
+iterator_range<std::string::iterator> ir = find_first( str, "ll" );
+sub_range<std::string> sub = find_first( str, "ll" );
+``
+
+[endsect]
+
+[section:join Function join]
+
+The intention of the `join` function is to join two ranges into one longer range.
+
+The resultant range will have the lowest common traversal of the two ranges supplied as parameters.
+
+Note that the joined range incurs a performance cost due to the need to check if the end of a range has been reached internally during traversal.
+
+[h4 Synposis]
+``
+template<typename SinglePassRange1, typename SinglePassRange2>
+iterator_range<range_detail::join_iterator<
+ typename range_iterator<const SinglePassRange1>::type,
+ typename range_iterator<const SinglePassRange2>::type,
+ typename add_const<
+ typename range_value<const SinglePassRange1>::type>::type>
+>
+join(const SinglePassRange1& rng1, const SinglePassRange2& rng2)
+
+template<typename SinglePassRange1, typename SinglePassRange2>
+iterator_range<range_detail::join_iterator<
+ typename range_iterator<SinglePassRange1>::type,
+ typename range_iterator<SinglePassRange2>::type,
+ typename range_value<SinglePassRange1>::type>
+>
+join(SinglePassRange1& rng1, SinglePassRange2& rng2);
+``
+
+[h4 Example]
+
+The expression `join(irange(0,5), irange(5,10))` would evaluate to a range representing an integer range `[0,10)`
+
+
+[endsect]
+
+[endsect]
+

Deleted: trunk/libs/range/doc/utilities.qbk
==============================================================================
--- trunk/libs/range/doc/utilities.qbk 2010-04-28 12:09:03 EDT (Wed, 28 Apr 2010)
+++ (empty file)
@@ -1,296 +0,0 @@
-[section:utilities Utilities]
-
-Having an abstraction that encapsulates a pair of iterators is very useful. The standard library uses `std::pair` in some circumstances, but that class is cumbersome to use because we need to specify two template arguments, and for all range algorithm purposes we must enforce the two template arguments to be the same. Moreover, `std::pair<iterator,iterator>` is hardly self-documenting whereas more domain specific class names are. Therefore these two classes are provided:
-
-* Class `iterator_range`
-* Class `sub_range`
-* Function `join`
-
-The `iterator_range` class is templated on an __forward_traversal_iterator__ and should be used whenever fairly general code is needed. The `sub_range` class is templated on an __forward_range__ and it is less general, but a bit easier to use since its template argument is easier to specify. The biggest difference is, however, that a `sub_range` can propagate constness because it knows what a corresponding `const_iterator` is.
-
-Both classes can be used as ranges since they implement the __minimal_interface__ required for this to work automatically.
-
-[section:iterator_range Class `iterator_range`]
-
-The intention of the `iterator_range` class is to encapsulate two iterators so they fulfill the __forward_range__ concept. A few other functions are also provided for convenience.
-
-If the template argument is not a model of __forward_traversal_iterator__, one can still use a subset of the interface. In particular, `size()` requires Random Access Traversal Iterators whereas `empty()` only requires Single Pass Iterators.
-
-Recall that many default constructed iterators are [*/singular/] and hence can only be assigned, but not compared or incremented or anything. However, if one creates a default constructed `iterator_range`, then one can still call all its member functions. This design decision avoids the `iterator_range` imposing limitations upon ranges of iterators that are not singular. Any singularity limitation is simply propogated from the underlying iterator type.
-
-
-[h4 Synopsis]
-
-``
-namespace boost
-{
- template< class ForwardTraversalIterator >
- class iterator_range
- {
- public: // Forward Range types
- typedef ForwardTraversalIterator iterator;
- typedef ForwardTraversalIterator const_iterator;
- typedef iterator_difference<iterator>::type difference_type;
-
- public: // construction, assignment
- template< class ForwardTraversalIterator2 >
- iterator_range( ForwardTraversalIterator2 Begin, ForwardTraversalIterator2 End );
-
- template< class ForwardRange >
- iterator_range( ForwardRange& r );
-
- template< class ForwardRange >
- iterator_range( const ForwardRange& r );
-
- template< class ForwardRange >
- iterator_range& operator=( ForwardRange& r );
-
- template< class ForwardRange >
- iterator_range& operator=( const ForwardRange& r );
-
- public: // Forward Range functions
- iterator begin() const;
- iterator end() const;
-
- public: // convenience
- operator unspecified_bool_type() const;
- bool equal( const iterator_range& ) const;
- value_type& front() const;
- value_type& back() const;
- iterator_range& advance_begin(difference_type n);
- iterator_range& advance_end(difference_type n);
- bool empty() const;
- // for Random Access Range only:
- reference operator[]( difference_type at ) const;
- value_type operator()( difference_type at ) const;
- size_type size() const;
- };
-
- // stream output
- template< class ForwardTraversalIterator, class T, class Traits >
- std::basic_ostream<T,Traits>&
- operator<<( std::basic_ostream<T,Traits>& Os,
- const iterator_range<ForwardTraversalIterator>& r );
-
- // comparison
- template< class ForwardTraversalIterator, class ForwardTraversalIterator2 >
- bool operator==( const iterator_range<ForwardTraversalIterator>& l,
- const iterator_range<ForwardTraversalIterator2>& r );
-
- template< class ForwardTraversalIterator, class ForwardRange >
- bool operator==( const iterator_range<ForwardTraversalIterator>& l,
- const ForwardRange& r );
-
- template< class ForwardTraversalIterator, class ForwardRange >
- bool operator==( const ForwardRange& l,
- const iterator_range<ForwardTraversalIterator>& r );
-
- template< class ForwardTraversalIterator, class ForwardTraversalIterator2 >
- bool operator!=( const iterator_range<ForwardTraversalIterator>& l,
- const iterator_range<ForwardTraversalIterator2>& r );
-
- template< class ForwardTraversalIterator, class ForwardRange >
- bool operator!=( const iterator_range<ForwardTraversalIterator>& l,
- const ForwardRange& r );
-
- template< class ForwardTraversalIterator, class ForwardRange >
- bool operator!=( const ForwardRange& l,
- const iterator_range<ForwardTraversalIterator>& r );
-
- template< class ForwardTraversalIterator, class ForwardTraversalIterator2 >
- bool operator<( const iterator_range<ForwardTraversalIterator>& l,
- const iterator_range<ForwardTraversalIterator2>& r );
-
- template< class ForwardTraversalIterator, class ForwardRange >
- bool operator<( const iterator_range<ForwardTraversalIterator>& l,
- const ForwardRange& r );
-
- template< class ForwardTraversalIterator, class ForwardRange >
- bool operator<( const ForwardRange& l,
- const iterator_range<ForwardTraversalIterator>& r );
-
- // external construction
- template< class ForwardTraversalIterator >
- iterator_range< ForwardTraversalIterator >
- make_iterator_range( ForwardTraversalIterator Begin,
- ForwardTraversalIterator End );
-
- template< class ForwardRange >
- iterator_range< typename range_iterator<ForwardRange>::type >
- make_iterator_range( ForwardRange& r );
-
- template< class ForwardRange >
- iterator_range< typename range_iterator<const ForwardRange>::type >
- make_iterator_range( const ForwardRange& r );
-
- template< class Range >
- iterator_range< typename range_iterator<Range>::type >
- make_iterator_range( Range& r,
- typename range_difference<Range>::type advance_begin,
- typename range_difference<Range>::type advance_end );
-
- template< class Range >
- iterator_range< typename range_iterator<const Range>::type >
- make_iterator_range( const Range& r,
- typename range_difference<const Range>::type advance_begin,
- typename range_difference<const Range>::type advance_end );
-
- // convenience
- template< class Sequence, class ForwardRange >
- Sequence copy_range( const ForwardRange& r );
-
-} // namespace 'boost'
-``
-
-If an instance of `iterator_range` is constructed by a client with two iterators, the client must ensure that the two iterators delimit a valid closed-open range [begin,end).
-
-It is worth noticing that the templated constructors and assignment operators allow conversion from `iterator_range<iterator>` to `iterator_range<const_iterator>`. Similarly, since the comparison operators have two template arguments, we can compare ranges whenever the iterators are comparable; for example when we are dealing with const and non-const iterators from the same container.
-
-[h4 Details member functions]
-
-`operator unspecified_bool_type() const;`
-
-[:['[*Returns]] `!empty();`]
-
-`bool equal( iterator_range& r ) const;`
-
-[:['[*Returns]] `begin() == r.begin() && end() == r.end();`]
-
-[h4 Details functions]
-
-`bool operator==( const ForwardRange1& l, const ForwardRange2& r );`
-
-[:['[*Returns]] `size(l) != size(r) ? false : std::equal( begin(l), end(l), begin(r) );`]
-
-`bool operator!=( const ForwardRange1& l, const ForwardRange2& r );`
-
-[:['[*Returns]] `!( l == r );`]
-
-`bool operator<( const ForwardRange1& l, const ForwardRange2& r );`
-
-[:['[*Returns]] `std::lexicographical_compare( begin(l), end(l), begin(r), end(r) );`]
-
-``
-iterator_range make_iterator_range( Range& r,
- typename range_difference<Range>::type advance_begin,
- typename range_difference<Range>::type advance_end );
-``
-
-[:['[*Effects:]]]
-
-``
- iterator new_begin = begin( r ),
- iterator new_end = end( r );
- std::advance( new_begin, advance_begin );
- std::advance( new_end, advance_end );
- return make_iterator_range( new_begin, new_end );
-``
-
-`Sequence copy_range( const ForwardRange& r );`
-
-[:['[*Returns]] `Sequence( begin(r), end(r) );`]
-
-[endsect]
-
-[section:sub_range Class `sub_range`]
-
-The `sub_range` class inherits all its functionality from the __iterator_range__ class. The `sub_range` class is often easier to use because one must specify the __forward_range__ template argument instead of an iterator. Moreover, the `sub_range` class can propagate constness since it knows what a corresponding `const_iterator` is.
-
-[h4 Synopsis]
-
-``
-namespace boost
-{
- template< class ForwardRange >
- class sub_range : public iterator_range< typename range_iterator<ForwardRange>::type >
- {
- public:
- typedef typename range_iterator<ForwardRange>::type iterator;
- typedef typename range_iterator<const ForwardRange>::type const_iterator;
- typedef typename iterator_difference<iterator>::type difference_type;
-
- public: // construction, assignment
- template< class ForwardTraversalIterator >
- sub_range( ForwardTraversalIterator Begin, ForwardTraversalIterator End );
-
- template< class ForwardRange2 >
- sub_range( ForwardRange2& r );
-
- template< class ForwardRange2 >
- sub_range( const Range2& r );
-
- template< class ForwardRange2 >
- sub_range& operator=( ForwardRange2& r );
-
- template< class ForwardRange2 >
- sub_range& operator=( const ForwardRange2& r );
-
- public: // Forward Range functions
- iterator begin();
- const_iterator begin() const;
- iterator end();
- const_iterator end() const;
-
- public: // convenience
- value_type& front();
- const value_type& front() const;
- value_type& back();
- const value_type& back() const;
- // for Random Access Range only:
- value_type& operator[]( size_type at );
- const value_type& operator[]( size_type at ) const;
-
- public:
- // rest of interface inherited from iterator_range
- };
-
-} // namespace 'boost'
-``
-
-The class should be trivial to use as seen below. Imagine that we have an algorithm that searches for a sub-string in a string. The result is an iterator_range, that delimits the match. We need to store the result from this algorithm. Here is an example of how we can do it with and without `sub_range`
-
-``
-std::string str("hello");
-iterator_range<std::string::iterator> ir = find_first( str, "ll" );
-sub_range<std::string> sub = find_first( str, "ll" );
-``
-
-[endsect]
-
-[section:join Function join]
-
-The intention of the `join` function is to join two ranges into one longer range.
-
-The resultant range will have the lowest common traversal of the two ranges supplied as parameters.
-
-Note that the joined range incurs a performance cost due to the need to check if the end of a range has been reached internally during traversal.
-
-[h4 Synposis]
-``
-template<typename SinglePassRange1, typename SinglePassRange2>
-iterator_range<range_detail::join_iterator<
- typename range_iterator<const SinglePassRange1>::type,
- typename range_iterator<const SinglePassRange2>::type,
- typename add_const<
- typename range_value<const SinglePassRange1>::type>::type>
->
-join(const SinglePassRange1& rng1, const SinglePassRange2& rng2)
-
-template<typename SinglePassRange1, typename SinglePassRange2>
-iterator_range<range_detail::join_iterator<
- typename range_iterator<SinglePassRange1>::type,
- typename range_iterator<SinglePassRange2>::type,
- typename range_value<SinglePassRange1>::type>
->
-join(SinglePassRange1& rng1, SinglePassRange2& rng2);
-``
-
-[h4 Example]
-
-The expression `join(irange(0,5), irange(5,10))` would evaluate to a range representing an integer range `[0,10)`
-
-
-[endsect]
-
-[endsect]
-


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