From abc18532e4f2ec89fdf341b36c8713ade29b6a07 Mon Sep 17 00:00:00 2001
From: Neil Groves
Date: Wed, 28 Apr 2010 16:09:03 +0000
Subject: [PATCH] Boost.Range documentation update iteration.
[SVN r61647]
---
doc/boost_range.qbk | 111 ++++-
doc/headers.qbk | 109 +++++
doc/history_ack.qbk | 31 +-
doc/html/index.html | 60 +--
doc/html/quickbook_HTML.manifest | 199 +++++----
.../range/concepts/bidirectional_range.html | 16 +-
doc/html/range/concepts/concept_checking.html | 2 +-
doc/html/range/concepts/forward_range.html | 10 +-
.../range/concepts/random_access_range.html | 12 +-
.../range/concepts/single_pass_range.html | 16 +-
doc/html/range/examples.html | 6 +-
doc/html/range/faq.html | 5 +-
doc/html/range/history_ack.html | 58 +++
doc/html/range/library_headers.html | 402 +-----------------
doc/html/range/mfc_atl.html | 4 +-
doc/html/range/portability.html | 2 +-
doc/html/range/reference.html | 35 +-
doc/html/range/reference/adaptors.html | 14 +-
.../adaptors/adaptors_introduction.html | 6 +-
.../reference/adaptors/adaptors_synopsis.html | 8 +-
.../adaptors/general_requirements.html | 141 ++++++
.../reference/adaptors/introduction.html | 274 ++++++++++++
.../range/reference/adaptors/reference.html | 63 +++
doc/html/range/reference/algorithms.html | 25 +-
.../{heap_algorithms.html => heap.html} | 22 +-
.../{heap_algorithms => heap}/make_heap.html | 39 +-
.../{heap_algorithms => heap}/pop_heap.html | 45 +-
.../{heap_algorithms => heap}/push_heap.html | 47 +-
.../{heap_algorithms => heap}/sort_heap.html | 47 +-
.../range/reference/algorithms/mutating.html | 91 ++++
.../copy.html | 53 ++-
.../copy_backward.html | 54 +--
.../fill.html | 47 +-
.../fill_n.html | 47 +-
.../generate.html | 53 ++-
.../inplace_merge.html | 72 ++--
.../merge.html | 65 ++-
.../nth_element.html | 48 +--
.../partial_sort.html | 48 +--
.../partition.html | 47 +-
.../random_shuffle.html | 54 +--
.../remove.html | 47 +-
.../algorithms/mutating/remove_copy.html | 109 +++++
.../algorithms/mutating/remove_copy_if.html | 104 +++++
.../remove_if.html | 47 +-
.../replace.html | 47 +-
.../algorithms/mutating/replace_copy.html | 112 +++++
.../algorithms/mutating/replace_copy_if.html | 114 +++++
.../replace_if.html | 48 +--
.../algorithms/mutating/reverse.html | 96 +++++
.../algorithms/mutating/reverse_copy.html | 101 +++++
.../rotate.html | 55 ++-
.../algorithms/mutating/rotate_copy.html | 112 +++++
.../sort.html | 47 +-
.../stable_partition.html | 48 +--
.../stable_sort.html | 48 +--
.../algorithms/mutating/swap_ranges.html | 104 +++++
.../transform.html | 55 ++-
.../unique.html | 47 +-
.../algorithms/mutating/unique_copy.html | 143 +++++++
doc/html/range/reference/algorithms/new.html | 57 +++
.../reference/algorithms/new/copy_n.html | 103 +++++
.../erase.html | 41 +-
.../for_each.html | 39 +-
.../insert.html | 39 +-
.../iota.html | 41 +-
.../reference/algorithms/new/is_sorted.html | 108 +++++
.../overwrite.html | 41 +-
.../push_back.html | 39 +-
.../push_front.html | 39 +-
.../remove_erase.html | 39 +-
.../remove_erase_if.html | 40 +-
doc/html/range/reference/algorithms/non.html | 64 +++
.../reference/algorithms/non_mutating.html | 81 ++++
.../adjacent_find.html | 46 +-
.../binary_search.html | 46 +-
.../count.html | 41 +-
.../algorithms/non_mutating/count_if.html | 104 +++++
.../equal.html | 41 +-
.../equal_range.html | 44 +-
.../find.html | 39 +-
.../find_end.html | 38 +-
.../find_first_of.html | 38 +-
.../find_if.html | 44 +-
.../for_each.html | 38 +-
.../lexicographical_compare.html | 38 +-
.../lower_bound.html | 44 +-
.../max_element.html | 38 +-
.../min_element.html | 38 +-
.../mismatch.html | 50 +--
.../search.html | 40 +-
.../algorithms/non_mutating/search_n.html | 148 +++++++
.../upper_bound.html | 48 +--
.../{range_numeric.html => numeric.html} | 20 +-
.../accumulate.html | 53 ++-
.../adjacent_difference.html | 56 +--
.../inner_product.html | 56 +--
.../partial_sum.html | 56 +--
...ation_algorithms.html => permutation.html} | 16 +-
.../next_permutation.html | 40 +-
.../prev_permutation.html | 40 +-
.../range_algorithm_introduction.html | 257 -----------
.../range_algorithm_mutating_algorithms.html | 88 ----
.../range_algorithm_new_algorithms.html | 64 ---
...nge_algorithm_non_mutating_algorithms.html | 80 ----
.../algorithms/range_numeric/irange.html | 105 -----
.../{set_algorithms.html => set.html} | 23 +-
.../{set_algorithms => set}/includes.html | 47 +-
.../set_difference.html | 45 +-
.../set_intersection.html | 44 +-
.../set_symmetric_difference.html | 46 +-
.../{set_algorithms => set}/set_union.html | 45 +-
doc/html/range/reference/extending.html | 6 +-
.../extending/method_3/method_3_2.html | 6 +-
doc/html/range/reference/overview.html | 2 +-
doc/html/range/reference/ranges.html | 6 +-
.../reference/ranges/counting_range.html | 8 +-
doc/html/range/reference/ranges/irange.html | 16 +-
.../range/reference/ranges/istream_range.html | 6 +-
doc/html/range/reference/semantics.html | 2 +-
doc/html/range/reference/utilities.html | 83 ++++
.../reference/utilities/iterator_range.html | 328 ++++++++++++++
doc/html/range/reference/utilities/join.html | 89 ++++
.../range/reference/utilities/sub_range.html | 123 ++++++
doc/html/range/style_guide.html | 8 +-
doc/html/range/utilities.html | 82 ----
doc/html/range/utilities/iterator_range.html | 6 +-
doc/html/range/utilities/join.html | 4 +-
doc/html/range/utilities/sub_range.html | 2 +-
doc/reference.qbk | 3 +-
doc/reference/adaptors.qbk | 6 +-
doc/reference/algorithm/adjacent_find.qbk | 2 +-
doc/reference/algorithm/copy.qbk | 2 +-
doc/reference/algorithm/copy_backward.qbk | 2 +-
doc/reference/algorithm/count_if.qbk | 32 ++
doc/reference/algorithm/fill.qbk | 2 +-
doc/reference/algorithm/fill_n.qbk | 2 +-
doc/reference/algorithm/generate.qbk | 2 +-
doc/reference/algorithm/inplace_merge.qbk | 8 +-
doc/reference/algorithm/merge.qbk | 2 +-
doc/reference/algorithm/mismatch.qbk | 2 +-
doc/reference/algorithm/nth_element.qbk | 2 +-
doc/reference/algorithm/partial_sort.qbk | 2 +-
doc/reference/algorithm/partition.qbk | 2 +-
doc/reference/algorithm/random_shuffle.qbk | 2 +-
doc/reference/algorithm/remove.qbk | 2 +-
doc/reference/algorithm/remove_copy.qbk | 34 ++
doc/reference/algorithm/remove_copy_if.qbk | 33 ++
doc/reference/algorithm/remove_if.qbk | 2 +-
doc/reference/algorithm/replace.qbk | 2 +-
doc/reference/algorithm/replace_copy.qbk | 33 ++
doc/reference/algorithm/replace_copy_if.qbk | 34 ++
doc/reference/algorithm/replace_if.qbk | 2 +-
doc/reference/algorithm/reverse.qbk | 2 +-
doc/reference/algorithm/reverse_copy.qbk | 31 ++
doc/reference/algorithm/rotate.qbk | 4 +-
doc/reference/algorithm/rotate_copy.qbk | 38 ++
doc/reference/algorithm/search_n.qbk | 58 +++
doc/reference/algorithm/sort.qbk | 2 +-
doc/reference/algorithm/stable_partition.qbk | 2 +-
doc/reference/algorithm/stable_sort.qbk | 2 +-
doc/reference/algorithm/swap_ranges.qbk | 32 ++
doc/reference/algorithm/transform.qbk | 4 +-
doc/reference/algorithm/unique.qbk | 2 +-
doc/reference/algorithm/unique_copy.qbk | 44 ++
doc/reference/algorithm_ext/copy_n.qbk | 32 ++
doc/reference/algorithm_ext/is_sorted.qbk | 35 ++
doc/reference/algorithms.qbk | 27 +-
doc/{ => reference}/utilities.qbk | 0
169 files changed, 5356 insertions(+), 2838 deletions(-)
create mode 100644 doc/html/range/reference/adaptors/general_requirements.html
create mode 100644 doc/html/range/reference/adaptors/introduction.html
create mode 100644 doc/html/range/reference/adaptors/reference.html
rename doc/html/range/reference/algorithms/{heap_algorithms.html => heap.html} (51%)
rename doc/html/range/reference/algorithms/{heap_algorithms => heap}/make_heap.html (83%)
rename doc/html/range/reference/algorithms/{heap_algorithms => heap}/pop_heap.html (84%)
rename doc/html/range/reference/algorithms/{heap_algorithms => heap}/push_heap.html (81%)
rename doc/html/range/reference/algorithms/{heap_algorithms => heap}/sort_heap.html (81%)
create mode 100644 doc/html/range/reference/algorithms/mutating.html
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/copy.html (69%)
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/copy_backward.html (72%)
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/fill.html (69%)
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/fill_n.html (70%)
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/generate.html (72%)
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/inplace_merge.html (83%)
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/merge.html (87%)
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/nth_element.html (80%)
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/partial_sort.html (82%)
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/partition.html (79%)
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/random_shuffle.html (76%)
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/remove.html (81%)
create mode 100644 doc/html/range/reference/algorithms/mutating/remove_copy.html
create mode 100644 doc/html/range/reference/algorithms/mutating/remove_copy_if.html
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/remove_if.html (79%)
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/replace.html (75%)
create mode 100644 doc/html/range/reference/algorithms/mutating/replace_copy.html
create mode 100644 doc/html/range/reference/algorithms/mutating/replace_copy_if.html
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/replace_if.html (74%)
create mode 100644 doc/html/range/reference/algorithms/mutating/reverse.html
create mode 100644 doc/html/range/reference/algorithms/mutating/reverse_copy.html
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/rotate.html (70%)
create mode 100644 doc/html/range/reference/algorithms/mutating/rotate_copy.html
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/sort.html (80%)
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/stable_partition.html (80%)
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/stable_sort.html (82%)
create mode 100644 doc/html/range/reference/algorithms/mutating/swap_ranges.html
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/transform.html (86%)
rename doc/html/range/reference/algorithms/{range_algorithm_mutating_algorithms => mutating}/unique.html (85%)
create mode 100644 doc/html/range/reference/algorithms/mutating/unique_copy.html
create mode 100644 doc/html/range/reference/algorithms/new.html
create mode 100644 doc/html/range/reference/algorithms/new/copy_n.html
rename doc/html/range/reference/algorithms/{range_algorithm_new_algorithms => new}/erase.html (72%)
rename doc/html/range/reference/algorithms/{range_algorithm_new_algorithms => new}/for_each.html (84%)
rename doc/html/range/reference/algorithms/{range_algorithm_new_algorithms => new}/insert.html (74%)
rename doc/html/range/reference/algorithms/{range_algorithm_new_algorithms => new}/iota.html (73%)
create mode 100644 doc/html/range/reference/algorithms/new/is_sorted.html
rename doc/html/range/reference/algorithms/{range_algorithm_new_algorithms => new}/overwrite.html (70%)
rename doc/html/range/reference/algorithms/{range_algorithm_new_algorithms => new}/push_back.html (72%)
rename doc/html/range/reference/algorithms/{range_algorithm_new_algorithms => new}/push_front.html (72%)
rename doc/html/range/reference/algorithms/{range_algorithm_new_algorithms => new}/remove_erase.html (69%)
rename doc/html/range/reference/algorithms/{range_algorithm_new_algorithms => new}/remove_erase_if.html (69%)
create mode 100644 doc/html/range/reference/algorithms/non.html
create mode 100644 doc/html/range/reference/algorithms/non_mutating.html
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/adjacent_find.html (82%)
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/binary_search.html (79%)
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/count.html (76%)
create mode 100644 doc/html/range/reference/algorithms/non_mutating/count_if.html
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/equal.html (81%)
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/equal_range.html (85%)
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/find.html (77%)
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/find_end.html (86%)
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/find_first_of.html (84%)
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/find_if.html (76%)
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/for_each.html (75%)
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/lexicographical_compare.html (82%)
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/lower_bound.html (81%)
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/max_element.html (86%)
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/min_element.html (86%)
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/mismatch.html (88%)
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/search.html (89%)
create mode 100644 doc/html/range/reference/algorithms/non_mutating/search_n.html
rename doc/html/range/reference/algorithms/{range_algorithm_non_mutating_algorithms => non_mutating}/upper_bound.html (79%)
rename doc/html/range/reference/algorithms/{range_numeric.html => numeric.html} (54%)
rename doc/html/range/reference/algorithms/{range_numeric => numeric}/accumulate.html (76%)
rename doc/html/range/reference/algorithms/{range_numeric => numeric}/adjacent_difference.html (80%)
rename doc/html/range/reference/algorithms/{range_numeric => numeric}/inner_product.html (83%)
rename doc/html/range/reference/algorithms/{range_numeric => numeric}/partial_sum.html (81%)
rename doc/html/range/reference/algorithms/{permutation_algorithms.html => permutation.html} (56%)
rename doc/html/range/reference/algorithms/{permutation_algorithms => permutation}/next_permutation.html (79%)
rename doc/html/range/reference/algorithms/{permutation_algorithms => permutation}/prev_permutation.html (81%)
delete mode 100644 doc/html/range/reference/algorithms/range_algorithm_introduction.html
delete mode 100644 doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms.html
delete mode 100644 doc/html/range/reference/algorithms/range_algorithm_new_algorithms.html
delete mode 100644 doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms.html
delete mode 100644 doc/html/range/reference/algorithms/range_numeric/irange.html
rename doc/html/range/reference/algorithms/{set_algorithms.html => set.html} (51%)
rename doc/html/range/reference/algorithms/{set_algorithms => set}/includes.html (83%)
rename doc/html/range/reference/algorithms/{set_algorithms => set}/set_difference.html (85%)
rename doc/html/range/reference/algorithms/{set_algorithms => set}/set_intersection.html (86%)
rename doc/html/range/reference/algorithms/{set_algorithms => set}/set_symmetric_difference.html (84%)
rename doc/html/range/reference/algorithms/{set_algorithms => set}/set_union.html (86%)
create mode 100644 doc/html/range/reference/utilities.html
create mode 100644 doc/html/range/reference/utilities/iterator_range.html
create mode 100644 doc/html/range/reference/utilities/join.html
create mode 100644 doc/html/range/reference/utilities/sub_range.html
delete mode 100644 doc/html/range/utilities.html
create mode 100644 doc/reference/algorithm/count_if.qbk
create mode 100644 doc/reference/algorithm/remove_copy.qbk
create mode 100644 doc/reference/algorithm/remove_copy_if.qbk
create mode 100644 doc/reference/algorithm/replace_copy.qbk
create mode 100644 doc/reference/algorithm/replace_copy_if.qbk
create mode 100644 doc/reference/algorithm/reverse_copy.qbk
create mode 100644 doc/reference/algorithm/rotate_copy.qbk
create mode 100644 doc/reference/algorithm/search_n.qbk
create mode 100644 doc/reference/algorithm/swap_ranges.qbk
create mode 100644 doc/reference/algorithm/unique_copy.qbk
create mode 100644 doc/reference/algorithm_ext/copy_n.qbk
create mode 100644 doc/reference/algorithm_ext/is_sorted.qbk
rename doc/{ => reference}/utilities.qbk (100%)
diff --git a/doc/boost_range.qbk b/doc/boost_range.qbk
index 1d56b82..6f6af4f 100644
--- a/doc/boost_range.qbk
+++ b/doc/boost_range.qbk
@@ -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 __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_algorithms__ [link range.reference.algorithms Range algorithms]]
+[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]
diff --git a/doc/headers.qbk b/doc/headers.qbk
index 9e29745..0013853 100644
--- a/doc/headers.qbk
+++ b/doc/headers.qbk
@@ -1,5 +1,6 @@
[section Library Headers]
+[section General]
[table
[[Header ] [Includes ] [Related Concept ]]
[[`` ] [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 @@
[[`` ] [__iterator_range__ ] [- ]]
[[`` ] [__sub_range__ ] [- ]]
[[`` ] [__range_concepts__ ] [- ]]
+ [[`` ] [every range adaptor ] [- ]]
+ [[`` ] [every range equivalent of an STL algorithm ] [- ]]
+ [[`` ] [every range algorithm that is an extension of the STL algorithms ] [- ]]
+ [[`` ] [ __counting_range__ ] [-]]
+ [[`` ] [ __istream_range__ ] [-]]
+ [[`` ] [ __irange__ ] [-]]
+ [[`` ] [ __join__ ] [-]]
]
+[endsect]
+
+[section Adaptors]
+[table
+ [[Header ][Includes ]]
+ [[``] [__range_adaptors_adjacent_filtered__ ]]
+ [[``] [__range_adaptors_copied__]]
+ [[``] [__range_adaptors_filtered__]]
+ [[``] [__range_adaptors_indexed__]]
+ [[``] [__range_adaptors_map_keys__ __range_adaptors_map_values__]]
+ [[``] [__range_adaptors_replaced__]]
+ [[``] [__range_adaptors_replaced_if__]]
+ [[``] [__range_adaptors_reversed__]]
+ [[``] [__range_adaptors_sliced__]]
+ [[``] [__range_adaptors_strided__]]
+ [[``] [__range_adaptors_tokenized__]]
+ [[``] [__range_adaptors_transformed__]]
+ [[``] [__range_adaptors_uniqued__]]
+]
+[endsect]
+
+[section Algorithm]
+[table
+ [[Header ][Includes ]]
+ [[``] [__range_algorithms_adjacent_find__]]
+ [[``] [__range_algorithms_binary_search__]]
+ [[``] [__range_algorithms_copy__]]
+ [[``] [__range_algorithms_copy_backward__]]
+ [[``] [__range_algorithms_count__]]
+ [[``] [__range_algorithms_count_if__]]
+ [[``] [__range_algorithms_equal__]]
+ [[``] [__range_algorithms_equal_range__]]
+ [[``] [__range_algorithms_fill__]]
+ [[``] [__range_algorithms_fill_n__]]
+ [[``] [__range_algorithms_find__]]
+ [[``] [__range_algorithms_find_end__]]
+ [[``] [__range_algorithms_find_first_of__]]
+ [[``] [__range_algorithms_find_if__]]
+ [[``] [__range_algorithms_for_each__]]
+ [[``] [__range_algorithms_generate__]]
+ [[``] [__range_algorithms_push_heap__
+ __range_algorithms_pop_heap__
+ __range_algorithms_make_heap__
+ __range_algorithms_sort_heap__]]
+ [[``] [__range_algorithms_inplace_merge__]]
+ [[``] [__range_algorithms_lexicographical_compare__]]
+ [[``] [__range_algorithms_lower_bound__]]
+ [[``] [__range_algorithms_max_element__]]
+ [[``] [__range_algorithms_merge__]]
+ [[``] [__range_algorithms_min_element__]]
+ [[``] [__range_algorithms_mismatch__]]
+ [[``] [__range_algorithms_nth_element__]]
+ [[``] [__range_algorithms_partial_sort__]]
+ [[``] [__range_algorithms_partition__]]
+ [[``] [__range_algorithms_next_permutation__
+ __range_algorithms_prev_permutation__]]
+ [[``] [__range_algorithms_random_shuffle__]]
+ [[``] [__range_algorithms_remove__]]
+ [[``] [__range_algorithms_remove_copy__]]
+ [[``] [__range_algorithms_remove_copy_if__]]
+ [[``] [__range_algorithms_remove_if__]]
+ [[``] [__range_algorithms_replace__]]
+ [[``] [__range_algorithms_replace_copy__]]
+ [[``] [__range_algorithms_replace_copy_if__]]
+ [[``] [__range_algorithms_replace_if__]]
+ [[``] [__range_algorithms_reverse__]]
+ [[``] [__range_algorithms_reverse_copy__]]
+ [[``] [__range_algorithms_rotate__]]
+ [[``] [__range_algorithms_rotate_copy__]]
+ [[``] [__range_algorithms_search__]]
+ [[``] [__range_algorithms_search_n__]]
+ [[``] [__range_algorithms_includes__
+ __range_algorithms_set_union__
+ __range_algorithms_set_intersection__
+ __range_algorithms_set_difference__
+ __range_algorithms_set_symmetric_difference__]]
+ [[``] [__range_algorithms_sort__]]
+ [[``] [__range_algorithms_stable_partition__]]
+ [[``] [__range_algorithms_swap_ranges__]]
+ [[``] [__range_algorithms_transform__]]
+ [[``] [__range_algorithms_unique__]]
+ [[``] [__range_algorithms_unique_copy__]]
+ [[``] [__range_algorithms_upper_bound__]]
+]
+[endsect]
+
+[section Algorithm Extensions]
+[table
+ [[Header ][Includes ]]
+ [[``] [__range_algorithm_ext_copy_n__]]
+ [[``] [__range_algorithm_ext_erase__]]
+ [[``] [__range_algorithm_ext_for_each__]]
+ [[``] [__range_algorithm_ext_insert__]]
+ [[``] [__range_algorithm_ext_iota__]]
+ [[``] [__range_algorithm_ext_is_sorted__]]
+ [[``] [__range_algorithm_ext_overwrite__]]
+ [[``] [__range_algorithm_ext_push_back__]]
+ [[``] [__range_algorithm_ext_push_front__]]
+]
+[endsect]
[endsect]
diff --git a/doc/history_ack.qbk b/doc/history_ack.qbk
index 4d4b103..545b3ab 100644
--- a/doc/history_ack.qbk
+++ b/doc/history_ack.qbk
@@ -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 @@ Special thanks goes to
* 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]
diff --git a/doc/html/index.html b/doc/html/index.html
index 27ee9ba..b2f6b77 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -30,7 +30,7 @@
Copyright © 2003 -2010 Thorsten Ottosen, Neil Groves
-
+
Distributed under the Boost Software License, Version 1.0. (See accompanying
file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt )
@@ -49,7 +49,7 @@
Random Access Range
Concept Checking
-
Reference
+
Reference
Overview
Synopsis
@@ -60,29 +60,26 @@
Range Adaptors
- Introduction
+ Introduction
and motivation
Synopsis
-
- General Requirements
- Reference
+ General
+ Requirements
+ Reference
Range Algorithm
Introduction and motivation
-
- Mutating algorithms
-
- Non-mutating algorithms
- Set algorithms
- Heap algorithms
-
- Permutation algorithms
-
- New algorithms
- Numeric
+ Mutating algorithms
+ Non-mutating
algorithms
+ Set algorithms
+ Heap algorithms
+ Permutation
+ algorithms
+ New algorithms
+ Numeric algorithms
Provided Ranges
@@ -90,6 +87,12 @@
istream_range
irange
+
Utilities
+
+ Class iterator_range
+ Class sub_range
+ Function join
+
Extending the library
Method 1: provide
@@ -100,14 +103,15 @@
range adaptor implementations
-
Utilities
-
- Class iterator_range
- Class sub_range
- Function join
-
Terminology and style guidelines
Library Headers
+
+General
+Adaptors
+Algorithm
+Algorithm
+ Extensions
+
Examples
MFC/ATL (courtesy of Shunsuke Sogame)
@@ -130,12 +134,16 @@
- 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.
-Last revised: April 11, 2010 at 21:49:16 GMT
+Last revised: April 28, 2010 at 15:53:14 GMT
diff --git a/doc/html/quickbook_HTML.manifest b/doc/html/quickbook_HTML.manifest
index df8f151..8a0d31a 100644
--- a/doc/html/quickbook_HTML.manifest
+++ b/doc/html/quickbook_HTML.manifest
@@ -14,112 +14,129 @@ range/reference/semantics.html
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
diff --git a/doc/html/range/concepts/bidirectional_range.html b/doc/html/range/concepts/bidirectional_range.html
index e3ae956..1edda7b 100644
--- a/doc/html/range/concepts/bidirectional_range.html
+++ b/doc/html/range/concepts/bidirectional_range.html
@@ -27,7 +27,7 @@
Bidirectional Range
@@ -75,7 +75,7 @@
Traversal Iterator.
@@ -83,7 +83,7 @@
Forward Range
@@ -136,7 +136,7 @@
@@ -221,7 +221,7 @@
@@ -232,7 +232,7 @@
Forward Range .
diff --git a/doc/html/range/concepts/concept_checking.html b/doc/html/range/concepts/concept_checking.html
index b5d5407..311794e 100644
--- a/doc/html/range/concepts/concept_checking.html
+++ b/doc/html/range/concepts/concept_checking.html
@@ -79,7 +79,7 @@
diff --git a/doc/html/range/concepts/forward_range.html b/doc/html/range/concepts/forward_range.html
index 919f6dd..72df009 100644
--- a/doc/html/range/concepts/forward_range.html
+++ b/doc/html/range/concepts/forward_range.html
@@ -27,7 +27,7 @@
Forward Range
@@ -73,14 +73,14 @@
Traversal Iterator.
Single Pass Range
@@ -132,7 +132,7 @@
diff --git a/doc/html/range/concepts/random_access_range.html b/doc/html/range/concepts/random_access_range.html
index a695e97..66edd3c 100644
--- a/doc/html/range/concepts/random_access_range.html
+++ b/doc/html/range/concepts/random_access_range.html
@@ -27,7 +27,7 @@
Random Access Range
@@ -35,7 +35,7 @@
Access Traversal Iterator.
@@ -43,7 +43,7 @@
Bidirectional Range
@@ -89,7 +89,7 @@
@@ -139,7 +139,7 @@
@@ -147,7 +147,7 @@
boost :: size ( a )
completes in amortized constant time.
@@ -198,7 +198,7 @@
@@ -266,7 +266,7 @@
@@ -276,7 +276,7 @@
constant time.
diff --git a/doc/html/range/examples.html b/doc/html/range/examples.html
index b272df8..4be5b97 100644
--- a/doc/html/range/examples.html
+++ b/doc/html/range/examples.html
@@ -6,7 +6,7 @@
-
+
@@ -20,7 +20,7 @@