[boost-doc-zh] r430 committed - 升级至1.44.0,第7批,libs/目录q-r子目录

  • From: boost-doc-zh@xxxxxxxxxxxxxx
  • To: boost-doc-zh-notify@xxxxxxxxxxxxx
  • Date: Wed, 01 Sep 2010 12:52:45 +0000

Revision: 430
Author: alai04
Date: Wed Sep  1 05:47:13 2010
Log: 升级至1.44.0,第7批,libs/目录q-r子目录
http://code.google.com/p/boost-doc-zh/source/detail?r=430

Added:
 /trunk/libs/random/test/test_random_device.cpp
 /trunk/libs/range/test/algorithm_test/copy_n.cpp
 /trunk/libs/range/test/algorithm_test/remove_copy.cpp
 /trunk/libs/range/test/algorithm_test/remove_copy_if.cpp
 /trunk/libs/range/test/algorithm_test/replace_copy.cpp
 /trunk/libs/range/test/algorithm_test/replace_copy_if.cpp
 /trunk/libs/range/test/algorithm_test/reverse_copy.cpp
 /trunk/libs/range/test/algorithm_test/rotate_copy.cpp
 /trunk/libs/range/test/algorithm_test/search_n.cpp
 /trunk/libs/range/test/algorithm_test/swap_ranges.cpp
 /trunk/libs/range/test/algorithm_test/unique_copy.cpp
 /trunk/libs/range/test/replace_copy.cpp
 /trunk/libs/range/test/test_function/true_predicate.hpp
Deleted:
 /trunk/libs/range/doc/html/quickbook_HTML.manifest
 /trunk/libs/range/doc/html/standalone_HTML.manifest
 /trunk/libs/range/doc/reference/adaptors/adjacent_filtered.html
 /trunk/libs/range/doc/reference/adaptors/copied.html
 /trunk/libs/range/doc/reference/adaptors/filtered.html
 /trunk/libs/range/doc/reference/adaptors/indexed.html
 /trunk/libs/range/doc/reference/adaptors/indirected.html
 /trunk/libs/range/doc/reference/adaptors/map_keys.html
 /trunk/libs/range/doc/reference/adaptors/map_values.html
 /trunk/libs/range/doc/reference/adaptors/replaced.html
 /trunk/libs/range/doc/reference/adaptors/replaced_if.html
 /trunk/libs/range/doc/reference/adaptors/reversed.html
 /trunk/libs/range/doc/reference/adaptors/sliced.html
 /trunk/libs/range/doc/reference/adaptors/strided.html
 /trunk/libs/range/doc/reference/adaptors/tokenized.html
 /trunk/libs/range/doc/reference/adaptors/transformed.html
 /trunk/libs/range/doc/reference/adaptors/uniqued.html
Modified:
 /trunk/libs/random/src/random_device.cpp
 /trunk/libs/random/test/Jamfile.v2
 /trunk/libs/range/doc/Jamfile.v2
 /trunk/libs/range/doc/concepts.qbk
 /trunk/libs/range/doc/history_ack.qbk
 /trunk/libs/range/doc/html/index.html
 /trunk/libs/range/doc/html/range/concepts/bidirectional_range.html
 /trunk/libs/range/doc/html/range/concepts/concept_checking.html
 /trunk/libs/range/doc/html/range/concepts/forward_range.html
 /trunk/libs/range/doc/html/range/concepts/overview.html
 /trunk/libs/range/doc/html/range/concepts/random_access_range.html
 /trunk/libs/range/doc/html/range/concepts/single_pass_range.html
 /trunk/libs/range/doc/html/range/concepts.html
 /trunk/libs/range/doc/html/range/examples.html
 /trunk/libs/range/doc/html/range/faq.html
 /trunk/libs/range/doc/html/range/history_ack.html
 /trunk/libs/range/doc/html/range/introduction.html
 /trunk/libs/range/doc/html/range/library_headers/adaptors.html
 /trunk/libs/range/doc/html/range/library_headers/algorithm.html
 /trunk/libs/range/doc/html/range/library_headers/algorithm_extensions.html
 /trunk/libs/range/doc/html/range/library_headers/general.html
 /trunk/libs/range/doc/html/range/library_headers.html
 /trunk/libs/range/doc/html/range/mfc_atl/atl_ranges.html
 /trunk/libs/range/doc/html/range/mfc_atl/const_ranges.html
 /trunk/libs/range/doc/html/range/mfc_atl/mfc_ranges.html
 /trunk/libs/range/doc/html/range/mfc_atl/references.html
 /trunk/libs/range/doc/html/range/mfc_atl/requirements.html
 /trunk/libs/range/doc/html/range/mfc_atl.html
 /trunk/libs/range/doc/html/range/portability.html
/trunk/libs/range/doc/html/range/reference/adaptors/general_requirements.html
 /trunk/libs/range/doc/html/range/reference/adaptors/introduction.html
/trunk/libs/range/doc/html/range/reference/adaptors/reference/adjacent_filtered.html
 /trunk/libs/range/doc/html/range/reference/adaptors/reference/copied.html
 /trunk/libs/range/doc/html/range/reference/adaptors/reference/filtered.html
 /trunk/libs/range/doc/html/range/reference/adaptors/reference/indexed.html
/trunk/libs/range/doc/html/range/reference/adaptors/reference/indirected.html
 /trunk/libs/range/doc/html/range/reference/adaptors/reference/map_keys.html
/trunk/libs/range/doc/html/range/reference/adaptors/reference/map_values.html
 /trunk/libs/range/doc/html/range/reference/adaptors/reference/replaced.html
/trunk/libs/range/doc/html/range/reference/adaptors/reference/replaced_if.html
 /trunk/libs/range/doc/html/range/reference/adaptors/reference/reversed.html
 /trunk/libs/range/doc/html/range/reference/adaptors/reference/sliced.html
 /trunk/libs/range/doc/html/range/reference/adaptors/reference/strided.html
/trunk/libs/range/doc/html/range/reference/adaptors/reference/tokenized.html /trunk/libs/range/doc/html/range/reference/adaptors/reference/transformed.html
 /trunk/libs/range/doc/html/range/reference/adaptors/reference/uniqued.html
 /trunk/libs/range/doc/html/range/reference/adaptors/reference.html
 /trunk/libs/range/doc/html/range/reference/adaptors.html
 /trunk/libs/range/doc/html/range/reference/algorithms/heap/make_heap.html
 /trunk/libs/range/doc/html/range/reference/algorithms/heap/pop_heap.html
 /trunk/libs/range/doc/html/range/reference/algorithms/heap/push_heap.html
 /trunk/libs/range/doc/html/range/reference/algorithms/heap/sort_heap.html
 /trunk/libs/range/doc/html/range/reference/algorithms/heap.html
 /trunk/libs/range/doc/html/range/reference/algorithms/mutating/copy.html
/trunk/libs/range/doc/html/range/reference/algorithms/mutating/copy_backward.html
 /trunk/libs/range/doc/html/range/reference/algorithms/mutating/fill.html
 /trunk/libs/range/doc/html/range/reference/algorithms/mutating/fill_n.html
/trunk/libs/range/doc/html/range/reference/algorithms/mutating/generate.html /trunk/libs/range/doc/html/range/reference/algorithms/mutating/inplace_merge.html
 /trunk/libs/range/doc/html/range/reference/algorithms/mutating/merge.html
/trunk/libs/range/doc/html/range/reference/algorithms/mutating/nth_element.html /trunk/libs/range/doc/html/range/reference/algorithms/mutating/partial_sort.html /trunk/libs/range/doc/html/range/reference/algorithms/mutating/partition.html /trunk/libs/range/doc/html/range/reference/algorithms/mutating/random_shuffle.html
 /trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove.html
/trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy.html /trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove_copy_if.html /trunk/libs/range/doc/html/range/reference/algorithms/mutating/remove_if.html
 /trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace.html
/trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy.html /trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace_copy_if.html /trunk/libs/range/doc/html/range/reference/algorithms/mutating/replace_if.html
 /trunk/libs/range/doc/html/range/reference/algorithms/mutating/reverse.html
/trunk/libs/range/doc/html/range/reference/algorithms/mutating/reverse_copy.html
 /trunk/libs/range/doc/html/range/reference/algorithms/mutating/rotate.html
/trunk/libs/range/doc/html/range/reference/algorithms/mutating/rotate_copy.html
 /trunk/libs/range/doc/html/range/reference/algorithms/mutating/sort.html
/trunk/libs/range/doc/html/range/reference/algorithms/mutating/stable_partition.html /trunk/libs/range/doc/html/range/reference/algorithms/mutating/stable_sort.html /trunk/libs/range/doc/html/range/reference/algorithms/mutating/swap_ranges.html /trunk/libs/range/doc/html/range/reference/algorithms/mutating/transform.html
 /trunk/libs/range/doc/html/range/reference/algorithms/mutating/unique.html
/trunk/libs/range/doc/html/range/reference/algorithms/mutating/unique_copy.html
 /trunk/libs/range/doc/html/range/reference/algorithms/mutating.html
 /trunk/libs/range/doc/html/range/reference/algorithms/new/copy_n.html
 /trunk/libs/range/doc/html/range/reference/algorithms/new/erase.html
 /trunk/libs/range/doc/html/range/reference/algorithms/new/for_each.html
 /trunk/libs/range/doc/html/range/reference/algorithms/new/insert.html
 /trunk/libs/range/doc/html/range/reference/algorithms/new/iota.html
 /trunk/libs/range/doc/html/range/reference/algorithms/new/is_sorted.html
 /trunk/libs/range/doc/html/range/reference/algorithms/new/overwrite.html
 /trunk/libs/range/doc/html/range/reference/algorithms/new/push_back.html
 /trunk/libs/range/doc/html/range/reference/algorithms/new/push_front.html
 /trunk/libs/range/doc/html/range/reference/algorithms/new/remove_erase.html
/trunk/libs/range/doc/html/range/reference/algorithms/new/remove_erase_if.html
 /trunk/libs/range/doc/html/range/reference/algorithms/new.html
/trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/adjacent_find.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/binary_search.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/count.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/count_if.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/equal.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/equal_range.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find_end.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find_first_of.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/find_if.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/for_each.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/lexicographical_compare.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/lower_bound.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/max_element.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/min_element.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/mismatch.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/search.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/search_n.html /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating/upper_bound.html
 /trunk/libs/range/doc/html/range/reference/algorithms/non_mutating.html
/trunk/libs/range/doc/html/range/reference/algorithms/numeric/accumulate.html /trunk/libs/range/doc/html/range/reference/algorithms/numeric/adjacent_difference.html /trunk/libs/range/doc/html/range/reference/algorithms/numeric/inner_product.html /trunk/libs/range/doc/html/range/reference/algorithms/numeric/partial_sum.html
 /trunk/libs/range/doc/html/range/reference/algorithms/numeric.html
/trunk/libs/range/doc/html/range/reference/algorithms/permutation/next_permutation.html /trunk/libs/range/doc/html/range/reference/algorithms/permutation/prev_permutation.html
 /trunk/libs/range/doc/html/range/reference/algorithms/permutation.html
/trunk/libs/range/doc/html/range/reference/algorithms/range_algorithm_introduction.html
 /trunk/libs/range/doc/html/range/reference/algorithms/set/includes.html
/trunk/libs/range/doc/html/range/reference/algorithms/set/set_difference.html /trunk/libs/range/doc/html/range/reference/algorithms/set/set_intersection.html /trunk/libs/range/doc/html/range/reference/algorithms/set/set_symmetric_difference.html
 /trunk/libs/range/doc/html/range/reference/algorithms/set/set_union.html
 /trunk/libs/range/doc/html/range/reference/algorithms/set.html
 /trunk/libs/range/doc/html/range/reference/algorithms.html
/trunk/libs/range/doc/html/range/reference/concept_implementation/semantics/functions.html /trunk/libs/range/doc/html/range/reference/concept_implementation/semantics/metafunctions.html /trunk/libs/range/doc/html/range/reference/concept_implementation/semantics.html /trunk/libs/range/doc/html/range/reference/concept_implementation/synopsis.html
 /trunk/libs/range/doc/html/range/reference/concept_implementation.html
 /trunk/libs/range/doc/html/range/reference/extending/method_1.html
 /trunk/libs/range/doc/html/range/reference/extending/method_2.html
/trunk/libs/range/doc/html/range/reference/extending/method_3/method_3_1.html /trunk/libs/range/doc/html/range/reference/extending/method_3/method_3_2.html
 /trunk/libs/range/doc/html/range/reference/extending/method_3.html
 /trunk/libs/range/doc/html/range/reference/extending.html
 /trunk/libs/range/doc/html/range/reference/overview.html
 /trunk/libs/range/doc/html/range/reference/ranges/counting_range.html
 /trunk/libs/range/doc/html/range/reference/ranges/irange.html
 /trunk/libs/range/doc/html/range/reference/ranges/istream_range.html
 /trunk/libs/range/doc/html/range/reference/ranges.html
 /trunk/libs/range/doc/html/range/reference/utilities/iterator_range.html
 /trunk/libs/range/doc/html/range/reference/utilities/join.html
 /trunk/libs/range/doc/html/range/reference/utilities/sub_range.html
 /trunk/libs/range/doc/html/range/reference/utilities.html
 /trunk/libs/range/doc/html/range/reference.html
 /trunk/libs/range/doc/html/range/style_guide.html
 /trunk/libs/range/doc/html/range/upgrade/upgrade_from_1_34.html
 /trunk/libs/range/doc/html/range/upgrade/upgrade_from_1_42.html
 /trunk/libs/range/doc/html/range/upgrade.html
 /trunk/libs/range/doc/introduction.qbk
 /trunk/libs/range/test/Jamfile.v2
 /trunk/libs/range/test/adaptor_test/map.cpp
 /trunk/libs/range/test/algorithm_test/adjacent_find.cpp
 /trunk/libs/range/test/algorithm_test/binary_search.cpp
 /trunk/libs/range/test/algorithm_test/copy.cpp
 /trunk/libs/range/test/algorithm_test/copy_backward.cpp
 /trunk/libs/range/test/algorithm_test/count.cpp
 /trunk/libs/range/test/algorithm_test/count_if.cpp
 /trunk/libs/range/test/algorithm_test/equal.cpp
 /trunk/libs/range/test/algorithm_test/equal_range.cpp
 /trunk/libs/range/test/algorithm_test/fill.cpp
 /trunk/libs/range/test/algorithm_test/find.cpp
 /trunk/libs/range/test/algorithm_test/find_end.cpp
 /trunk/libs/range/test/algorithm_test/find_first_of.cpp
 /trunk/libs/range/test/algorithm_test/find_if.cpp
 /trunk/libs/range/test/algorithm_test/for_each.cpp
 /trunk/libs/range/test/algorithm_test/generate.cpp
 /trunk/libs/range/test/algorithm_test/heap.cpp
 /trunk/libs/range/test/algorithm_test/includes.cpp
 /trunk/libs/range/test/algorithm_test/inplace_merge.cpp
 /trunk/libs/range/test/algorithm_test/lexicographical_compare.cpp
 /trunk/libs/range/test/algorithm_test/lower_bound.cpp
 /trunk/libs/range/test/algorithm_test/max_element.cpp
 /trunk/libs/range/test/algorithm_test/merge.cpp
 /trunk/libs/range/test/algorithm_test/min_element.cpp
 /trunk/libs/range/test/algorithm_test/mismatch.cpp
 /trunk/libs/range/test/algorithm_test/next_permutation.cpp
 /trunk/libs/range/test/algorithm_test/nth_element.cpp
 /trunk/libs/range/test/algorithm_test/partial_sort.cpp
 /trunk/libs/range/test/algorithm_test/partition.cpp
 /trunk/libs/range/test/algorithm_test/prev_permutation.cpp
 /trunk/libs/range/test/algorithm_test/random_shuffle.cpp
 /trunk/libs/range/test/algorithm_test/remove.cpp
 /trunk/libs/range/test/algorithm_test/remove_if.cpp
 /trunk/libs/range/test/algorithm_test/replace.cpp
 /trunk/libs/range/test/algorithm_test/replace_if.cpp
 /trunk/libs/range/test/algorithm_test/reverse.cpp
 /trunk/libs/range/test/algorithm_test/rotate.cpp
 /trunk/libs/range/test/algorithm_test/search.cpp
 /trunk/libs/range/test/algorithm_test/set_difference.cpp
 /trunk/libs/range/test/algorithm_test/set_intersection.cpp
 /trunk/libs/range/test/algorithm_test/set_symmetric_difference.cpp
 /trunk/libs/range/test/algorithm_test/set_union.cpp
 /trunk/libs/range/test/algorithm_test/sort.cpp
 /trunk/libs/range/test/algorithm_test/stable_partition.cpp
 /trunk/libs/range/test/algorithm_test/stable_sort.cpp
 /trunk/libs/range/test/algorithm_test/transform.cpp
 /trunk/libs/range/test/algorithm_test/unique.cpp
 /trunk/libs/range/test/algorithm_test/upper_bound.cpp
 /trunk/libs/range/test/extension_mechanism.cpp
 /trunk/libs/range/test/string.cpp
 /trunk/libs/regex/doc/Jamfile.v2
 /trunk/libs/regex/doc/history.qbk
/trunk/libs/regex/doc/html/boost_regex/background_information/acknowledgements.html
 /trunk/libs/regex/doc/html/boost_regex/background_information/examples.html
 /trunk/libs/regex/doc/html/boost_regex/background_information/faq.html
 /trunk/libs/regex/doc/html/boost_regex/background_information/futher.html
 /trunk/libs/regex/doc/html/boost_regex/background_information/headers.html
 /trunk/libs/regex/doc/html/boost_regex/background_information/history.html
 /trunk/libs/regex/doc/html/boost_regex/background_information/locale.html
/trunk/libs/regex/doc/html/boost_regex/background_information/performance.html
 /trunk/libs/regex/doc/html/boost_regex/background_information/redist.html
/trunk/libs/regex/doc/html/boost_regex/background_information/standards.html /trunk/libs/regex/doc/html/boost_regex/background_information/thread_safety.html
 /trunk/libs/regex/doc/html/boost_regex/background_information.html
 /trunk/libs/regex/doc/html/boost_regex/captures.html
 /trunk/libs/regex/doc/html/boost_regex/configuration/algorithm.html
 /trunk/libs/regex/doc/html/boost_regex/configuration/compiler.html
 /trunk/libs/regex/doc/html/boost_regex/configuration/linkage.html
 /trunk/libs/regex/doc/html/boost_regex/configuration/locale.html
 /trunk/libs/regex/doc/html/boost_regex/configuration/tuning.html
 /trunk/libs/regex/doc/html/boost_regex/configuration.html
 /trunk/libs/regex/doc/html/boost_regex/format/boost_format_syntax.html
 /trunk/libs/regex/doc/html/boost_regex/format/perl_format.html
 /trunk/libs/regex/doc/html/boost_regex/format/sed_format.html
 /trunk/libs/regex/doc/html/boost_regex/format.html
 /trunk/libs/regex/doc/html/boost_regex/install.html
 /trunk/libs/regex/doc/html/boost_regex/introduction_and_overview.html
 /trunk/libs/regex/doc/html/boost_regex/partial_matches.html
 /trunk/libs/regex/doc/html/boost_regex/ref/bad_expression.html
 /trunk/libs/regex/doc/html/boost_regex/ref/basic_regex.html
 /trunk/libs/regex/doc/html/boost_regex/ref/concepts/charT_concept.html
 /trunk/libs/regex/doc/html/boost_regex/ref/concepts/iterator_concepts.html
 /trunk/libs/regex/doc/html/boost_regex/ref/concepts/traits_concept.html
 /trunk/libs/regex/doc/html/boost_regex/ref/concepts.html
/trunk/libs/regex/doc/html/boost_regex/ref/deprecated_interfaces/old_regex.html /trunk/libs/regex/doc/html/boost_regex/ref/deprecated_interfaces/regex_format.html /trunk/libs/regex/doc/html/boost_regex/ref/deprecated_interfaces/regex_grep.html /trunk/libs/regex/doc/html/boost_regex/ref/deprecated_interfaces/regex_split.html
 /trunk/libs/regex/doc/html/boost_regex/ref/deprecated_interfaces.html
 /trunk/libs/regex/doc/html/boost_regex/ref/error_type.html
 /trunk/libs/regex/doc/html/boost_regex/ref/match_flag_type.html
 /trunk/libs/regex/doc/html/boost_regex/ref/match_results.html
 /trunk/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/intro.html
/trunk/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_algo.html /trunk/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_iter.html /trunk/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu/unicode_types.html
 /trunk/libs/regex/doc/html/boost_regex/ref/non_std_strings/icu.html
/trunk/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_algo.html /trunk/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_intro.html /trunk/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_iter.html /trunk/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_create.html /trunk/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings/mfc_regex_types.html
 /trunk/libs/regex/doc/html/boost_regex/ref/non_std_strings/mfc_strings.html
 /trunk/libs/regex/doc/html/boost_regex/ref/non_std_strings.html
 /trunk/libs/regex/doc/html/boost_regex/ref/posix.html
 /trunk/libs/regex/doc/html/boost_regex/ref/regex_iterator.html
 /trunk/libs/regex/doc/html/boost_regex/ref/regex_match.html
 /trunk/libs/regex/doc/html/boost_regex/ref/regex_replace.html
 /trunk/libs/regex/doc/html/boost_regex/ref/regex_search.html
 /trunk/libs/regex/doc/html/boost_regex/ref/regex_token_iterator.html
 /trunk/libs/regex/doc/html/boost_regex/ref/regex_traits.html
 /trunk/libs/regex/doc/html/boost_regex/ref/sub_match.html
/trunk/libs/regex/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_basic.html /trunk/libs/regex/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_extended.html /trunk/libs/regex/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_literal.html /trunk/libs/regex/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_overview.html /trunk/libs/regex/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_perl.html /trunk/libs/regex/doc/html/boost_regex/ref/syntax_option_type/syntax_option_type_synopsis.html
 /trunk/libs/regex/doc/html/boost_regex/ref/syntax_option_type.html
 /trunk/libs/regex/doc/html/boost_regex/ref.html
 /trunk/libs/regex/doc/html/boost_regex/syntax/basic_extended.html
 /trunk/libs/regex/doc/html/boost_regex/syntax/basic_syntax.html
/trunk/libs/regex/doc/html/boost_regex/syntax/character_classes/optional_char_class_names.html /trunk/libs/regex/doc/html/boost_regex/syntax/character_classes/std_char_clases.html
 /trunk/libs/regex/doc/html/boost_regex/syntax/character_classes.html
 /trunk/libs/regex/doc/html/boost_regex/syntax/collating_names/digraphs.html
/trunk/libs/regex/doc/html/boost_regex/syntax/collating_names/named_unicode.html /trunk/libs/regex/doc/html/boost_regex/syntax/collating_names/posix_symbolic_names.html
 /trunk/libs/regex/doc/html/boost_regex/syntax/collating_names.html
 /trunk/libs/regex/doc/html/boost_regex/syntax/leftmost_longest_rule.html
 /trunk/libs/regex/doc/html/boost_regex/syntax/perl_syntax.html
 /trunk/libs/regex/doc/html/boost_regex/syntax.html
 /trunk/libs/regex/doc/html/boost_regex/unicode.html
 /trunk/libs/regex/doc/html/index.html
 /trunk/libs/regex/doc/match_result.qbk
 /trunk/libs/regex/doc/regex_replace.qbk
 /trunk/libs/regex/doc/standards.qbk
 /trunk/libs/regex/doc/syntax_perl.qbk
 /trunk/libs/regex/example/Jamfile.v2
 /trunk/libs/regex/example/grep/grep.cpp
 /trunk/libs/regex/example/snippets/icu_example.cpp
 /trunk/libs/regex/example/snippets/partial_regex_grep.cpp
 /trunk/libs/regex/example/snippets/partial_regex_iterate.cpp
 /trunk/libs/regex/example/snippets/regex_grep_example_1.cpp
 /trunk/libs/regex/example/snippets/regex_grep_example_2.cpp
 /trunk/libs/regex/example/snippets/regex_grep_example_3.cpp
 /trunk/libs/regex/example/snippets/regex_iterator_example.cpp
 /trunk/libs/regex/example/snippets/regex_merge_example.cpp
 /trunk/libs/regex/example/snippets/regex_replace_example.cpp
 /trunk/libs/regex/example/snippets/regex_search_example.cpp
 /trunk/libs/regex/example/snippets/regex_split_example_2.cpp
 /trunk/libs/regex/example/snippets/regex_token_iterator_eg_2.cpp
 /trunk/libs/regex/performance/command_line.cpp
 /trunk/libs/regex/test/Jamfile.v2
 /trunk/libs/regex/test/c_compiler_checks/posix_api_check.c
 /trunk/libs/regex/test/c_compiler_checks/wide_posix_api_check.c
 /trunk/libs/regex/test/regress/main.cpp
 /trunk/libs/regex/test/regress/test_perl_ex.cpp
 /trunk/libs/regex/test/unicode/unicode_iterator_test.cpp

=======================================
--- /dev/null
+++ /trunk/libs/random/test/test_random_device.cpp      Wed Sep  1 05:47:13 2010
@@ -0,0 +1,26 @@
+/* boost random_test.cpp various tests
+ *
+ * Copyright (c) 2010 Steven Watanabe
+ * Distributed under the Boost Software License, Version 1.0. (See
+ * accompanying file LICENSE_1_0.txt or copy at
+ * http://www.boost.org/LICENCE_1_0.txt)
+ *
+ * $Id: test_random_device.cpp 62347 2010-05-31 16:44:36Z steven_watanabe $
+ */
+
+#include <boost/nondet_random.hpp>
+
+#include <boost/test/test_tools.hpp>
+#include <boost/test/included/test_exec_monitor.hpp>
+
+int test_main(int argc, char** argv) {
+       boost::random_device rng;
+       double entropy = rng.entropy();
+       BOOST_CHECK_GE(entropy, 0);
+       for(int i = 0; i < 100; ++i) {
+               boost::random_device::result_type val = rng();
+               BOOST_CHECK_GE(val, (rng.min)());
+               BOOST_CHECK_LE(val, (rng.max)());
+       }
+       return 0;
+}
=======================================
--- /dev/null
+++ /trunk/libs/range/test/algorithm_test/copy_n.cpp Wed Sep 1 05:47:13 2010
@@ -0,0 +1,70 @@
+// Boost.Range library
+//
+//  Copyright Neil Groves 2009. Use, modification and
+//  distribution is subject to the Boost Software License, Version
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//
+// For more information, see http://www.boost.org/libs/range/
+//
+#include <boost/range/algorithm/copy_n.hpp>
+
+#include <boost/test/test_tools.hpp>
+#include <boost/test/unit_test.hpp>
+
+#include <boost/assign.hpp>
+#include <boost/range/iterator.hpp>
+#include <algorithm>
+#include <list>
+#include <set>
+#include <vector>
+
+namespace
+{
+    template< class Container >
+    void test_copy_n_impl()
+    {
+        Container source;
+        typedef BOOST_DEDUCED_TYPENAME Container::value_type value_t;
+
+        std::vector<value_t> target;
+        target.resize(source.size());
+
+ typedef BOOST_DEDUCED_TYPENAME range_iterator< std::vector<value_t> >::type iterator_t;
+        iterator_t it = boost::copy(source, target.begin());
+
+        BOOST_CHECK( it == target.end() );
+
+        BOOST_CHECK_EQUAL_COLLECTIONS(
+            target.begin(), target.end(),
+            source.begin(), source.end()
+            );
+
+ it = boost::copy(boost::make_iterator_range(source), target.begin());
+
+        BOOST_CHECK( it == target.end() );
+
+        BOOST_CHECK_EQUAL_COLLECTIONS(target.begin(), target.end(),
+                                      source.begin(), source.end());
+    }
+
+    void test_copy_n()
+    {
+        test_copy_n_impl< std::vector<int> >();
+        test_copy_n_impl< std::list<int> >();
+        test_copy_n_impl< std::set<int> >();
+        test_copy_n_impl< std::multiset<int> >();
+    }
+}
+
+boost::unit_test::test_suite*
+init_unit_test_suite(int argc, char* argv[])
+{
+    boost::unit_test::test_suite* test
+        = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.copy_n" );
+
+    test->add( BOOST_TEST_CASE( &::test_copy_n ) );
+
+    return test;
+}
=======================================
--- /dev/null
+++ /trunk/libs/range/test/algorithm_test/remove_copy.cpp Wed Sep 1 05:47:13 2010
@@ -0,0 +1,107 @@
+// Boost.Range library
+//
+//  Copyright Neil Groves 2009. Use, modification and
+//  distribution is subject to the Boost Software License, Version
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//
+// For more information, see http://www.boost.org/libs/range/
+//
+#include <boost/range/algorithm/remove_copy.hpp>
+
+#include <boost/test/test_tools.hpp>
+#include <boost/test/unit_test.hpp>
+
+#include <boost/assign.hpp>
+#include <boost/bind.hpp>
+#include <algorithm>
+#include <functional>
+#include <list>
+#include <numeric>
+#include <deque>
+#include <vector>
+
+namespace
+{
+    template<typename Iterator, typename Value>
+    void test_append(Iterator target, Value value)
+    {
+        *target++ = value;
+    }
+
+    template< class Container, class Value >
+    void test_remove_copy_impl( const Container& c, Value to_remove )
+    {
+        typedef typename boost::range_value<Container>::type value_type;
+        std::vector<value_type> reference;
+
+ typedef BOOST_DEDUCED_TYPENAME std::vector<value_type>::iterator iterator_t;
+
+        test_append(
+            std::remove_copy(c.begin(), c.end(),
+                                std::back_inserter(reference), to_remove),
+            to_remove);
+
+        std::vector<value_type> test;
+        test_append(
+            boost::remove_copy(c, std::back_inserter(test), to_remove),
+            to_remove);
+
+        BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(),
+            test.begin(), test.end() );
+
+        std::vector<value_type> test2;
+        test_append(
+            boost::remove_copy(boost::make_iterator_range(c),
+                               std::back_inserter(test2), to_remove),
+            to_remove);
+
+        BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(),
+                                       test2.begin(), test2.end() );
+    }
+
+    template< class Container >
+    void test_remove_copy_impl()
+    {
+        using namespace boost::assign;
+
+        Container cont;
+        test_remove_copy_impl(cont, 0);
+
+        cont.clear();
+        cont += 1;
+        test_remove_copy_impl(cont, 0);
+        test_remove_copy_impl(cont, 1);
+
+        cont.clear();
+        cont += 1,1,1,1,1;
+        test_remove_copy_impl(cont, 0);
+        test_remove_copy_impl(cont, 1);
+
+        cont.clear();
+        cont += 1,2,3,4,5,6,7,8,9;
+        test_remove_copy_impl(cont, 1);
+        test_remove_copy_impl(cont, 9);
+        test_remove_copy_impl(cont, 4);
+    }
+
+    void test_remove_copy()
+    {
+        test_remove_copy_impl< std::vector<int> >();
+        test_remove_copy_impl< std::list<int> >();
+        test_remove_copy_impl< std::deque<int> >();
+    }
+}
+
+boost::unit_test::test_suite*
+init_unit_test_suite(int argc, char* argv[])
+{
+    boost::unit_test::test_suite* test
+        = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.remove_copy" );
+
+    test->add( BOOST_TEST_CASE( &test_remove_copy ) );
+
+    return test;
+}
+
=======================================
--- /dev/null
+++ /trunk/libs/range/test/algorithm_test/remove_copy_if.cpp Wed Sep 1 05:47:13 2010
@@ -0,0 +1,113 @@
+// Boost.Range library
+//
+//  Copyright Neil Groves 2009. Use, modification and
+//  distribution is subject to the Boost Software License, Version
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//
+// For more information, see http://www.boost.org/libs/range/
+//
+#include <boost/range/algorithm/remove_copy_if.hpp>
+
+#include <boost/test/test_tools.hpp>
+#include <boost/test/unit_test.hpp>
+
+#include <boost/assign.hpp>
+#include <boost/bind.hpp>
+#include <algorithm>
+#include <functional>
+#include <list>
+#include <numeric>
+#include <deque>
+#include <vector>
+
+namespace
+{
+    template< class Iterator, class Value >
+    void test_append(Iterator target, Value value)
+    {
+        *target++ = value;
+    }
+
+    template< class Container, class UnaryPredicate >
+ void test_remove_copy_if_impl( const Container& c, UnaryPredicate pred )
+    {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_value<const Container>::type value_type;
+        std::vector<value_type> reference;
+
+        test_append(
+ std::remove_copy_if(c.begin(), c.end(), std::back_inserter(reference), pred),
+            value_type()
+            );
+
+        std::vector<value_type> test;
+        test_append(
+            boost::remove_copy_if(c, std::back_inserter(test), pred),
+            value_type()
+            );
+
+        BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(),
+                                       test.begin(), test.end() );
+
+        std::vector<value_type> test2;
+        test_append(
+            boost::remove_copy_if(boost::make_iterator_range(c),
+                                  std::back_inserter(test2), pred),
+            value_type()
+            );
+
+        BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(),
+                                       test2.begin(), test2.end() );
+    }
+
+    template< class Container >
+    void test_remove_copy_if_( const Container& c, int to_remove )
+    {
+ test_remove_copy_if_impl(c, boost::bind(std::equal_to<int>(), _1, to_remove)); + test_remove_copy_if_impl(c, boost::bind(std::not_equal_to<int>(), _1, to_remove));
+    }
+
+    template< class Container >
+    void test_remove_copy_if_impl()
+    {
+        using namespace boost::assign;
+
+        Container cont;
+        test_remove_copy_if_(cont, 0);
+
+        cont.clear();
+        cont += 1;
+        test_remove_copy_if_(cont, 0);
+        test_remove_copy_if_(cont, 1);
+
+        cont.clear();
+        cont += 1,1,1,1,1;
+        test_remove_copy_if_(cont, 0);
+        test_remove_copy_if_(cont, 1);
+
+        cont.clear();
+        cont += 1,2,3,4,5,6,7,8,9;
+        test_remove_copy_if_(cont, 1);
+        test_remove_copy_if_(cont, 9);
+        test_remove_copy_if_(cont, 4);
+    }
+
+    inline void test_remove_copy_if()
+    {
+        test_remove_copy_if_impl< std::vector<int> >();
+        test_remove_copy_if_impl< std::list<int> >();
+        test_remove_copy_if_impl< std::deque<int> >();
+    }
+}
+
+boost::unit_test::test_suite*
+init_unit_test_suite(int argc, char* argv[])
+{
+    boost::unit_test::test_suite* test
+        = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.remove_copy_if" );
+
+    test->add( BOOST_TEST_CASE( &test_remove_copy_if ) );
+
+    return test;
+}
=======================================
--- /dev/null
+++ /trunk/libs/range/test/algorithm_test/replace_copy.cpp Wed Sep 1 05:47:13 2010
@@ -0,0 +1,110 @@
+// Boost.Range library
+//
+//  Copyright Neil Groves 2009. Use, modification and
+//  distribution is subject to the Boost Software License, Version
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//
+// For more information, see http://www.boost.org/libs/range/
+//
+#include <boost/range/algorithm/replace_copy.hpp>
+
+#include <boost/test/test_tools.hpp>
+#include <boost/test/unit_test.hpp>
+
+#include <boost/assign.hpp>
+#include <boost/bind.hpp>
+#include <algorithm>
+#include <functional>
+#include <list>
+#include <numeric>
+#include <deque>
+#include <vector>
+
+namespace
+{
+    template<typename Iterator, typename Value>
+    void test_append(Iterator target, Value value)
+    {
+        *target++ = value;
+    }
+
+    template< class Container, class Value >
+    void test_replace_copy_impl( const Container& c, Value to_replace )
+    {
+        const Value replace_with = to_replace * 2;
+
+        typedef typename boost::range_value<Container>::type value_type;
+        std::vector<value_type> reference;
+
+ typedef BOOST_DEDUCED_TYPENAME std::vector<value_type>::iterator iterator_t;
+
+        test_append(
+            std::replace_copy(c.begin(), c.end(),
+ std::back_inserter(reference), to_replace, replace_with),
+            to_replace);
+
+        std::vector<value_type> test;
+        test_append(
+ boost::replace_copy(c, std::back_inserter(test), to_replace, replace_with),
+            to_replace);
+
+        BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(),
+                                       test.begin(), test.end() );
+
+        std::vector<value_type> test2;
+        test_append(
+            boost::replace_copy(boost::make_iterator_range(c),
+                                std::back_inserter(test2), to_replace,
+                                replace_with),
+            to_replace);
+
+        BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(),
+                                       test2.begin(), test2.end() );
+    }
+
+    template< class Container >
+    void test_replace_copy_impl()
+    {
+        using namespace boost::assign;
+
+        Container cont;
+        test_replace_copy_impl(cont, 0);
+
+        cont.clear();
+        cont += 1;
+        test_replace_copy_impl(cont, 0);
+        test_replace_copy_impl(cont, 1);
+
+        cont.clear();
+        cont += 1,1,1,1,1;
+        test_replace_copy_impl(cont, 0);
+        test_replace_copy_impl(cont, 1);
+
+        cont.clear();
+        cont += 1,2,3,4,5,6,7,8,9;
+        test_replace_copy_impl(cont, 1);
+        test_replace_copy_impl(cont, 9);
+        test_replace_copy_impl(cont, 4);
+    }
+
+    void test_replace_copy()
+    {
+        test_replace_copy_impl< std::vector<int> >();
+        test_replace_copy_impl< std::list<int> >();
+        test_replace_copy_impl< std::deque<int> >();
+    }
+}
+
+boost::unit_test::test_suite*
+init_unit_test_suite(int argc, char* argv[])
+{
+    boost::unit_test::test_suite* test
+        = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.replace_copy" );
+
+    test->add( BOOST_TEST_CASE( &test_replace_copy ) );
+
+    return test;
+}
+
=======================================
--- /dev/null
+++ /trunk/libs/range/test/algorithm_test/replace_copy_if.cpp Wed Sep 1 05:47:13 2010
@@ -0,0 +1,115 @@
+// Boost.Range library
+//
+//  Copyright Neil Groves 2009. Use, modification and
+//  distribution is subject to the Boost Software License, Version
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//
+// For more information, see http://www.boost.org/libs/range/
+//
+#include <boost/range/algorithm/replace_copy_if.hpp>
+
+#include <boost/test/test_tools.hpp>
+#include <boost/test/unit_test.hpp>
+
+#include <boost/assign.hpp>
+#include <boost/bind.hpp>
+#include <algorithm>
+#include <functional>
+#include <list>
+#include <numeric>
+#include <deque>
+#include <vector>
+
+namespace
+{
+    template< class Iterator, class Value >
+    void test_append(Iterator target, Value value)
+    {
+        *target++ = value;
+    }
+
+    template< class Container, class UnaryPredicate >
+ void test_replace_copy_if_impl( const Container& c, UnaryPredicate pred )
+    {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_value<const Container>::type value_type;
+        const value_type replace_with = value_type();
+        std::vector<value_type> reference;
+
+        test_append(
+ std::replace_copy_if(c.begin(), c.end(), std::back_inserter(reference), pred, replace_with),
+            value_type()
+            );
+
+        std::vector<value_type> test;
+        test_append(
+ boost::replace_copy_if(c, std::back_inserter(test), pred, replace_with),
+            value_type()
+            );
+
+        BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(),
+                                       test.begin(), test.end() );
+
+        std::vector<value_type> test2;
+        test_append(
+            boost::replace_copy_if(boost::make_iterator_range(c),
+                                   std::back_inserter(test2), pred,
+                                   replace_with),
+            value_type()
+            );
+
+        BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(),
+                                       test2.begin(), test2.end() );
+    }
+
+    template< class Container >
+    void test_replace_copy_if_( const Container& c, int to_replace )
+    {
+ test_replace_copy_if_impl(c, boost::bind(std::equal_to<int>(), _1, to_replace)); + test_replace_copy_if_impl(c, boost::bind(std::not_equal_to<int>(), _1, to_replace));
+    }
+
+    template< class Container >
+    void test_replace_copy_if_impl()
+    {
+        using namespace boost::assign;
+
+        Container cont;
+        test_replace_copy_if_(cont, 0);
+
+        cont.clear();
+        cont += 1;
+        test_replace_copy_if_(cont, 0);
+        test_replace_copy_if_(cont, 1);
+
+        cont.clear();
+        cont += 1,1,1,1,1;
+        test_replace_copy_if_(cont, 0);
+        test_replace_copy_if_(cont, 1);
+
+        cont.clear();
+        cont += 1,2,3,4,5,6,7,8,9;
+        test_replace_copy_if_(cont, 1);
+        test_replace_copy_if_(cont, 9);
+        test_replace_copy_if_(cont, 4);
+    }
+
+    inline void test_replace_copy_if()
+    {
+        test_replace_copy_if_impl< std::vector<int> >();
+        test_replace_copy_if_impl< std::list<int> >();
+        test_replace_copy_if_impl< std::deque<int> >();
+    }
+}
+
+boost::unit_test::test_suite*
+init_unit_test_suite(int argc, char* argv[])
+{
+    boost::unit_test::test_suite* test
+        = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.replace_copy_if" );
+
+    test->add( BOOST_TEST_CASE( &test_replace_copy_if ) );
+
+    return test;
+}
=======================================
--- /dev/null
+++ /trunk/libs/range/test/algorithm_test/reverse_copy.cpp Wed Sep 1 05:47:13 2010
@@ -0,0 +1,97 @@
+//  Copyright Neil Groves 2009. Use, modification and
+//  distribution is subject to the Boost Software License, Version
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//
+// For more information, see http://www.boost.org/libs/range/
+//
+#include <boost/range/algorithm/reverse_copy.hpp>
+
+#include <boost/test/test_tools.hpp>
+#include <boost/test/unit_test.hpp>
+
+#include <boost/assign.hpp>
+#include <boost/bind.hpp>
+#include <algorithm>
+#include <functional>
+#include <list>
+#include <numeric>
+#include <deque>
+#include <vector>
+
+namespace
+{
+    template<class OutputIterator, class Value>
+    void test_append(OutputIterator out, Value value)
+    {
+        *out++ = value;
+    }
+
+    template<class Container>
+    void test_reverse_copy_impl(Container& cont)
+    {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_value<Container>::type value_type;
+        std::vector<value_type> reference;
+        std::vector<value_type> test;
+
+        test_append(
+ std::reverse_copy(cont.begin(), cont.end(), std::back_inserter(reference)),
+            value_type()
+            );
+
+        test_append(
+            boost::reverse_copy(cont, std::back_inserter(test)),
+            value_type()
+            );
+
+        BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(),
+                                       test.begin(), test.end() );
+
+        test.clear();
+
+        test_append(
+            boost::reverse_copy(boost::make_iterator_range(cont),
+                                std::back_inserter(test)),
+            value_type()
+            );
+
+        BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(),
+                                       test.begin(), test.end() );
+    }
+
+    template<class Container>
+    void test_reverse_copy_impl()
+    {
+        using namespace boost::assign;
+
+        Container cont;
+        test_reverse_copy_impl(cont);
+
+        cont.clear();
+        cont += 1;
+        test_reverse_copy_impl(cont);
+
+        cont.clear();
+        cont += 1,2,3,4,5,6,7,8,9;
+        test_reverse_copy_impl(cont);
+    }
+
+    void test_reverse_copy()
+    {
+        test_reverse_copy_impl< std::vector<int> >();
+        test_reverse_copy_impl< std::list<int> >();
+        test_reverse_copy_impl< std::deque<int> >();
+    }
+}
+
+boost::unit_test::test_suite*
+init_unit_test_suite(int argc, char* argv[])
+{
+    boost::unit_test::test_suite* test
+        = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.reverse_copy" );
+
+    test->add( BOOST_TEST_CASE( &::test_reverse_copy ) );
+
+    return test;
+}
=======================================
--- /dev/null
+++ /trunk/libs/range/test/algorithm_test/rotate_copy.cpp Wed Sep 1 05:47:13 2010
@@ -0,0 +1,112 @@
+//  Copyright Neil Groves 2009. Use, modification and
+//  distribution is subject to the Boost Software License, Version
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//
+// For more information, see http://www.boost.org/libs/range/
+//
+#include <boost/range/algorithm/rotate_copy.hpp>
+
+#include <boost/test/test_tools.hpp>
+#include <boost/test/unit_test.hpp>
+
+#include <boost/assign.hpp>
+#include <boost/bind.hpp>
+#include <algorithm>
+#include <functional>
+#include <list>
+#include <numeric>
+#include <deque>
+#include <vector>
+
+namespace
+{
+    template<class OutputIterator, class Value>
+    void test_append(OutputIterator target, Value value)
+    {
+        *target++ = value;
+    }
+
+    template<class Container, class Iterator>
+    void test_rotate_copy_impl(Container& cont, Iterator where_it)
+    {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_value<Container>::type value_type;
+        std::vector<value_type> reference;
+        std::vector<value_type> test;
+
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iterator_t;
+
+        test_append(
+            std::rotate_copy(cont.begin(), where_it, cont.end(),
+                std::back_inserter(reference)),
+            value_type()
+            );
+
+        test_append(
+            boost::rotate_copy(cont, where_it, std::back_inserter(test)),
+            value_type()
+            );
+
+        BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(),
+                                       test.begin(), test.end() );
+
+        test.clear();
+
+        test_append(
+            boost::rotate_copy(boost::make_iterator_range(cont), where_it,
+                               std::back_inserter(test)),
+            value_type()
+            );
+
+        BOOST_CHECK_EQUAL_COLLECTIONS( reference.begin(), reference.end(),
+                                       test.begin(), test.end() );
+    }
+
+    template<class Container>
+    void test_rotate_copy_impl(Container& cont)
+    {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_iterator<Container>::type iterator_t;
+
+        iterator_t last = cont.end();
+        for (iterator_t it = cont.begin(); it != last; ++it)
+        {
+            test_rotate_copy_impl(cont, it);
+        }
+    }
+
+    template<class Container>
+    void test_rotate_copy_impl()
+    {
+        using namespace boost::assign;
+
+        Container cont;
+        test_rotate_copy_impl(cont);
+
+        cont.clear();
+        cont += 1;
+        test_rotate_copy_impl(cont);
+
+        cont.clear();
+        cont += 1,2,3,4,5,6,7,8,9;
+        test_rotate_copy_impl(cont);
+    }
+
+    void test_rotate_copy()
+    {
+        test_rotate_copy_impl< std::vector<int> >();
+        test_rotate_copy_impl< std::list<int> >();
+        test_rotate_copy_impl< std::deque<int> >();
+    }
+}
+
+boost::unit_test::test_suite*
+init_unit_test_suite(int argc, char* argv[])
+{
+    boost::unit_test::test_suite* test
+        = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.rotate_copy" );
+
+    test->add( BOOST_TEST_CASE( &test_rotate_copy ) );
+
+    return test;
+}
=======================================
--- /dev/null
+++ /trunk/libs/range/test/algorithm_test/search_n.cpp Wed Sep 1 05:47:13 2010
@@ -0,0 +1,93 @@
+// Boost.Range library
+//
+//  Copyright Neil Groves 2009. Use, modification and
+//  distribution is subject to the Boost Software License, Version
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//
+// For more information, see http://www.boost.org/libs/range/
+//
+#include <boost/range/algorithm/search_n.hpp>
+
+#include <boost/test/test_tools.hpp>
+#include <boost/test/unit_test.hpp>
+
+#include <boost/assign.hpp>
+#include <algorithm>
+#include <list>
+#include <set>
+#include <vector>
+
+namespace
+{
+    template< class Container1, class Value >
+    void test_search_n_impl(Container1& cont1, Value value)
+    {
+ typedef BOOST_DEDUCED_TYPENAME Container1::const_iterator const_iterator1_t;
+        typedef BOOST_DEDUCED_TYPENAME Container1::iterator iterator1_t;
+
+        const Container1& ccont1 = cont1;
+
+        for (std::size_t n = 0; n < cont1.size(); ++n)
+        {
+            iterator1_t it = boost::search_n(cont1, n, value);
+ BOOST_CHECK( it == boost::search_n(boost::make_iterator_range(cont1), n, value) ); + BOOST_CHECK( it == std::search_n(cont1.begin(), cont1.end(), n, value) );
+
+            const_iterator1_t cit = boost::search_n(ccont1, n, value);
+ BOOST_CHECK( cit == boost::search_n(boost::make_iterator_range(ccont1), n, value) ); + BOOST_CHECK( cit == std::search_n(ccont1.begin(), ccont1.end(), n, value) );
+        }
+    }
+
+    template< class Container1, class Container2 >
+    void test_search_n_impl()
+    {
+        using namespace boost::assign;
+
+        Container1 cont1;
+
+        test_search_n_impl(cont1, 1);
+
+        cont1 += 1;
+        test_search_n_impl(cont1, 1);
+        test_search_n_impl(cont1, 0);
+
+        cont1.clear();
+        cont1 += 1,1;
+        test_search_n_impl(cont1, 1);
+        test_search_n_impl(cont1, 0);
+
+        cont1 += 1,1,1;
+        test_search_n_impl(cont1, 1);
+        test_search_n_impl(cont1, 0);
+
+        cont1.clear();
+        cont1 += 1,2,3,4,5,6,7,8,9;
+        test_search_n_impl(cont1, 1);
+        test_search_n_impl(cont1, 2);
+        test_search_n_impl(cont1, 5);
+        test_search_n_impl(cont1, 9);
+    }
+
+    void test_search_n()
+    {
+        test_search_n_impl< std::list<int>, std::list<int> >();
+        test_search_n_impl< std::vector<int>, std::vector<int> >();
+        test_search_n_impl< std::set<int>, std::set<int> >();
+        test_search_n_impl< std::list<int>, std::vector<int> >();
+        test_search_n_impl< std::vector<int>, std::list<int> >();
+    }
+}
+
+boost::unit_test::test_suite*
+init_unit_test_suite(int argc, char* argv[])
+{
+    boost::unit_test::test_suite* test
+        = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.search_n" );
+
+    test->add( BOOST_TEST_CASE( &test_search_n ) );
+
+    return test;
+}
=======================================
--- /dev/null
+++ /trunk/libs/range/test/algorithm_test/swap_ranges.cpp Wed Sep 1 05:47:13 2010
@@ -0,0 +1,116 @@
+// Boost.Range library
+//
+//  Copyright Neil Groves 2009. Use, modification and
+//  distribution is subject to the Boost Software License, Version
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//
+// For more information, see http://www.boost.org/libs/range/
+//
+#include <boost/range/algorithm/swap_ranges.hpp>
+
+#include <boost/test/test_tools.hpp>
+#include <boost/test/unit_test.hpp>
+
+#include <boost/assign.hpp>
+#include <boost/bind.hpp>
+#include <algorithm>
+#include <functional>
+#include <list>
+#include <numeric>
+#include <deque>
+#include <vector>
+
+namespace
+{
+    template<class Container1, class Container2>
+ void test_swap_ranges_impl(const Container1& source1, const Container2& source2)
+    {
+        Container1 reference1(source1);
+        Container2 reference2(source2);
+ std::swap_ranges(reference1.begin(), reference1.end(), reference2.begin());
+
+        Container1 test1(source1);
+        Container2 test2(source2);
+        boost::swap_ranges(test1, test2);
+
+ BOOST_CHECK_EQUAL_COLLECTIONS( reference1.begin(), reference1.end(),
+                                       test1.begin(), test1.end() );
+
+ BOOST_CHECK_EQUAL_COLLECTIONS( reference2.begin(), reference2.end(),
+                                       test2.begin(), test2.end() );
+
+        test1 = source1;
+        test2 = source2;
+        boost::swap_ranges(boost::make_iterator_range(test1), test2);
+ BOOST_CHECK_EQUAL_COLLECTIONS( reference1.begin(), reference1.end(),
+                                       test1.begin(), test1.end() );
+ BOOST_CHECK_EQUAL_COLLECTIONS( reference2.begin(), reference2.end(),
+                                       test2.begin(), test2.end() );
+
+        test1 = source1;
+        test2 = source2;
+        boost::swap_ranges(test1, boost::make_iterator_range(test2));
+ BOOST_CHECK_EQUAL_COLLECTIONS( reference1.begin(), reference1.end(),
+                                       test1.begin(), test1.end() );
+ BOOST_CHECK_EQUAL_COLLECTIONS( reference2.begin(), reference2.end(),
+                                       test2.begin(), test2.end() );
+
+        test1 = source1;
+        test2 = source2;
+        boost::swap_ranges(boost::make_iterator_range(test1),
+                           boost::make_iterator_range(test2));
+ BOOST_CHECK_EQUAL_COLLECTIONS( reference1.begin(), reference1.end(),
+                                       test1.begin(), test1.end() );
+ BOOST_CHECK_EQUAL_COLLECTIONS( reference2.begin(), reference2.end(),
+                                       test2.begin(), test2.end() );
+    }
+
+    template<class Container1, class Container2>
+    void test_swap_ranges_impl()
+    {
+        using namespace boost::assign;
+
+        Container1 c1;
+        Container2 c2;
+
+        test_swap_ranges_impl(c1, c2);
+
+        c1.clear();
+        c1 += 1;
+        c2.clear();
+        c2 += 2;
+        test_swap_ranges_impl(c1, c2);
+
+        c1.clear();
+        c1 += 1,2,3,4,5,6,7,8,9,10;
+        c2.clear();
+        c2 += 10,9,8,7,6,5,4,3,2,1;
+        test_swap_ranges_impl(c1, c2);
+    }
+
+    inline void test_swap_ranges()
+    {
+        test_swap_ranges_impl< std::vector<int>, std::vector<int> >();
+        test_swap_ranges_impl< std::vector<int>, std::list<int> >();
+        test_swap_ranges_impl< std::vector<int>, std::deque<int> >();
+        test_swap_ranges_impl< std::list<int>, std::vector<int> >();
+        test_swap_ranges_impl< std::list<int>, std::list<int> >();
+        test_swap_ranges_impl< std::list<int>, std::deque<int> >();
+        test_swap_ranges_impl< std::deque<int>, std::vector<int> >();
+        test_swap_ranges_impl< std::deque<int>, std::list<int> >();
+        test_swap_ranges_impl< std::deque<int>, std::deque<int> >();
+    }
+}
+
+boost::unit_test::test_suite*
+init_unit_test_suite(int argc, char* argv[])
+{
+    boost::unit_test::test_suite* test
+        = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.swap_ranges" );
+
+    test->add( BOOST_TEST_CASE( &test_swap_ranges ) );
+
+    return test;
+}
=======================================
--- /dev/null
+++ /trunk/libs/range/test/algorithm_test/unique_copy.cpp Wed Sep 1 05:47:13 2010
@@ -0,0 +1,158 @@
+// Boost.Range library
+//
+//  Copyright Neil Groves 2009. Use, modification and
+//  distribution is subject to the Boost Software License, Version
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//
+// For more information, see http://www.boost.org/libs/range/
+//
+#include <boost/range/algorithm/unique_copy.hpp>
+
+#include <boost/test/test_tools.hpp>
+#include <boost/test/unit_test.hpp>
+
+#include <boost/assign.hpp>
+#include <boost/bind.hpp>
+#include <algorithm>
+#include <functional>
+#include <list>
+#include <numeric>
+#include <deque>
+#include <vector>
+
+namespace
+{
+    template<class OutputIterator, class Value>
+    void test_append(OutputIterator target, Value value)
+    {
+        *target++ = value;
+    }
+
+    template<class Container>
+    void test_unique_copy_impl(Container& c)
+    {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_value<Container>::type value_type;
+        std::vector<value_type> reference;
+        std::vector<value_type> test;
+
+        test_append(
+ std::unique_copy(c.begin(), c.end(), std::back_inserter(reference)),
+            value_type()
+            );
+
+        test_append(
+            boost::unique_copy(c, std::back_inserter(test)),
+            value_type()
+            );
+
+        BOOST_CHECK_EQUAL_COLLECTIONS(reference.begin(), reference.end(),
+                                      test.begin(), test.end());
+
+        test.clear();
+
+        test_append(
+            boost::unique_copy(boost::make_iterator_range(c),
+                               std::back_inserter(test)),
+            value_type()
+            );
+
+        BOOST_CHECK_EQUAL_COLLECTIONS(reference.begin(), reference.end(),
+                                      test.begin(), test.end());
+    }
+
+    template<class Container, class Pred>
+    void test_unique_copy_impl(Container& c, Pred pred)
+    {
+ typedef BOOST_DEDUCED_TYPENAME boost::range_value<Container>::type value_type;
+        std::vector<value_type> reference;
+        std::vector<value_type> test;
+
+        test_append(
+ std::unique_copy(c.begin(), c.end(), std::back_inserter(reference), pred),
+            value_type()
+            );
+
+        test_append(
+            boost::unique_copy(c, std::back_inserter(test), pred),
+            value_type()
+            );
+
+        BOOST_CHECK_EQUAL_COLLECTIONS(reference.begin(), reference.end(),
+                                      test.begin(), test.end());
+
+        test.clear();
+
+        test_append(
+            boost::unique_copy(boost::make_iterator_range(c),
+                               std::back_inserter(test), pred),
+            value_type()
+            );
+
+        BOOST_CHECK_EQUAL_COLLECTIONS(reference.begin(), reference.end(),
+                                      test.begin(), test.end());
+    }
+
+    template<class Container, class Pred>
+    void test_unique_copy_driver(Pred pred)
+    {
+        using namespace boost::assign;
+
+        typedef BOOST_DEDUCED_TYPENAME Container::value_type value_t;
+
+        Container cont;
+
+        test_unique_copy_impl(cont);
+        test_unique_copy_impl(cont, pred);
+
+        cont.clear();
+        cont += 1;
+
+        std::vector<value_t> temp(cont.begin(), cont.end());
+        std::sort(temp.begin(), temp.end());
+        cont.assign(temp.begin(), temp.end());
+        test_unique_copy_impl(cont);
+
+        std::sort(temp.begin(), temp.end(), pred);
+        cont.assign(temp.begin(), temp.end());
+        test_unique_copy_impl(cont, pred);
+
+        cont.clear();
+        cont += 1,2,2,2,2,3,4,5,6,7,8,9;
+
+        temp.assign(cont.begin(), cont.end());
+        std::sort(temp.begin(), temp.end());
+        cont.assign(temp.begin(), temp.end());
+        test_unique_copy_impl(cont);
+
+        std::sort(temp.begin(), temp.end(), pred);
+        cont.assign(temp.begin(), temp.end());
+        test_unique_copy_impl(cont, pred);
+    }
+
+    template<class Container>
+    void test_unique_copy_impl()
+    {
+        test_unique_copy_driver<Container>(std::less<int>());
+        test_unique_copy_driver<Container>(std::greater<int>());
+    }
+
+    void test_unique_copy()
+    {
+        test_unique_copy_impl< std::vector<int> >();
+        test_unique_copy_impl< std::list<int> >();
+        test_unique_copy_impl< std::deque<int> >();
+    }
+}
+
+boost::unit_test::test_suite*
+init_unit_test_suite(int argc, char* argv[])
+{
+    boost::unit_test::test_suite* test
+        = BOOST_TEST_SUITE( "RangeTestSuite.algorithm.unique_copy" );
+
+    test->add( BOOST_TEST_CASE( &test_unique_copy ) );
+
+    return test;
+}
=======================================
--- /dev/null
+++ /trunk/libs/range/test/test_function/true_predicate.hpp Wed Sep 1 05:47:13 2010
@@ -0,0 +1,29 @@
+// Boost.Range library
+//
+//  Copyright Neil Groves 2010. Use, modification and
+//  distribution is subject to the Boost Software License, Version
+//  1.0. (See accompanying file LICENSE_1_0.txt or copy at
+//  http://www.boost.org/LICENSE_1_0.txt)
+//
+//
+// For more information, see http://www.boost.org/libs/range/
+//
+#ifndef BOOST_RANGE_TEST_TEST_FUNCTION_TRUE_PREDICATE_HPP_INCLUDED
+#define BOOST_RANGE_TEST_TEST_FUNCTION_TRUE_PREDICATE_HPP_INCLUDED
+
+namespace boost
+{
+    namespace range_test_function
+    {
+        struct true_predicate
+        {
+            typedef bool result_type;
+
+            bool operator()() const { return true; }
+            template<class Arg> bool operator()(Arg) const { return true; }
+ template<class Arg1, class Arg2> bool operator()(Arg1,Arg2) const { return true; }
+        };
+    }
+}
+
+#endif // include guard
=======================================
--- /trunk/libs/range/doc/html/quickbook_HTML.manifest Tue Jun 22 21:13:43 2010
+++ /dev/null
@@ -1,152 +0,0 @@
-index.html
-range/introduction.html
-range/concepts.html
-range/concepts/overview.html
-range/concepts/single_pass_range.html
-range/concepts/forward_range.html
-range/concepts/bidirectional_range.html
-range/concepts/random_access_range.html
-range/concepts/concept_checking.html
-range/reference.html
-range/reference/overview.html
-range/reference/concept_implementation.html
-range/reference/concept_implementation/synopsis.html
-range/reference/concept_implementation/semantics.html
-range/reference/concept_implementation/semantics/metafunctions.html
-range/reference/concept_implementation/semantics/functions.html
-range/reference/adaptors.html
-range/reference/adaptors/introduction.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/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/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
-range/mfc_atl/mfc_ranges.html
-range/mfc_atl/atl_ranges.html
-range/mfc_atl/const_ranges.html
-range/mfc_atl/references.html
-range/upgrade.html
-range/upgrade/upgrade_from_1_42.html
-range/upgrade/upgrade_from_1_34.html
-range/portability.html
-range/faq.html
-range/history_ack.html
=======================================
--- /trunk/libs/range/doc/html/standalone_HTML.manifest Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,19 +0,0 @@
-index.html
-range/concepts.html
-range/concepts/single_pass_range.html
-range/concepts/forward_range.html
-range/concepts/bidirectional_range.html
-range/concepts/random_access_range.html
-range/concepts/concept_checking.html
-range/reference.html
-range/reference/synopsis.html
-range/reference/semantics.html
-range/reference/extending.html
-range/utilities.html
-range/utilities/sub_range.html
-range/style_guide.html
-range/library_headers.html
-range/examples.html
-range/portability.html
-range/faq.html
-range/history_ack.html
=======================================
--- /trunk/libs/range/doc/reference/adaptors/adjacent_filtered.html Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,101 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title>Boost.Range Range Adaptors </title>
-    <link rel="stylesheet" href="../style.css" type="text/css">
-</head>
-
-    <body>
-
-    <table border="0" >
-        <tr>
-            <td ><img src="../../../boost.png" border="0" /></td>
-            <td ><h1 align="center">Boost.Range </h1></td>
-        </tr>
-    </table>
-
-    <h2> Range Adaptors </h2>
-
-    <hr />
-    <a name="adjacent_filtered"></a>
-    <h4><code>adjacent_filtered</code></h4>
-    <blockquote>
- <pre> rng | boost::adaptors::adjacent_filtered( bi_pred )
-        </pre>
- <pre> boost::make_adjacent_filtered_range( rng, bi_pred )
-        </pre>
-    </blockquote>
-    <ul>
-        <li>
-            <b>Precondition:</b>
- The value-type of the range is convertible to both argument types
-            of <code>bi_pred</code>.
-        </li>
-        <li>
-            <b>Postcondition:</b>
- For all adjacent elements <code>[x,y]</code> in the returned range,
-            <code>bi_pred(x,y)</code> is <code>true</code>.
-        </li>
-        <li>
-            <b>Throws:</b>
-            Whatever the copy-constructor of bi_pred might throw.
-        </li>
-        <li>
-            <b>Range Category:</b>
-            SinglePassRange
-        </li>
-    </ul>
-
-    <hr />
-    <h3>Example</h3>
-    <pre>
- <span class="keyword">#include</span> &lt;boost/range/adaptor/adjacent_filtered.hpp&gt; - <span class="keyword">#include</span> &lt;boost/range/algorithm/copy.hpp&gt;
-        <span class="keyword">#include</span> &lt;boost/assign.hpp&gt;
-        <span class="keyword">#include</span> &lt;algorithm&gt;
-        <span class="keyword">#include</span> &lt;functional&gt;
-        <span class="keyword">#include</span> &lt;iostream&gt;
-        <span class="keyword">#include</span> &lt;vector&gt;
-
- <span class="keyword">int</span> main(<span class="keyword">int</span> argc, <span class="keyword">const char</span>* argv[])
-        {
-            <span class="keyword">using namespace</span> boost::assign;
-            <span class="keyword">using namespace</span> boost::adaptors;
-
-            std::vector&lt;<span class="keyword">int</span>&gt; input;
-            input += 1,1,2,2,2,3,4,5,6;
-
-            boost::copy(
- input | adjacent_filtered(std::not_equal_to&lt;<span class="keyword">int</span>&gt;()), - std::ostream_iterator&lt;<span class="keyword">int</span>&gt;(std::cout, ","));
-
-            <span class="keyword">return</span> 0;
-        }
-    </pre>
-    <p>
-        This would produce the output:<br />
-        <code>1,2,3,4,5,6</code><br />
-    </p>
-    <hr />
-    <p>
-    (C) Copyright Neil Groves 2009
-    (C) Copyright Thorsten Ottosen 2003-2004
-    </p>
-
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    </body>
-</html>
-
=======================================
--- /trunk/libs/range/doc/reference/adaptors/copied.html Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,93 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title>Boost.Range Range Adaptors </title>
-    <link rel="stylesheet" href="../style.css" type="text/css">
-</head>
-
-    <body>
-
-    <table border="0" >
-        <tr>
-            <td ><img src="../../../boost.png" border="0" /></td>
-            <td ><h1 align="center">Boost.Range </h1></td>
-        </tr>
-    </table>
-
-    <h2> Range Adaptors </h2>
-
-    <hr />
-    <a name="copied"></a>
-    <h4><code>copied</code></h4>
-    <blockquote>
-        <pre>rng | boost::adaptors::copied( n, m )</pre>
-        <pre>boost::make_copied_range( rng, n, m )</pre>
-    </blockquote>
-    <ul>
-        <li>
-            <b>Precondition:</b>
- <code>0 &lt;= n &amp;&amp; n &lt;= m &amp;&amp; m &lt; distance(rng)</code>
-        </li>
-        <li>
-            <b>Returns:</b>
-            A new <code>iterator_range</code> that holds the sliced range
-            <code>[n,m)</code> of the original range.
-        </li>
-        <li>
-            <b>Range Category:</b>
-            RandomAccessRange
-        </li>
-    </ul>
-
-    <hr />
-    <h3>Example</h3>
-    <pre>
- <span class="keyword">#include</span> &lt;boost/range/adaptor/copied.hpp&gt; - <span class="keyword">#include</span> &lt;boost/range/algorithm/copy.hpp&gt;
-    <span class="keyword">#include</span> &lt;boost/assign.hpp&gt;
-    <span class="keyword">#include</span> &lt;algorithm&gt;
-    <span class="keyword">#include</span> &lt;iostream&gt;
-    <span class="keyword">#include</span> &lt;vector&gt;
-
- <span class="keyword">int</span> main(<span class="keyword">int</span> argc, <span class="keyword">const char</span>* argv[])
-    {
-        <span class="keyword">using namespace</span> boost::assign;
-        <span class="keyword">using namespace</span> boost::adaptors;
-
-        std::vector&lt;<span class="keyword">int</span>&gt; input;
-        input += 1,2,3,4,5,6,7,8,9,10;
-
-        boost::copy(
-            input | copied(1, 5),
- std::ostream_iterator&lt;<span class="keyword">int</span>&gt;(std::cout, ","));
-
-        <span class="keyword">return</span> 0;
-    }
-    </pre>
-    <p>
-        This would produce the output:
-        <code>2,3,4,5</code>
-    </p>
-    <hr />
-    <p>
-    (C) Copyright Neil Groves 2009
-    (C) Copyright Thorsten Ottosen 2003-2004
-    </p>
-
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    </body>
-</html>
-
=======================================
--- /trunk/libs/range/doc/reference/adaptors/filtered.html Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,108 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title>Boost.Range Range Adaptors </title>
-    <link rel="stylesheet" href="../style.css" type="text/css">
-</head>
-
-    <body>
-
-    <table border="0" >
-        <tr>
-            <td ><img src="../../../boost.png" border="0" /></td>
-            <td ><h1 align="center">Boost.Range </h1></td>
-        </tr>
-    </table>
-
-    <h2> Range Adaptors </h2>
-
-    <hr />
-    <a name="filtered"></a>
-    <h4><code>filtered</code></h4>
-    <blockquote>
-        <pre>rng | boost::adaptors::filtered( pred )</pre>
-        <pre>boost::make_filtered_range( rng, pred )</pre>
-    </blockquote>
-    <ul>
-        <li>
-            <b>Precondition:</b>
- The value-type of the range is convertible to the argument type of
-            <code>pred</code>.
-        </li>
-        <li>
-            <b>Postcondition:</b>
-            For all elements <code>x</code> in the returned range,
-            <code>pred(x)</code> is <code>true</code>
-        </li>
-        <li>
-            <b>Throws:</b>
-            Whatever the copy-constructor of pred might throw.
-        </li>
-        <li>
-            <b>Range Category:</b>
-            ForwardRange
-        </li>
-        <li>
-            <b>Returned Range Category:</b>
-            ForwardRange
-        </li>
-    </ul>
-
-    <hr />
-    <h3>Example</h3>
-    <pre>
- <span class="keyword">#include</span> &lt;boost/range/adaptor/filtered.hpp&gt; - <span class="keyword">#include</span> &lt;boost/range/algorithm/copy.hpp&gt;
-        <span class="keyword">#include</span> &lt;boost/assign.hpp&gt;
-        <span class="keyword">#include</span> &lt;algorithm&gt;
-        <span class="keyword">#include</span> &lt;iostream&gt;
-        <span class="keyword">#include</span> &lt;vector&gt;
-
-        <span class="keyword">struct</span> is_even
-        {
- <span class="keyword">bool operator</span>()(<span class="keyword">int</span> x) <span class="keyword">const</span> { <span class="keyword">return</span> x % 2 == 0; }
-        };
-
- <span class="keyword">int</span> main(<span class="keyword">int</span> argc, <span class="keyword">const char</span>* argv[])
-        {
-            <span class="keyword">using namespace</span> boost::assign;
-            <span class="keyword">using namespace</span> boost::adaptors;
-
-            std::vector&lt;<span class="keyword">int</span>&gt; input;
-            input += 1,2,3,4,5,6,7,8,9;
-
-            boost::copy(
-                input | filtered(is_even()),
- std::ostream_iterator&lt;<span class="keyword">int</span>&gt;(std::cout, ","));
-
-            <span class="keyword">return</span> 0;
-        }
-    </pre>
-    <p>
-        This would produce the output: <br />
-        <code>2,4,6,8</code>
-    </p>
-
-    <hr />
-    <p>
-    (C) Copyright Neil Groves 2009
-    (C) Copyright Thorsten Ottosen 2003-2004
-    </p>
-
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    </body>
-</html>
-
=======================================
--- /trunk/libs/range/doc/reference/adaptors/indexed.html Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,117 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title>Boost.Range Range Adaptors </title>
-    <link rel="stylesheet" href="../style.css" type="text/css">
-</head>
-
-    <body>
-
-    <table border="0" >
-        <tr>
-            <td ><img src="../../../boost.png" border="0" /></td>
-            <td ><h1 align="center">Boost.Range </h1></td>
-        </tr>
-    </table>
-
-    <h2> Range Adaptors </h2>
-
-    <hr />
-    <a name="indexed"></a>
-    <h4><code>indexed</code></h4>
-    <blockquote>
-        <pre>rng | boost::adaptors::indexed</pre>
-        <pre>boost::make_indexed_range( rng )</pre>
-    </blockquote>
-    <ul>
-        <li>
-            <b>Returns:</b>
-            A range adapted to return both the element and the associated
-            index.
-            The returned range consists of iterators that have in addition
-            to the usual iterator member functions an
- <code>index()</code> member function that returns the appropriate
-            index for the element in the sequence corresponding with the
-            iterator.
-        </li>
-        <li>
-            <b>Range Category:</b>
-            SinglePassRange
-        </li>
-    </ul>
-    <hr />
-    <h3>Example</h3>
-    <pre>
- <span class="keyword">#include</span> &lt;boost/range/adaptor/indexed.hpp&gt; - <span class="keyword">#include</span> &lt;boost/range/algorithm/copy.hpp&gt;
-        <span class="keyword">#include</span> &lt;boost/assign.hpp&gt;
-        <span class="keyword">#include</span> &lt;algorithm&gt;
-        <span class="keyword">#include</span> &lt;iostream&gt;
-        <span class="keyword">#include</span> &lt;vector&gt;
-
- <span class="keyword">template</span>&lt;<span class="keyword">class</span> Iterator&gt;
-        void display_element_and_index(Iterator first, Iterator last)
-        {
- <span class="keyword">for</span> (Iterator it = first; it != last; ++it)
-            {
-                std::cout << "Element = " << *it
-                          << " Index = " << it.index() << std::endl;
-            }
-        }
-
- <span class="keyword">template</span>&lt;<span class="keyword">class</span> SinglePassRange&gt; - void display_element_and_index(<span class="keyword">const</span> SinglePassRange& rng)
-        {
-            display_element_and_index(boost::begin(rng), boost::end(rng));
-        }
-
- <span class="keyword">int</span> main(<span class="keyword">int</span> argc, <span class="keyword">const char</span>* argv[])
-        {
-            <span class="keyword">using namespace</span> boost::assign;
-            <span class="keyword">using namespace</span> boost::adaptors;
-
-            std::vector&lt;<span class="keyword">int</span>&gt; input;
-            input += 10,20,30,40,50,60,70,80,90;
-
-            display_element_and_index( input | indexed(0) );
-
-            <span class="keyword">return</span> 0;
-        }
-    </pre>
-    <p>
-        This produces the output: <br />
-        <code>
-        Element = 10 Index = 0 <br />
-        Element = 20 Index = 1 <br />
-        Element = 30 Index = 2 <br />
-        Element = 40 Index = 3 <br />
-        Element = 50 Index = 4 <br />
-        Element = 60 Index = 5 <br />
-        Element = 70 Index = 6 <br />
-        Element = 80 Index = 7 <br />
-        Element = 90 Index = 8 <br />
-        </code>
-    </p>
-    <hr />
-    <p>
-    (C) Copyright Neil Groves 2009
-    (C) Copyright Thorsten Ottosen 2003-2004
-    </p>
-
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    </body>
-</html>
-
=======================================
--- /trunk/libs/range/doc/reference/adaptors/indirected.html Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title>Boost.Range Range Adaptors </title>
-    <link rel="stylesheet" href="../style.css" type="text/css">
-</head>
-
-    <body>
-
-    <table border="0" >
-        <tr>
-            <td ><img src="../../../boost.png" border="0" /></td>
-            <td ><h1 align="center">Boost.Range </h1></td>
-        </tr>
-    </table>
-
-    <h2> Range Adaptors </h2>
-
-    <hr />
-    <a name="indirected"></a>
-    <h4><code>indirected</code></h4>
-    <blockquote>
-        <pre>rng | boost::adaptors::indirected</pre>
-        <pre>boost::make_indirected_range( rng )</pre>
-    </blockquote>
-    <ul>
-        <li>
-            <b>Precondition:</b>
- The value-type of the range defines unary <code>operator*()</code>
-        </li>
-        <li>
-            <b>Postcondition:</b>
-            For all elements <code>x</code> in the returned range,
-            <code>x</code> is the result of <code>*y</code> where
- <code>y</code> is the corresponding element in the original range.
-        </li>
-        <li>
-            <b>Range Category:</b>
-            SinglePassRange
-        </li>
-    </ul>
-
-    <hr />
-    <h3>Example</h3>
-    <pre>
- <span class="keyword">#include</span> &lt;boost/range/adaptor/indirected.hpp&gt; - <span class="keyword">#include</span> &lt;boost/range/algorithm/copy.hpp&gt;
-        <span class="keyword">#include</span> &lt;boost/shared_ptr.hpp&gt;
-        <span class="keyword">#include</span> &lt;algorithm&gt;
-        <span class="keyword">#include</span> &lt;iostream&gt;
-        <span class="keyword">#include</span> &lt;vector&gt;
-
- <span class="keyword">int</span> main(<span class="keyword">int</span> argc, <span class="keyword">const char</span>* argv[])
-        {
-            <span class="keyword">using namespace</span> boost::adaptors;
-
- std::vector&lt;boost::shared_ptr&lt;<span class="keyword">int</span>&gt; &gt; input;
-
- <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < 10; ++i) - input.push_back(boost::shared_ptr&lt;<span class="keyword">int</span>&gt;(<span class="keyword">new int</span>(i)));
-
-            boost::copy(
-                input | indirected,
- std::ostream_iterator&lt;<span class="keyword">int</span>&gt;(std::cout, ","));
-
-            <span class="keyword">return</span> 0;
-        }
-    </pre>
-    <p>
-        This produces the output: <br />
-        <code>0,1,2,3,4,5,6,7,8,9</code>
-    </p>
-    <hr />
-    <p>
-    (C) Copyright Neil Groves 2009
-    (C) Copyright Thorsten Ottosen 2003-2004
-    </p>
-
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    </body>
-</html>
-
=======================================
--- /trunk/libs/range/doc/reference/adaptors/map_keys.html Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,99 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title>Boost.Range Range Adaptors </title>
-    <link rel="stylesheet" href="../style.css" type="text/css">
-</head>
-
-    <body>
-
-    <table border="0" >
-        <tr>
-            <td ><img src="../../../boost.png" border="0" /></td>
-            <td ><h1 align="center">Boost.Range </h1></td>
-        </tr>
-    </table>
-
-    <h2> Range Adaptors </h2>
-
-    <hr />
-    <a name="map_keys"></a>
-    <h4><code>map_keys</code></h4>
-    <blockquote>
-        <pre>rng | boost::adaptors::map_keys</pre>
-        <pre>boost::make_map_key_range( rng )</pre>
-    </blockquote>
-    <ul>
-        <li>
-            <b>Precondition:</b>
-            The value-type of the range is an instantiation of std::pair.
-        </li>
-        <li>
-            <b>Postcondition:</b>
-            For all elements <code>x</code> in the returned range,
-            <code>x</code> is the result of <code>y.first</code> where
- <code>y</code> is the corresponding element in the original range.
-        </li>
-        <li>
-            <b>Range Category:</b>
-            SinglePassRange
-        </li>
-    </ul>
-
-    <hr />
-    <h3>Example</h3>
-    <pre>
- <span class="keyword">#include</span> &lt;boost/range/adaptor/map.hpp&gt; - <span class="keyword">#include</span> &lt;boost/range/algorithm/copy.hpp&gt;
-        <span class="keyword">#include</span> &lt;boost/assign.hpp&gt;
-        <span class="keyword">#include</span> &lt;algorithm&gt;
-        <span class="keyword">#include</span> &lt;iostream&gt;
-        <span class="keyword">#include</span> &lt;map&gt;
-        <span class="keyword">#include</span> &lt;vector&gt;
-
- <span class="keyword">int</span> main(<span class="keyword">int</span> argc, <span class="keyword">const char</span>* argv[])
-        {
-            <span class="keyword">using namespace</span> boost::assign;
-            <span class="keyword">using namespace</span> boost::adaptors;
-
- std::map&lt;<span class="keyword">int</span>,<span class="keyword">int</span>&gt; input; - <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < 10; ++i)
-                input.insert(std::make_pair(i, i * 10));
-
-            boost::copy(
-                input | map_keys,
- std::ostream_iterator&lt;<span class="keyword">int</span>&gt;(std::cout, ","));
-
-            <span class="keyword">return</span> 0;
-        }
-    </pre>
-    <p>
-        This produces the output: <br />
-        <code>
-        0,1,2,3,4,5,6,7,8,9
-        </code>
-    </p>
-
-    <hr />
-    <p>
-    (C) Copyright Neil Groves 2009
-    (C) Copyright Thorsten Ottosen 2003-2004
-    </p>
-
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    </body>
-</html>
-
=======================================
--- /trunk/libs/range/doc/reference/adaptors/map_values.html Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,98 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title>Boost.Range Range Adaptors </title>
-    <link rel="stylesheet" href="../style.css" type="text/css">
-</head>
-
-    <body>
-
-    <table border="0" >
-        <tr>
-            <td ><img src="../../../boost.png" border="0" /></td>
-            <td ><h1 align="center">Boost.Range </h1></td>
-        </tr>
-    </table>
-
-    <h2> Range Adaptors </h2>
-
-    <hr />
-    <a name="map_values"></a>
-    <h4><code>map_values</code></h4>
-    <blockquote>
-        <pre>rng | boost::adaptors::map_values</pre>
-        <pre>boost::make_map_value_range( rng )</pre>
-    </blockquote>
-    <ul>
-        <li>
-            <b>Precondition:</b>
-            The value-type of the range is an instantiation of std::pair.
-        </li>
-        <li>
-            <b>Postcondition:</b>
-            For all elements <code>x</code> in the returned range,
-            <code>x</code> is the result of <code>y.second</code> where
- <code>y</code> is the corresponding element in the original range.
-        </li>
-        <li>
-            <b>Range Category:</b>
-            SinglePassRange
-        </li>
-    </ul>
-    <hr />
-    <h3>Example</h3>
-    <pre>
- <span class="keyword">#include</span> &lt;boost/range/adaptor/map.hpp&gt; - <span class="keyword">#include</span> &lt;boost/range/algorithm/copy.hpp&gt;
-        <span class="keyword">#include</span> &lt;boost/assign.hpp&gt;
-        <span class="keyword">#include</span> &lt;algorithm&gt;
-        <span class="keyword">#include</span> &lt;iostream&gt;
-        <span class="keyword">#include</span> &lt;map&gt;
-        <span class="keyword">#include</span> &lt;vector&gt;
-
- <span class="keyword">int</span> main(<span class="keyword">int</span> argc, <span class="keyword">const char</span>* argv[])
-        {
-            <span class="keyword">using namespace</span> boost::assign;
-            <span class="keyword">using namespace</span> boost::adaptors;
-
- std::map&lt;<span class="keyword">int</span>,<span class="keyword">int</span>&gt; input; - <span class="keyword">for</span> (<span class="keyword">int</span> i = 0; i < 10; ++i)
-                input.insert(std::make_pair(i, i * 10));
-
-            boost::copy(
-                input | map_values,
- std::ostream_iterator&lt;<span class="keyword">int</span>&gt;(std::cout, ","));
-
-            <span class="keyword">return</span> 0;
-        }
-    </pre>
-    <p>
-        This produces the output: <br />
-        <code>
-        0,10,20,30,40,50,60,70,80,90
-        </code>
-    </p>
-
-    <hr />
-    <p>
-    (C) Copyright Neil Groves 2009
-    (C) Copyright Thorsten Ottosen 2003-2004
-    </p>
-
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    </body>
-</html>
-
=======================================
--- /trunk/libs/range/doc/reference/adaptors/replaced.html Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title>Boost.Range Range Adaptors </title>
-    <link rel="stylesheet" href="../style.css" type="text/css">
-</head>
-
-    <body>
-
-    <table border="0" >
-        <tr>
-            <td ><img src="../../../boost.png" border="0" /></td>
-            <td ><h1 align="center">Boost.Range </h1></td>
-        </tr>
-    </table>
-
-    <h2> Range Adaptors </h2>
-
-    <hr />
-    <a name="replaced"></a>
-    <h4><code>replaced</code></h4>
-    <blockquote>
-        <pre>rng | boost::adaptors::replaced( new_value, old_value )</pre>
-        <pre>boost::make_replaced_range( rng, new_value, old_value )</pre>
-    </blockquote>
-    <ul>
-        <li>
-            <b>Precondition:</b>
-            <ul>
-                <li>
- <code>new_value</code> is convertible to the value-type of
-                    the range.
-                </li>
-                <li>
- <code>old_value</code> is convertible to the value-type of
-                    the range.
-                </li>
-            </ul>
-        </li>
-        <li>
-            <b>Postcondition:</b>
- For all elements <code>x</code> in the returned range, the value
-            <code>x</code> is equal to the value of
-            <code>(y == old_value) ? new_value : y</code>
- where <code>y</code> is the corresponding element in the original
-            range.
-        </li>
-        <li>
-            <b>Range Category:</b>
-            ForwardRange
-        </li>
-    </ul>
-    <hr />
-    <h3>Example</h3>
-    <pre>
- <span class="keyword">#include</span> &lt;boost/range/adaptor/replaced.hpp&gt; - <span class="keyword">#include</span> &lt;boost/range/algorithm/copy.hpp&gt;
-        <span class="keyword">#include</span> &lt;boost/assign.hpp&gt;
-        <span class="keyword">#include</span> &lt;algorithm&gt;
-        <span class="keyword">#include</span> &lt;iostream&gt;
-        <span class="keyword">#include</span> &lt;vector&gt;
-
- <span class="keyword">int</span> main(<span class="keyword">int</span> argc, <span class="keyword">const char</span>* argv[])
-        {
-            <span class="keyword">using namespace</span> boost::adaptors;
-            <span class="keyword">using namespace</span> boost::assign;
-
-            std::vector&lt;<span class="keyword">int</span>&gt; input;
-            input += 1,2,3,2,5,2,7,2,9;
-
-            boost::copy(
-                input | replaced(2, 10),
- std::ostream_iterator&lt;<span class="keyword">int</span>&gt;(std::cout, ","));
-
-            <span class="keyword">return</span> 0;
-        }
-    </pre>
-    <p>
-    This produces the output: <br />
-    <code>
-    1,10,3,10,5,10,7,10,9
-    </code>
-    </p>
-
-    <hr />
-    <p>
-    (C) Copyright Neil Groves 2009
-    (C) Copyright Thorsten Ottosen 2003-2004
-    </p>
-
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    </body>
-</html>
-
=======================================
--- /trunk/libs/range/doc/reference/adaptors/replaced_if.html Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,114 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title>Boost.Range Range Adaptors </title>
-    <link rel="stylesheet" href="../style.css" type="text/css">
-</head>
-
-    <body>
-
-    <table border="0" >
-        <tr>
-            <td ><img src="../../../boost.png" border="0" /></td>
-            <td ><h1 align="center">Boost.Range </h1></td>
-        </tr>
-    </table>
-
-    <h2> Range Adaptors </h2>
-
-    <hr />
-    <a name="replaced_if"></a>
-    <h4><code>replaced_if</code></h4>
-    <blockquote>
-        <pre>rng | boost::adaptors::replaced_if( pred, new_value )</pre>
-        <pre>boost::make_replaced_if_range( rng, pred, new_value )</pre>
-    </blockquote>
-    <ul>
-        <li>
-            <b>Precondition:</b>
-            <ul>
-                <li>
- The range value-type is convertible to the argument type
-                    of <code>pred</code>.
-                </li>
-                <li>
-                    <code>new_value</code> is convertible to the value-type
-                    of the range.
-                </li>
-            </ul>
-        </li>
-        <li>
-            <b>Postconditions:</b>
- For all elements <code>[x]</code> in the returned range, the value
-            <code>x</code> is equal to the value of
-            <code>pred(y) ? new_value : y</code>
- where <code>y</code> is the corresponding element in the original
-            range.
-        </li>
-        <li>
-            <b>Range Category:</b>
-            ForwardRange
-        </li>
-    </ul>
-
-    <hr />
-    <h3>Example</h3>
-    <pre>
- <span class="keyword">#include</span> &lt;boost/range/adaptor/replaced_if.hpp&gt; - <span class="keyword">#include</span> &lt;boost/range/algorithm/copy.hpp&gt;
-        <span class="keyword">#include</span> &lt;boost/assign.hpp&gt;
-        <span class="keyword">#include</span> &lt;algorithm&gt;
-        <span class="keyword">#include</span> &lt;iostream&gt;
-        <span class="keyword">#include</span> &lt;vector&gt;
-
-        <span class="keyword">struct</span> is_even
-        {
- <span class="keyword">bool operator</span>()(<span class="keyword">int</span> x) <span class="keyword">const</span> { <span class="keyword">return</span> x % 2 == 0; }
-        };
-
- <span class="keyword">int</span> main(<span class="keyword">int</span> argc, <span class="keyword">const char</span>* argv[])
-        {
-            <span class="keyword">using namespace</span> boost::adaptors;
-            <span class="keyword">using namespace</span> boost::assign;
-
-            std::vector&lt;<span class="keyword">int</span>&gt; input;
-            input += 1,2,3,4,5,6,7,8,9;
-
-            boost::copy(
-                input | replaced_if(is_even(), 10),
- std::ostream_iterator&lt;<span class="keyword">int</span>&gt;(std::cout, ","));
-
-            <span class="keyword">return</span> 0;
-        }
-
-    </pre>
-    <p>
-        This produces the output: <br />
-        <code>
-        1,10,3,10,5,10,7,10,9
-        </code>
-    </p>
-
-    <hr />
-    <p>
-    (C) Copyright Neil Groves 2009
-    (C) Copyright Thorsten Ottosen 2003-2004
-    </p>
-
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    </body>
-</html>
-
=======================================
--- /trunk/libs/range/doc/reference/adaptors/reversed.html Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,91 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title>Boost.Range Range Adaptors </title>
-    <link rel="stylesheet" href="../style.css" type="text/css">
-</head>
-
-    <body>
-
-    <table border="0" >
-        <tr>
-            <td ><img src="../../../boost.png" border="0" /></td>
-            <td ><h1 align="center">Boost.Range </h1></td>
-        </tr>
-    </table>
-
-    <h2> Range Adaptors </h2>
-
-    <hr />
-    <a name="reversed"></a>
-    <h4><code>reversed</code></h4>
-    <blockquote>
-        <pre>rng | boost::adaptors::reversed</pre>
-        <pre>boost::make_reversed_range( rng )</pre>
-    </blockquote>
-    <ul>
-        <li>
-            <b>Returns:</b>
-            A range whose iterators behave as if they were the original
-            iterators wrapped in <code>reverse_iterator</code>.
-        </li>
-        <li>
-            <b>Range Category:</b>
-            BidirectionalRange
-        </li>
-    </ul>
-    <hr />
-    <h3>Example</h3>
-    <pre>
- <span class="keyword">#include</span> &lt;boost/range/adaptor/reversed.hpp&gt; - <span class="keyword">#include</span> &lt;boost/range/algorithm/copy.hpp&gt;
-        <span class="keyword">#include</span> &lt;boost/assign.hpp&gt;
-        <span class="keyword">#include</span> &lt;algorithm&gt;
-        <span class="keyword">#include</span> &lt;iostream&gt;
-        <span class="keyword">#include</span> &lt;vector&gt;
-
- <span class="keyword">int</span> main(<span class="keyword">int</span> argc, <span class="keyword">const char</span>* argv[])
-        {
-            <span class="keyword">using namespace</span> boost::adaptors;
-            <span class="keyword">using namespace</span> boost::assign;
-
-            std::vector&lt;<span class="keyword">int</span>&gt; input;
-            input += 1,2,3,4,5,6,7,8,9;
-
-            boost::copy(
-                input | reversed,
- std::ostream_iterator&lt;<span class="keyword">int</span>&gt;(std::cout, ","));
-
-            <span class="keyword">return</span> 0;
-        }
-    </pre>
-    <p>
-        This produces the output: <br />
-        <code>
-            9,8,7,6,5,4,3,2,1
-        </code>
-    </p>
-
-    <hr />
-    <p>
-    (C) Copyright Neil Groves 2009
-    (C) Copyright Thorsten Ottosen 2003-2004
-    </p>
-
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    </body>
-</html>
-
=======================================
--- /trunk/libs/range/doc/reference/adaptors/sliced.html Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title>Boost.Range Range Adaptors </title>
-    <link rel="stylesheet" href="../style.css" type="text/css">
-</head>
-
-    <body>
-
-    <table border="0" >
-        <tr>
-            <td ><img src="../../../boost.png" border="0" /></td>
-            <td ><h1 align="center">Boost.Range </h1></td>
-        </tr>
-    </table>
-
-    <h2> Range Adaptors </h2>
-
-    <hr />
-    <a name="sliced"></a>
-    <h4><code>sliced</code></h4>
-    <blockquote>
-        <pre>rng | boost::adaptors::sliced( n, m )</pre>
-        <pre>boost::make_sliced_range( rng, n, m )</pre>
-    </blockquote>
-    <ul>
-        <li>
-            <b>Precondition:</b>
-            <code>0 <= n && n <= m && m < distance(rng)</code>
-        </li>
-        <li>
-            <b>Returns:</b>
-            <code>make_range(rng, n, m)</code>
-        </li>
-        <li>
-            <b>Range Category:</b>
-            RandomAccessRange
-        </li>
-    </ul>
-    <hr />
-    <h3>Example</h3>
-    <pre>
- <span class="keyword">#include</span> &lt;boost/range/adaptor/sliced.hpp&gt; - <span class="keyword">#include</span> &lt;boost/range/algorithm/copy.hpp&gt;
-        <span class="keyword">#include</span> &lt;boost/assign.hpp&gt;
-        <span class="keyword">#include</span> &lt;algorithm&gt;
-        <span class="keyword">#include</span> &lt;iostream&gt;
-        <span class="keyword">#include</span> &lt;vector&gt;
-
- <span class="keyword">int</span> main(<span class="keyword">int</span> argc, <span class="keyword">const char</span>* argv[])
-        {
-            <span class="keyword">using namespace</span> boost::adaptors;
-            <span class="keyword">using namespace</span> boost::assign;
-
-            std::vector&lt;<span class="keyword">int</span>&gt; input;
-            input += 1,2,3,4,5,6,7,8,9;
-
-            boost::copy(
-                input | sliced(2, 5),
- std::ostream_iterator&lt;<span class="keyword">int</span>&gt;(std::cout, ","));
-
-            <span class="keyword">return</span> 0;
-        }
-    </pre>
-    <p>
-        This produces the output: <br />
-        <code>
-            3,4,5
-        </code>
-    </p>
-
-    <hr />
-    <p>
-    (C) Copyright Neil Groves 2009
-    (C) Copyright Thorsten Ottosen 2003-2004
-    </p>
-
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    </body>
-</html>
-
=======================================
--- /trunk/libs/range/doc/reference/adaptors/strided.html Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,94 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title>Boost.Range Range Adaptors </title>
-    <link rel="stylesheet" href="../style.css" type="text/css">
-</head>
-
-    <body>
-
-    <table border="0" >
-        <tr>
-            <td ><img src="../../../boost.png" border="0" /></td>
-            <td ><h1 align="center">Boost.Range </h1></td>
-        </tr>
-    </table>
-
-    <h2> Range Adaptors </h2>
-
-    <hr />
-    <a name="strided"></a>
-    <h4><code>strided</code></h4>
-    <blockquote>
-        <pre>rng | boost::adaptors::strided( n )</pre>
-        <pre>boost::make_strided_range( rng, n )</pre>
-    </blockquote>
-    <ul>
-        <li>
-            <b>Precondition:</b>
-            <code>0 <= n && n &lt;= distance(rng)</code>
-        </li>
-        <li>
-            <b>Returns:</b>
- A new range based on <code>rng</code> where traversal is performed in steps of <code>n</code>.
-        </li>
-        <li>
-            <b>Range Category:</b>
-            RandomAccessRange
-        </li>
-    </ul>
-    <hr />
-    <h3>Example</h3>
-    <pre>
- <span class="keyword">#include</span> &lt;boost/range/adaptor/strided.hpp&gt; - <span class="keyword">#include</span> &lt;boost/range/algorithm/copy.hpp&gt;
-        <span class="keyword">#include</span> &lt;boost/assign.hpp&gt;
-        <span class="keyword">#include</span> &lt;algorithm&gt;
-        <span class="keyword">#include</span> &lt;iostream&gt;
-        <span class="keyword">#include</span> &lt;vector&gt;
-
- <span class="keyword">int</span> main(<span class="keyword">int</span> argc, <span class="keyword">const char</span>* argv[])
-        {
-            <span class="keyword">using namespace</span> boost::adaptors;
-            <span class="keyword">using namespace</span> boost::assign;
-
-            std::vector&lt;<span class="keyword">int</span>&gt; input;
-            input += 1,2,3,4,5,6,7,8,9,10;
-
-            boost::copy(
-                input | strided(2),
- std::ostream_iterator&lt;<span class="keyword">int</span>&gt;(std::cout, ","));
-
-            <span class="keyword">return</span> 0;
-        }
-    </pre>
-    <p>
-        This produces the output:
-        <code>
-            1,3,5,7,9
-        </code>
-    </p>
-
-    <hr />
-    <p>
-    (C) Copyright Neil Groves 2009
-    (C) Copyright Thorsten Ottosen 2003-2004
-    </p>
-
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    </body>
-</html>
-
=======================================
--- /trunk/libs/range/doc/reference/adaptors/tokenized.html Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,118 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title>Boost.Range Range Adaptors </title>
-    <link rel="stylesheet" href="../style.css" type="text/css">
-</head>
-
-    <body>
-
-    <table border="0" >
-        <tr>
-            <td ><img src="../../../boost.png" border="0" /></td>
-            <td ><h1 align="center">Boost.Range </h1></td>
-        </tr>
-    </table>
-
-    <h2> Range Adaptors </h2>
-
-    <hr />
-    <a name="tokenized"></a>
-    <h4><code>tokenized</code></h4>
-    <blockquote>
-        <pre>rng | boost::adaptors::tokenized( regex )</pre>
-        <pre>rng | boost::adaptors::tokenized( regex, i )</pre>
-        <pre>rng | boost::adaptors::tokenized( regex, rndRng )</pre>
-        <pre>rng | boost::adaptors::tokenized( regex, i, flags )</pre>
-        <pre>rng | boost::adaptors::tokenized( regex, rndRng, flags )</pre>
-        <pre>boost::make_tokenized_range( rng, regex, i, flags )</pre>
-        <pre>boost::make_tokenized_range( rng, regex, rngRng, flags )</pre>
-    </blockquote>
-    <ul>
-        <li>
-            <b>Precondition:</b>
-            <ul>
-                <li>
-                    Let <code>T</code> denote
- <code>typename range_value< decltype(rng)
::type</code>,
-                    then <code>regex</code> has the type
-                    <code>basic_regex&lt;T&gt;</code> or is
-                    implicitly convertible to one of these types.
-                </li>
-                <li>
-                    <code>i</code> has the type <code>int</code>.
-                </li>
-                <li>
- the value-type of <code>rndRng</code> is <code>int</code>.
-                </li>
-                <li>
-                    <code>flags</code> has the type
-                    <code>regex_constants::syntax_option_type</code>.
-                </li>
-            </ul>
-        </li>
-        <li>
-            <b>Returns:</b>
-            A range whose iterators behave as if they were the
- original iterators wrapped in <code>regex_token_iterator</code>.
-            The first iterator in the range would be constructed by
-            forwarding all the arguments of <code>tokenized()</code> to the
-            <code>regex_token_iterator</code> constructor.
-        </li>
-        <li>
-            <b>Throws:</b>
-            Whatever constructing and copying equivalent
-            <code>regex_token_iterator</code>s might throw.
-        </li>
-        <li>
-            <b>Range Category:</b>
-            RandomAccessRange
-        </li>
-    </ul>
-    <hr />
-    <h3>Example</h3>
-    <pre>
- <span class="keyword">#include</span> &lt;boost/range/adaptor/tokenized.hpp&gt; - <span class="keyword">#include</span> &lt;boost/range/algorithm_ext/push_back.hpp&gt;
-        <span class="keyword">#include</span> &lt;boost/assert.hpp&gt;
-        <span class="keyword">#include</span> &lt;algorithm&gt;
-        <span class="keyword">#include</span> &lt;string&gt;
-        <span class="keyword">#include</span> &lt;vector&gt;
-
- <span class="keyword">int</span> main(<span class="keyword">int</span> argc, <span class="keyword">const char</span>* argv)
-        {
-            <span class="keyword">using namespace</span> boost::adaptors;
-
-            std::string input = "a b c d e f g hijklmnopqrstuvwxyz";
- std::vector< boost::sub_match< std::string::iterator > > result; - boost::push_back(result, input | tokenized(boost::regex("\\b")));
-
-            BOOST_ASSERT( boost::size(result) == 16u );
-
-            <span class="keyword">return</span> 0;
-        }
-    </pre>
-
-    <hr />
-    <p>
-    (C) Copyright Neil Groves 2009
-    (C) Copyright Thorsten Ottosen 2003-2004
-    </p>
-
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    </body>
-</html>
-
=======================================
--- /trunk/libs/range/doc/reference/adaptors/transformed.html Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,107 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title>Boost.Range Range Adaptors </title>
-    <link rel="stylesheet" href="../style.css" type="text/css">
-</head>
-
-    <body>
-
-    <table border="0" >
-        <tr>
-            <td ><img src="../../../boost.png" border="0" /></td>
-            <td ><h1 align="center">Boost.Range </h1></td>
-        </tr>
-    </table>
-
-    <h2> Range Adaptors </h2>
-
-    <hr />
-    <a name="transformed"></a>
-    <h4><code>transformed</code></h4>
-    <blockquote>
-        <pre>rng | boost::adaptors::transformed( fun )</pre>
-        <pre>boost::make_transformed_range( rng, fun )</pre>
-    </blockquote>
-    <ul>
-        <li>
-            <b>Precondition:</b>
-            The value-type of the range is convertible to the argument type
-            of fun.
-        </li>
-        <li>
-            <b>Postcondition:</b>
-            For all elements <code>x</code> in the returned range,
-            <code>x</code> is the result of <code>fun(y)</code> where
- <code>y</code> is the corresponding element in the original range.
-        </li>
-        <li>
-            <b>Throws:</b>
-            Whatever the copy-constructor of <code>fun</code> might throw.
-        </li>
-        <li>
-            <b>Range Category:</b>
-            SinglePassRange
-        </li>
-    </ul>
-    <hr />
-    <h3>Example</h3>
-    <pre>
- <span class="keyword">#include</span> &lt;boost/range/adaptor/transformed.hpp&gt; - <span class="keyword">#include</span> &lt;boost/range/algorithm/copy.hpp&gt; - <span class="keyword">#include</span> &lt;boost/range/assign.hpp&gt;
-        <span class="keyword">#include</span> &lt;algorithm&gt;
-        <span class="keyword">#include</span> &lt;iostream&gt;
-        <span class="keyword">#include</span> &lt;vector&gt;
-
-        <span class="keyword">struct</span> double_int
-        {
-            <span class="keyword">typedef int</span> result_type;
- <span class="keyword">int operator</span>()(<span class="keyword">int</span> x) <span class="keyword">const</span> { <span class="keyword">return</span> x * 2; }
-        };
-
- <span class="keyword">int</span> main(<span class="keyword">int</span> argc, <span class="keyword">const char</span>* argv[])
-        {
-            <span class="keyword">using namespace</span> boost::adaptors;
-            <span class="keyword">using namespace</span> boost::assign;
-
-            std::vector&lt;<span class="keyword">int</span>&gt; input;
-            input += 1,2,3,4,5,6,7,8,9,10;
-
-            boost::copy(
-                input | transformed(double_int()),
-                std::ostream_iterator&lt;int&gt;(std::cout, ","));
-
-            <span class="keyword">return</span> 0;
-        }
-    </pre>
-    <p>
-        This produces the output: <br />
-        <code>
-            2,4,6,8,10,12,14,16,18,20
-        </code>
-    </p>
-
-    <hr />
-    <p>
-    (C) Copyright Neil Groves 2009
-    (C) Copyright Thorsten Ottosen 2003-2004
-    </p>
-
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    </body>
-</html>
-
=======================================
--- /trunk/libs/range/doc/reference/adaptors/uniqued.html Mon May 31 00:54:22 2010
+++ /dev/null
@@ -1,95 +0,0 @@
-<!DOCTYPE HTML PUBLIC "-//W3C//DTD HTML 3.2//EN">
-
-<html>
-<head>
- <meta http-equiv="Content-Type" content="text/html; charset=ISO-8859-1">
-    <title>Boost.Range Range Adaptors </title>
-    <link rel="stylesheet" href="../style.css" type="text/css">
-</head>
-
-    <body>
-
-    <table border="0" >
-        <tr>
-            <td ><img src="../../../boost.png" border="0" /></td>
-            <td ><h1 align="center">Boost.Range </h1></td>
-        </tr>
-    </table>
-
-    <h2> Range Adaptors </h2>
-
-    <hr />
-    <a name="uniqued"></a>
-    <h4><code>uniqued</code></h4>
-    <blockquote>
-        <pre>rng | boost::adaptors::uniqued</pre>
-        <pre>boost::make_uniqued_range( rng )</pre>
-    </blockquote>
-    <ul>
-        <li>
-            <b>Precondition:</b>
-            The value-type of the range is comparable with
-            <code>operator==()</code>.
-        </li>
-        <li>
-            <b>Postcondition:</b>
- For all adjacent elements <code>[x,y]</code> in the returned range,
-            <code>x==y</code> is false.
-        </li>
-        <li>
-            <b>Range Category:</b>
-            ForwardRange
-        </li>
-    </ul>
-
-    <hr />
-    <h3>Example</h3>
-
-    <pre>
-    #include &lt;boost/range/adaptor/uniqued.hpp&gt;
-    #include &lt;boost/range/algorithm/copy.hpp&gt;
-    #include &lt;boost/assign.hpp&gt;
-    #include &lt;algorithm&gt;
-    #include &lt;iostream&gt;
-    #include &lt;vector&gt;
-
-    int main(int argc, const char* argv)
-    {
-        using namespace boost::assign;
-        using namespace boost::adaptors;
-
-        std::vector&lt;int&gt; input;
-       input += 1,1,2,2,2,3,4,5,6;
-
-       boost::copy(
-           input | uniqued,
-            std::ostream_iterator&lt;int&gt;(std::cout, ",") );
-
-        return 0;
-    }
-   </pre>
-   <p>
-        This would produce the output:<br />
-        <code>1,2,3,4,5,6</code><br />
-    </p>
-    <hr />
-    <p>
-    (C) Copyright Neil Groves 2009
-    (C) Copyright Thorsten Ottosen 2003-2004
-    </p>
-
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    <br />
-    </body>
-</html>
-
=======================================
--- /trunk/libs/random/src/random_device.cpp    Mon May 31 00:54:22 2010
+++ /trunk/libs/random/src/random_device.cpp    Wed Sep  1 05:47:13 2010
@@ -6,7 +6,7 @@
  * accompanying file LICENSE_1_0.txt or copy at
  * http://www.boost.org/LICENSE_1_0.txt)
  *
- * $Id: random_device.cpp 60755 2010-03-22 00:45:06Z steven_watanabe $
+ * $Id: random_device.cpp 62347 2010-05-31 16:44:36Z steven_watanabe $
  *
  */

@@ -17,7 +17,7 @@
 #include <cassert>


-#ifndef BOOST_NO_INCLASS_MEMBER_INITIALIZATION
+#if defined(BOOST_NO_INCLASS_MEMBER_INITIALIZATION) && !BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1600))
 //  A definition is required even for integral static constants
 const bool boost::random_device::has_fixed_range;
 const boost::random_device::result_type boost::random_device::min_value;
@@ -31,7 +31,30 @@
 #include <wincrypt.h>
 #include <stdexcept>  // std::invalid_argument

-#pragma comment(lib, "Advapi32.lib")
+#define BOOST_AUTO_LINK_NOMANGLE
+#define BOOST_LIB_NAME "Advapi32"
+#include <boost/config/auto_link.hpp>
+
+#ifdef __MINGW32__
+
+extern "C" {
+
+// mingw's wincrypt.h appears to be missing some things
+WINADVAPI
+BOOL
+WINAPI
+CryptEnumProvidersA(
+    DWORD dwIndex,
+    DWORD *pdwReserved,
+    DWORD dwFlags,
+    DWORD *pdwProvType,
+    LPSTR szProvName,
+    DWORD *pcbProvName
+    );
+
+}
+
+#endif

BOOST_RANDOM_DECL const char * const boost::random_device::default_token = MS_DEF_PROV_A;

@@ -77,7 +100,6 @@

 private:
   void error(const std::string & msg) {
-    DWORD error_code = GetLastError();
     char buf[80];
     DWORD num = FormatMessageA(
       FORMAT_MESSAGE_FROM_SYSTEM | FORMAT_MESSAGE_IGNORE_INSERTS,
=======================================
--- /trunk/libs/random/test/Jamfile.v2  Mon May 31 00:54:22 2010
+++ /trunk/libs/random/test/Jamfile.v2  Wed Sep  1 05:47:13 2010
@@ -13,6 +13,8 @@
 run random_test.cpp ;
 run ../example/random_demo.cpp ;
 run validate.cpp ;
+run test_random_device.cpp /boost//random : : : <link>static : test_random_device ; +run test_random_device.cpp /boost//random : : : <link>shared : test_random_device_dll ;

 local all-urngs =
     rand48
=======================================
--- /trunk/libs/range/doc/Jamfile.v2    Mon May 31 00:54:22 2010
+++ /trunk/libs/range/doc/Jamfile.v2    Wed Sep  1 05:47:13 2010
@@ -19,8 +19,6 @@
     boost_range.qbk
   :
     <xsl:param>boost.root=../../../..
-    <xsl:param>boost.libraries=../../../libraries.htm
-    <xsl:param>html.stylesheet=../../../../doc/html/boostbook.css
     <xsl:param>chunk.section.depth=4
     <xsl:param>chunk.first.sections=1
     <xsl:param>toc.section.depth=3
=======================================
--- /trunk/libs/range/doc/concepts.qbk  Tue Jun 22 21:13:43 2010
+++ /trunk/libs/range/doc/concepts.qbk  Wed Sep  1 05:47:13 2010
@@ -19,13 +19,13 @@
Because of the second requirement, a Range object must be passed by (const or non-const) reference in generic code.\n
 由于第二个要求,区间对象必须以(常量或非常量)引用的方式传入泛型代码。

-The operations that can be performed on a Range is dependent on the [@../../iterator/doc/new-iter-concepts.html#iterator-traversal-concepts-lib-iterator-traversal traversal category] of the underlying iterator type. Therefore the range concepts are named to reflect which traversal category its iterators support. See also terminology and style guidelines. for more information about naming of ranges.\n +The operations that can be performed on a Range is dependent on the [@boost:/libs/iterator/doc/new-iter-concepts.html#iterator-traversal-concepts-lib-iterator-traversal traversal category] of the underlying iterator type. Therefore the range concepts are named to reflect which traversal category its iterators support. See also terminology and style guidelines. for more information about naming of ranges.\n
 一个区间上可以执行的操作取决于其底层迭代器类型的
-[@../../iterator/doc/new-iter-concepts.html#iterator-traversal-concepts-lib-iterator-traversal 历类别]。 +[@boost:/libs/iterator/doc/new-iter-concepts.html#iterator-traversal-concepts-lib-iterator-traversal 历类别]。 因此区间概念的命名正是反映了其迭代器所支持的遍历类别。有关区间命名的更多信 息请见 术语及风格 一节。

-The concepts described below specifies associated types as [@../../libs/mpl/doc/refmanual/metafunction.html metafunctions] and all functions as free-standing functions to allow for a layer of indirection.\n -下述概念以 [@../../libs/mpl/doc/refmanual/metafunction.html 元函数] 的方式 给出关联类型,而且所有函数都是独立函数,以用于间接层。 +The concepts described below specifies associated types as [@boost:/libs/mpl/doc/refmanual/metafunction.html metafunctions] and all functions as free-standing functions to allow for a layer of indirection.\n +下述概念以 [@boost:/libs/mpl/doc/refmanual/metafunction.html 元函数] 的方式 给出关联类型,而且所有函数都是独立函数,以用于间接层。

 [endsect]

@@ -265,8 +265,8 @@

 [section:concept_checking Concept Checking 概念检查]

-Each of the range concepts has a corresponding concept checking class in the file [@../../boost/range/concepts.hpp `<boost/range/concepts.hpp>`]. These classes may be used in conjunction with the __concept_check__ to ensure that the type of a template parameter is compatible with a range concept. If not, a meaningful compile time error is generated. Checks are provided for the range concepts related to iterator traversal categories. For example, the following line checks that the type `T` models the __forward_range__ concept.\n -每一个区间概念都有一个对应的概念检查类在 [@../../boost/range/concepts.hpp `<boost/range/concepts.hpp>`] 中。 +Each of the range concepts has a corresponding concept checking class in the file [@boost:/boost/range/concepts.hpp `<boost/range/concepts.hpp>`]. These classes may be used in conjunction with the __concept_check__ to ensure that the type of a template parameter is compatible with a range concept. If not, a meaningful compile time error is generated. Checks are provided for the range concepts related to iterator traversal categories. For example, the following line checks that the type `T` models the __forward_range__ concept.\n +每一个区间概念都有一个对应的概念检查类在 [@boost:/boost/range/concepts.hpp `<boost/range/concepts.hpp>`] 中。 这些类可以和 __concept_check__ 一起使用,以确保模板参数的类型兼容于某个区间 概念。如果不兼容,则产生一个编译期错误。 为区间概念所提供的检查是关于迭代器遍历类别的。例如,下面这行代码检查类型 `T` 是否符合 __forward_range__ 的概念。

=======================================
--- /trunk/libs/range/doc/history_ack.qbk       Tue Jun 22 21:13:43 2010
+++ /trunk/libs/range/doc/history_ack.qbk       Wed Sep  1 05:47:13 2010
@@ -26,11 +26,18 @@
 There were an enormous number of very significant contributors through all
 stages of this library.

+Prior to Boost.RangeEx there had been a number of Range library implementations,
+these include library implementations by Eric Niebler, Adobe,
+Shunsuke Sogame etc. Eric Niebler contributed the Range Adaptor idea which is +arguably the single biggest innovation in this library. Inevitably a great deal +of commonality evolved in each of these libraries, but a considerable amount
+of effort was expended to learn from all of the divergent techniques.
+
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
+* Eric Niebler:     early implementation, and review feedback
 * Joel de Guzman:   review
 * Mathias Gaunard:  review
 * David Abrahams:   implementation advice
=======================================
--- /trunk/libs/range/doc/html/index.html       Tue Jun 22 21:13:43 2010
+++ /trunk/libs/range/doc/html/index.html       Wed Sep  1 05:47:13 2010
@@ -2,23 +2,23 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Chapter&#160;1.&#160;Range 2.0</title>
-<link rel="stylesheet" href="../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="index.html" title="Chapter&#160;1.&#160;Range 2.0">
+<link rel="stylesheet" href="../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="index.html" title="Chapter&#160;1.&#160;Range 2.0">
<link rel="next" href="range/introduction.html" title="Introduction &#31616;&#20171;">
 </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"><a href="../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../../more/index.htm">More</a></td>
 </tr></table>
 <hr>
-<div class="spirit-nav"><a accesskey="n" href="range/introduction.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div>
-<div class="chapter" lang="en">
+<div class="spirit-nav"><a accesskey="n" href="range/introduction.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
+<div class="chapter">
 <div class="titlepage"><div>
 <div><h2 class="title">
 <a name="range"></a>Chapter&#160;1.&#160;Range 2.0</h2></div>
@@ -30,7 +30,7 @@
 </h3></div></div>
<div><p class="copyright">Copyright &#169; 2003 -2010 Thorsten Ottosen, Neil Groves</p></div>
 <div><div class="legalnotice">
-<a name="id4850304"></a><p>
+<a name="id5086955"></a><p>
Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at <a href="http://www.boost.org/LICENSE_1_0.txt"; target="_top">http://www.boost.org/LICENSE_1_0.txt</a>)
       </p>
@@ -151,10 +151,10 @@
   </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: June 23, 2010 at 03:11:25 GMT</small></p></td> +<td align="left"><p><small>Last revised: August 31, 2010 at 02:55:30 GMT</small></p></td>
 <td align="right"><div class="copyright-footer"></div></td>
 </tr></table>
 <hr>
-<div class="spirit-nav"><a accesskey="n" href="range/introduction.html"><img src="../../../../doc/html/images/next.png" alt="Next"></a></div> +<div class="spirit-nav"><a accesskey="n" href="range/introduction.html"><img src="../../../../doc/src/images/next.png" alt="Next"></a></div>
 </body>
 </html>
=======================================
--- /trunk/libs/range/doc/html/range/concepts/bidirectional_range.html Tue Jun 22 21:13:43 2010 +++ /trunk/libs/range/doc/html/range/concepts/bidirectional_range.html Wed Sep 1 05:47:13 2010
@@ -2,9 +2,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Bidirectional Range &#21452;&#21521;&#21306;&#38388;</title>
-<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> <link rel="up" href="../concepts.html" title="Range Concepts Range&#27010;&#24565;"> <link rel="prev" href="forward_range.html" title="Forward Range &#21069;&#21521;&#21306;&#38388;"> <link rel="next" href="random_access_range.html" title="Random Access Range &#38543;&#26426;&#35775;&#38382;&#21306;&#38388;">
@@ -13,22 +13,22 @@
 <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"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../../../../more/index.htm">More</a></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="forward_range.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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_access_range.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="forward_range.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="random_access_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
<a name="range.concepts.bidirectional_range"></a><a class="link" href="bidirectional_range.html" title="Bidirectional Range &#21452;&#21521;&#21306;&#38388;"> Bidirectional Range
       &#21452;&#21521;&#21306;&#38388;</a>
 </h3></div></div></div>
 <a name="range.concepts.bidirectional_range.notation_______"></a><h5>
-<a name="id4861576"></a>
+<a name="id5097012"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.notation_______">Notation
         &#31526;&#21495;</a>
       </h5>
@@ -68,7 +68,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.bidirectional_range.description_______"></a><h5>
-<a name="id4861688"></a>
+<a name="id5097124"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.description_______">Description
         &#35828;&#26126;</a>
       </h5>
@@ -81,7 +81,7 @@
Traversal Iterator</a> &#30340;&#25152;&#26377;&#35201;&#27714;&#12290;
       </p>
<a name="range.concepts.bidirectional_range.refinement_of__________"></a><h5>
-<a name="id4861805"></a>
+<a name="id5097242"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.refinement_of__________">Refinement
         of &#24378;&#21270;&#33258;</a>
       </h5>
@@ -89,7 +89,7 @@
<a class="link" href="forward_range.html" title="Forward Range &#21069;&#21521;&#21306;&#38388;">Forward Range</a>
       </p>
<a name="range.concepts.bidirectional_range.associated_types_____________"></a><h5>
-<a name="id4861836"></a>
+<a name="id5097272"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.associated_types_____________">Associated
         types &#20851;&#32852;&#31867;&#22411;</a>
       </h5>
@@ -142,7 +142,7 @@
 </tbody>
 </table></div>
<a name="range.concepts.bidirectional_range.valid_expressions________________"></a><h5>
-<a name="id4862026"></a>
+<a name="id5097462"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.valid_expressions________________">Valid
         expressions &#26377;&#25928;&#34920;&#36798;&#24335;</a>
       </h5>
@@ -227,7 +227,7 @@
 </tbody>
 </table></div>
<a name="range.concepts.bidirectional_range.complexity_guarantees________________"></a><h5>
-<a name="id4862648"></a>
+<a name="id5098084"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.complexity_guarantees________________">Complexity
         guarantees &#22797;&#26434;&#24230;&#20445;&#35777;</a>
       </h5>
@@ -241,7 +241,7 @@
&#21017;&#20855;&#26377;&#19982; <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code> &#30456;&#21516;&#30340;&#22797;&#26434;&#24230;&#12290;
       </p>
 <a name="range.concepts.bidirectional_range.invariants__________"></a><h5>
-<a name="id4862930"></a>
+<a name="id5098366"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.invariants__________">Invariants
         &#19981;&#21464;&#24335;</a>
       </h5>
@@ -286,7 +286,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.bidirectional_range.see_also_______"></a><h5>
-<a name="id4863400"></a>
+<a name="id5098837"></a>
<a class="link" href="bidirectional_range.html#range.concepts.bidirectional_range.see_also_______">See also
         &#21442;&#35265;</a>
       </h5>
@@ -309,7 +309,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="forward_range.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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_access_range.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="forward_range.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="random_access_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
=======================================
--- /trunk/libs/range/doc/html/range/concepts/concept_checking.html Tue Jun 22 21:13:43 2010 +++ /trunk/libs/range/doc/html/range/concepts/concept_checking.html Wed Sep 1 05:47:13 2010
@@ -2,9 +2,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Concept Checking &#27010;&#24565;&#26816;&#26597;</title>
-<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> <link rel="up" href="../concepts.html" title="Range Concepts Range&#27010;&#24565;"> <link rel="prev" href="random_access_range.html" title="Random Access Range &#38543;&#26426;&#35775;&#38382;&#21306;&#38388;"> <link rel="next" href="../reference.html" title="Reference &#21442;&#32771;&#25163;&#20876;">
@@ -13,22 +13,22 @@
 <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"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../../../../more/index.htm">More</a></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="random_access_range.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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> +<a accesskey="p" href="random_access_range.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
<a name="range.concepts.concept_checking"></a><a class="link" href="concept_checking.html" title="Concept Checking &#27010;&#24565;&#26816;&#26597;"> Concept Checking &#27010;&#24565;&#26816;&#26597;</a>
 </h3></div></div></div>
 <p>
Each of the range concepts has a corresponding concept checking class in - the file <a href="../../../../boost/range/concepts.hpp" target="_top"><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></a>. + the file <a href="../../../../../../boost/range/concepts.hpp" target="_top"><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></a>. These classes may be used in conjunction with the <a href="../../../../../../libs/concept_check/index.html" target="_top">Boost Concept Check library</a> to ensure that the type of a template parameter is compatible with a range concept. If not, a meaningful compile time error
@@ -36,7 +36,7 @@
traversal categories. For example, the following line checks that the type <code class="computeroutput"><span class="identifier">T</span></code> models the <a class="link" href="forward_range.html" title="Forward Range &#21069;&#21521;&#21306;&#38388;">Forward Range</a> concept.<br> &#27599;&#19968;&#20010;&#21306;&#38388;&#27010;&#24565;&#37117;&#26377;&#19968;&#20010;&#23545;&#24212;&#30340;&#27010;&#24565;&#26816;&#26597;&#31867;&#22312; - <a href="../../../../boost/range/concepts.hpp" target="_top"><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></a> + <a href="../../../../../../boost/range/concepts.hpp" target="_top"><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></a> &#20013;&#12290; &#36825;&#20123;&#31867;&#21487;&#20197;&#21644; <a href="../../../../../../libs/concept_check/index.html" target="_top">Boost Concept Check library</a> &#19968;&#36215;&#20351;&#29992;&#65292;&#20197;&#30830;&#20445;&#27169;&#26495;&#21442;&#25968;&#30340;&#31867;&#22411;&#20860;&#23481;&#20110;&#26576;&#20010;&#21306;&#38388;&#27010;&#24565;&#12290;&#22914;&#26524;&#19981;&#20860;&#23481;&#65292;&#21017;&#20135;&#29983;&#19968;&#20010;&#32534;&#35793;&#26399;&#38169;&#35823;&#12290; &#20026;&#21306;&#38388;&#27010;&#24565;&#25152;&#25552;&#20379;&#30340;&#26816;&#26597;&#26159;&#20851;&#20110;&#36845;&#20195;&#22120;&#36941;&#21382;&#31867;&#21035;&#30340;&#12290;&#20363;&#22914;&#65292;&#19979;&#38754;&#36825;&#34892;&#20195;&#30721;&#26816;&#26597;&#31867;&#22411;
@@ -66,29 +66,29 @@
 <p>
The following range concept checking classes are provided.<br> &#26412;&#24211;&#25552;&#20379;&#20102;&#20197;&#19979;&#21306;&#38388;&#27010;&#24565;&#26816;&#26597;&#31867;&#65306;
       </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
- Class SinglePassRangeConcept checks for <a class="link" href="single_pass_range.html" title="Single Pass Range &#21333;&#36941;&#21306;&#38388;">Single - Pass Range</a><br> &#31867; SinglePassRangeConcept &#29992;&#20110;&#26816;&#26597; <a class="link" href="single_pass_range.html" title="Single Pass Range &#21333;&#36941;&#21306;&#38388;">Single
-          Pass Range</a>
-</li>
-<li>
- Class ForwardRangeConcept checks for <a class="link" href="forward_range.html" title="Forward Range &#21069;&#21521;&#21306;&#38388;">Forward - Range</a><br> &#31867; ForwardRangeConcept &#29992;&#20110;&#26816;&#26597; <a class="link" href="forward_range.html" title="Forward Range &#21069;&#21521;&#21306;&#38388;">Forward
-          Range</a>
-</li>
-<li>
- Class BidirectionalRangeConcept checks for <a class="link" href="bidirectional_range.html" title="Bidirectional Range &#21452;&#21521;&#21306;&#38388;">Bidirectional - Range</a><br> &#31867; BidirectionalRangeConcept &#29992;&#20110;&#26816;&#26597; <a class="link" href="bidirectional_range.html" title="Bidirectional Range &#21452;&#21521;&#21306;&#38388;">Bidirectional
-          Range</a>
-</li>
-<li>
- Class RandomAccessRangeConcept checks for <a class="link" href="random_access_range.html" title="Random Access Range &#38543;&#26426;&#35775;&#38382;&#21306;&#38388;">Random - Access Range</a><br> &#31867; RandomAccessRangeConcept &#29992;&#20110;&#26816;&#26597; <a class="link" href="random_access_range.html" title="Random Access Range &#38543;&#26426;&#35775;&#38382;&#21306;&#38388;">Random Access Range</a>
-</li>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ Class SinglePassRangeConcept checks for <a class="link" href="single_pass_range.html" title="Single Pass Range &#21333;&#36941;&#21306;&#38388;">Single + Pass Range</a><br> &#31867; SinglePassRangeConcept &#29992;&#20110;&#26816;&#26597; <a class="link" href="single_pass_range.html" title="Single Pass Range &#21333;&#36941;&#21306;&#38388;">Single Pass Range</a>
+          </li>
+<li class="listitem">
+ Class ForwardRangeConcept checks for <a class="link" href="forward_range.html" title="Forward Range &#21069;&#21521;&#21306;&#38388;">Forward + Range</a><br> &#31867; ForwardRangeConcept &#29992;&#20110;&#26816;&#26597; <a class="link" href="forward_range.html" title="Forward Range &#21069;&#21521;&#21306;&#38388;">Forward
+            Range</a>
+          </li>
+<li class="listitem">
+ Class BidirectionalRangeConcept checks for <a class="link" href="bidirectional_range.html" title="Bidirectional Range &#21452;&#21521;&#21306;&#38388;">Bidirectional + Range</a><br> &#31867; BidirectionalRangeConcept &#29992;&#20110;&#26816;&#26597; <a class="link" href="bidirectional_range.html" title="Bidirectional Range &#21452;&#21521;&#21306;&#38388;">Bidirectional
+            Range</a>
+          </li>
+<li class="listitem">
+ Class RandomAccessRangeConcept checks for <a class="link" href="random_access_range.html" title="Random Access Range &#38543;&#26426;&#35775;&#38382;&#21306;&#38388;">Random + Access Range</a><br> &#31867; RandomAccessRangeConcept &#29992;&#20110;&#26816;&#26597; + <a class="link" href="random_access_range.html" title="Random Access Range &#38543;&#26426;&#35775;&#38382;&#21306;&#38388;">Random Access Range</a>
+          </li>
 </ul></div>
 <a name="range.concepts.concept_checking.see_also_______"></a><h5>
-<a name="id4864834"></a>
+<a name="id5100280"></a>
<a class="link" href="concept_checking.html#range.concepts.concept_checking.see_also_______">See also
         &#21442;&#35265;</a>
       </h5>
@@ -113,7 +113,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="random_access_range.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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> +<a accesskey="p" href="random_access_range.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../reference.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
=======================================
--- /trunk/libs/range/doc/html/range/concepts/forward_range.html Tue Jun 22 21:13:43 2010 +++ /trunk/libs/range/doc/html/range/concepts/forward_range.html Wed Sep 1 05:47:13 2010
@@ -2,9 +2,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Forward Range &#21069;&#21521;&#21306;&#38388;</title>
-<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> <link rel="up" href="../concepts.html" title="Range Concepts Range&#27010;&#24565;"> <link rel="prev" href="single_pass_range.html" title="Single Pass Range &#21333;&#36941;&#21306;&#38388;"> <link rel="next" href="bidirectional_range.html" title="Bidirectional Range &#21452;&#21521;&#21306;&#38388;">
@@ -13,21 +13,21 @@
 <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"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../../../../more/index.htm">More</a></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="single_pass_range.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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="bidirectional_range.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="single_pass_range.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bidirectional_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
<a name="range.concepts.forward_range"></a><a class="link" href="forward_range.html" title="Forward Range &#21069;&#21521;&#21306;&#38388;"> Forward Range &#21069;&#21521;&#21306;&#38388;</a>
 </h3></div></div></div>
 <a name="range.concepts.forward_range.notation_______"></a><h5>
-<a name="id4861070"></a>
+<a name="id5044946"></a>
<a class="link" href="forward_range.html#range.concepts.forward_range.notation_______">Notation &#31526;&#21495;</a>
       </h5>
 <div class="informaltable"><table class="table">
@@ -66,7 +66,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.forward_range.description_______"></a><h5>
-<a name="id4861182"></a>
+<a name="id5096618"></a>
<a class="link" href="forward_range.html#range.concepts.forward_range.description_______">Description
         &#35828;&#26126;</a>
       </h5>
@@ -77,7 +77,7 @@
         Traversal Iterator</a> &#30340; model.
       </p>
 <a name="range.concepts.forward_range.refinement_of__________"></a><h5>
-<a name="id4861308"></a>
+<a name="id5096744"></a>
<a class="link" href="forward_range.html#range.concepts.forward_range.refinement_of__________">Refinement
         of &#24378;&#21270;&#33258;</a>
       </h5>
@@ -85,7 +85,7 @@
<a class="link" href="single_pass_range.html" title="Single Pass Range &#21333;&#36941;&#21306;&#38388;">Single Pass Range</a>
       </p>
<a name="range.concepts.forward_range.associated_types_____________"></a><h5>
-<a name="id4861338"></a>
+<a name="id5096775"></a>
<a class="link" href="forward_range.html#range.concepts.forward_range.associated_types_____________">Associated
         types &#20851;&#32852;&#31867;&#22411;</a>
       </h5>
@@ -137,7 +137,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.forward_range.see_also_______"></a><h5>
-<a name="id4861518"></a>
+<a name="id5096954"></a>
<a class="link" href="forward_range.html#range.concepts.forward_range.see_also_______">See also &#21442;&#35265;</a>
       </h5>
 <p>
@@ -159,7 +159,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="single_pass_range.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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="bidirectional_range.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="single_pass_range.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="bidirectional_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
=======================================
--- /trunk/libs/range/doc/html/range/concepts/overview.html Tue Jun 22 21:13:43 2010 +++ /trunk/libs/range/doc/html/range/concepts/overview.html Wed Sep 1 05:47:13 2010
@@ -2,9 +2,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Overview &#31616;&#20171;</title>
-<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> <link rel="up" href="../concepts.html" title="Range Concepts Range&#27010;&#24565;"> <link rel="prev" href="../concepts.html" title="Range Concepts Range&#27010;&#24565;"> <link rel="next" href="single_pass_range.html" title="Single Pass Range &#21333;&#36941;&#21306;&#38388;">
@@ -13,16 +13,16 @@
 <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"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../../../../more/index.htm">More</a></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../concepts.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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="single_pass_range.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="../concepts.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="single_pass_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
<a name="range.concepts.overview"></a><a class="link" href="overview.html" title="Overview &#31616;&#20171;"> Overview &#31616;&#20171;</a>
 </h3></div></div></div>
@@ -42,32 +42,32 @@
a Range does not necessarily<br> &#21306;&#38388;&#27010;&#24565;&#30340;&#21160;&#26426;&#26159;&#65292;&#26377;&#35768;&#22810;&#26377;&#29992;&#30340;&#12289;&#31867;&#20284;&#20110;&#23481;&#22120;&#30340;&#31867;&#22411;&#19981;&#33021;&#23436;&#20840;&#28385;&#36275;&#23481;&#22120;&#30340;&#25152;&#26377;&#35201;&#27714;&#65292;&#32780;&#24456;&#22810;&#31639;&#27861;&#21487;&#20197;&#20381;&#25454;&#36825;&#20010;&#26377;&#25152;&#31616;&#21270;&#30340;&#35201;&#27714;&#26469;&#32534;&#20889;&#12290; &#20855;&#20307;&#30340;&#35828;&#65292;&#21306;&#38388;&#19981;&#35201;&#27714;&#65306;
       </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
- own the elements that can be accessed through it,<br> &#25317;&#26377;&#36890;&#36807;&#23427;&#26469;&#35775;&#38382;&#30340;&#20803;&#32032;&#65292;
-        </li>
-<li>
- have copy semantics,<br> &#20855;&#26377;&#22797;&#21046;&#35821;&#20041;&#65292;
-        </li>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ own the elements that can be accessed through it,<br> &#25317;&#26377;&#36890;&#36807;&#23427;&#26469;&#35775;&#38382;&#30340;&#20803;&#32032;&#65292;
+          </li>
+<li class="listitem">
+ have copy semantics,<br> &#20855;&#26377;&#22797;&#21046;&#35821;&#20041;&#65292;
+          </li>
 </ul></div>
 <p>
Because of the second requirement, a Range object must be passed by (const or non-const) reference in generic code.<br> &#30001;&#20110;&#31532;&#20108;&#20010;&#35201;&#27714;&#65292;&#21306;&#38388;&#23545;&#35937;&#24517;&#39035;&#20197;(&#24120;&#37327;&#25110;&#38750;&#24120;&#37327;)&#24341;&#29992;&#30340;&#26041;&#24335;&#20256;&#20837;&#27867;&#22411;&#20195;&#30721;&#12290;
       </p>
 <p>
- The operations that can be performed on a Range is dependent on the <a href="../../../../iterator/doc/new-iter-concepts.html#iterator-traversal-concepts-lib-iterator-traversal" target="_top">traversal + The operations that can be performed on a Range is dependent on the <a href="../../../../../../libs/iterator/doc/new-iter-concepts.html#iterator-traversal-concepts-lib-iterator-traversal" target="_top">traversal category</a> of the underlying iterator type. Therefore the range concepts are named to reflect which traversal category its iterators support. See also terminology and style guidelines. for more information about naming of ranges.<br> &#19968;&#20010;&#21306;&#38388;&#19978;&#21487;&#20197;&#25191;&#34892;&#30340;&#25805;&#20316;&#21462;&#20915;&#20110;&#20854;&#24213;&#23618;&#36845;&#20195;&#22120;&#31867;&#22411;&#30340; - <a href="../../../../iterator/doc/new-iter-concepts.html#iterator-traversal-concepts-lib-iterator-traversal" target="_top">&#36941;&#21382;&#31867;&#21035;</a>&#12290; + <a href="../../../../../../libs/iterator/doc/new-iter-concepts.html#iterator-traversal-concepts-lib-iterator-traversal" target="_top">&#36941;&#21382;&#31867;&#21035;</a>&#12290; &#22240;&#27492;&#21306;&#38388;&#27010;&#24565;&#30340;&#21629;&#21517;&#27491;&#26159;&#21453;&#26144;&#20102;&#20854;&#36845;&#20195;&#22120;&#25152;&#25903;&#25345;&#30340;&#36941;&#21382;&#31867;&#21035;&#12290;&#26377;&#20851;&#21306;&#38388;&#21629;&#21517;&#30340;&#26356;&#22810;&#20449;&#24687;&#35831;&#35265;
         &#26415;&#35821;&#21450;&#39118;&#26684; &#19968;&#33410;&#12290;
       </p>
 <p>
- The concepts described below specifies associated types as <a href="../../../../libs/mpl/doc/refmanual/metafunction.html" target="_top">metafunctions</a> + The concepts described below specifies associated types as <a href="../../../../../../libs/mpl/doc/refmanual/metafunction.html" target="_top">metafunctions</a> and all functions as free-standing functions to allow for a layer of indirection.<br> - &#19979;&#36848;&#27010;&#24565;&#20197; <a href="../../../../libs/mpl/doc/refmanual/metafunction.html" target="_top">&#20803;&#20989;&#25968;</a> + &#19979;&#36848;&#27010;&#24565;&#20197; <a href="../../../../../../libs/mpl/doc/refmanual/metafunction.html" target="_top">&#20803;&#20989;&#25968;</a> &#30340;&#26041;&#24335;&#32473;&#20986;&#20851;&#32852;&#31867;&#22411;&#65292;&#32780;&#19988;&#25152;&#26377;&#20989;&#25968;&#37117;&#26159;&#29420;&#31435;&#20989;&#25968;&#65292;&#20197;&#29992;&#20110;&#38388;&#25509;&#23618;&#12290;
       </p>
 </div>
@@ -81,7 +81,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../concepts.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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="single_pass_range.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="../concepts.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="single_pass_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
=======================================
--- /trunk/libs/range/doc/html/range/concepts/random_access_range.html Tue Jun 22 21:13:43 2010 +++ /trunk/libs/range/doc/html/range/concepts/random_access_range.html Wed Sep 1 05:47:13 2010
@@ -2,9 +2,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>Random Access Range &#38543;&#26426;&#35775;&#38382;&#21306;&#38388;</title> -<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> <link rel="up" href="../concepts.html" title="Range Concepts Range&#27010;&#24565;"> <link rel="prev" href="bidirectional_range.html" title="Bidirectional Range &#21452;&#21521;&#21306;&#38388;"> <link rel="next" href="concept_checking.html" title="Concept Checking &#27010;&#24565;&#26816;&#26597;">
@@ -13,22 +13,22 @@
 <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"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../../../../more/index.htm">More</a></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="bidirectional_range.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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="concept_checking.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="bidirectional_range.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="concept_checking.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
<a name="range.concepts.random_access_range"></a><a class="link" href="random_access_range.html" title="Random Access Range &#38543;&#26426;&#35775;&#38382;&#21306;&#38388;"> Random Access Range
       &#38543;&#26426;&#35775;&#38382;&#21306;&#38388;</a>
 </h3></div></div></div>
 <a name="range.concepts.random_access_range.description_______"></a><h5>
-<a name="id4863458"></a>
+<a name="id5098895"></a>
<a class="link" href="random_access_range.html#range.concepts.random_access_range.description_______">Description
         &#35828;&#26126;</a>
       </h5>
@@ -39,7 +39,7 @@
         Access Traversal Iterator</a> &#30340; model.
       </p>
<a name="range.concepts.random_access_range.refinement_of__________"></a><h5>
-<a name="id4863586"></a>
+<a name="id5099022"></a>
<a class="link" href="random_access_range.html#range.concepts.random_access_range.refinement_of__________">Refinement
         of &#24378;&#21270;&#33258;</a>
       </h5>
@@ -47,7 +47,7 @@
<a class="link" href="bidirectional_range.html" title="Bidirectional Range &#21452;&#21521;&#21306;&#38388;">Bidirectional Range</a>
       </p>
<a name="range.concepts.random_access_range.valid_expressions________________"></a><h5>
-<a name="id4863617"></a>
+<a name="id5099053"></a>
<a class="link" href="random_access_range.html#range.concepts.random_access_range.valid_expressions________________">Valid
         expressions &#26377;&#25928;&#34920;&#36798;&#24335;</a>
       </h5>
@@ -93,7 +93,7 @@
 </tr></tbody>
 </table></div>
<a name="range.concepts.random_access_range.expression_semantics________________"></a><h5>
-<a name="id4863773"></a>
+<a name="id5099209"></a>
<a class="link" href="random_access_range.html#range.concepts.random_access_range.expression_semantics________________">Expression
         semantics &#34920;&#36798;&#24335;&#35821;&#20041;</a>
       </h5>
@@ -145,7 +145,7 @@
 </tr></tbody>
 </table></div>
<a name="range.concepts.random_access_range.complexity_guarantees________________"></a><h5>
-<a name="id4864079"></a>
+<a name="id5099515"></a>
<a class="link" href="random_access_range.html#range.concepts.random_access_range.complexity_guarantees________________">Complexity
         guarantees &#22797;&#26434;&#24230;&#20445;&#35777;</a>
       </h5>
@@ -154,7 +154,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> &#22312;&#24120;&#37327;&#26102;&#38388;&#20869;&#23436;&#25104;&#12290;
       </p>
 <a name="range.concepts.random_access_range.invariants__________"></a><h5>
-<a name="id4864167"></a>
+<a name="id5099603"></a>
<a class="link" href="random_access_range.html#range.concepts.random_access_range.invariants__________">Invariants
         &#19981;&#21464;&#24335;</a>
       </h5>
@@ -189,7 +189,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="bidirectional_range.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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="concept_checking.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="bidirectional_range.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="concept_checking.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
=======================================
--- /trunk/libs/range/doc/html/range/concepts/single_pass_range.html Tue Jun 22 21:13:43 2010 +++ /trunk/libs/range/doc/html/range/concepts/single_pass_range.html Wed Sep 1 05:47:13 2010
@@ -2,9 +2,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Single Pass Range &#21333;&#36941;&#21306;&#38388;</title>
-<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> <link rel="up" href="../concepts.html" title="Range Concepts Range&#27010;&#24565;">
 <link rel="prev" href="overview.html" title="Overview &#31616;&#20171;">
<link rel="next" href="forward_range.html" title="Forward Range &#21069;&#21521;&#21306;&#38388;">
@@ -13,22 +13,22 @@
 <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"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../../../../more/index.htm">More</a></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="overview.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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="forward_range.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="overview.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="forward_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
<a name="range.concepts.single_pass_range"></a><a class="link" href="single_pass_range.html" title="Single Pass Range &#21333;&#36941;&#21306;&#38388;"> Single Pass Range
       &#21333;&#36941;&#21306;&#38388;</a>
 </h3></div></div></div>
 <a name="range.concepts.single_pass_range.notation_______"></a><h5>
-<a name="id4807617"></a>
+<a name="id5045878"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.notation_______">Notation
         &#31526;&#21495;</a>
       </h5>
@@ -68,7 +68,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.single_pass_range.description_______"></a><h5>
-<a name="id4807734"></a>
+<a name="id5045996"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.description_______">Description
         &#35828;&#26126;</a>
       </h5>
@@ -79,7 +79,7 @@
         Pass Iterator</a> &#30340; model&#12290;
       </p>
<a name="range.concepts.single_pass_range.associated_types_____________"></a><h5>
-<a name="id4807871"></a>
+<a name="id5046132"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.associated_types_____________">Associated
         types &#20851;&#32852;&#31867;&#22411;</a>
       </h5>
@@ -134,7 +134,7 @@
 </tbody>
 </table></div>
<a name="range.concepts.single_pass_range.valid_expressions________________"></a><h5>
-<a name="id4808089"></a>
+<a name="id5043387"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.valid_expressions________________">Valid
         expressions &#26377;&#25928;&#34920;&#36798;&#24335;</a>
       </h5>
@@ -206,7 +206,7 @@
 </tbody>
 </table></div>
<a name="range.concepts.single_pass_range.expression_semantics________________"></a><h5>
-<a name="id4859957"></a>
+<a name="id5043762"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.expression_semantics________________">Expression
         semantics &#34920;&#36798;&#24335;&#35821;&#20041;</a>
       </h5>
@@ -277,7 +277,7 @@
 </tbody>
 </table></div>
<a name="range.concepts.single_pass_range.complexity_guarantees________________"></a><h5>
-<a name="id4860352"></a>
+<a name="id5044179"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.complexity_guarantees________________">Complexity
         guarantees &#22797;&#26434;&#24230;&#20445;&#35777;</a>
       </h5>
@@ -287,7 +287,7 @@
constant time.<br> <code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">end</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code> &#33267;&#22810;&#20026;&#20998;&#26399;&#32447;&#24615;&#26102;&#38388;&#65292;<code class="computeroutput"><span class="identifier">boost</span><span class="special">::</span><span class="identifier">begin</span><span class="special">(</span><span class="identifier">a</span><span class="special">)</span></code> &#20026;&#20998;&#26399;&#24120;&#37327;&#26102;&#38388;&#12290;&#22823;&#22810;&#25968;&#24773;&#20917;&#19979;&#65292;&#20320;&#21487;&#20197;&#26399;&#26395;&#20004;&#20010;&#20989;&#25968;&#22343;&#20026;&#20998;&#26399;&#24120;&#37327;&#26102;&#38388;&#12290;
       </p>
 <a name="range.concepts.single_pass_range.invariants__________"></a><h5>
-<a name="id4860504"></a>
+<a name="id5044342"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.invariants__________">Invariants
         &#19981;&#21464;&#24335;</a>
       </h5>
@@ -335,7 +335,7 @@
 </tbody>
 </table></div>
 <a name="range.concepts.single_pass_range.see_also_______"></a><h5>
-<a name="id4860994"></a>
+<a name="id5044865"></a>
<a class="link" href="single_pass_range.html#range.concepts.single_pass_range.see_also_______">See also
         &#21442;&#35265;</a>
       </h5>
@@ -364,7 +364,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="overview.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.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="forward_range.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="overview.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../concepts.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="forward_range.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
=======================================
--- /trunk/libs/range/doc/html/range/concepts.html      Tue Jun 22 21:13:43 2010
+++ /trunk/libs/range/doc/html/range/concepts.html      Wed Sep  1 05:47:13 2010
@@ -2,9 +2,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Range Concepts Range&#27010;&#24565;</title>
-<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0"> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
<link rel="prev" href="introduction.html" title="Introduction &#31616;&#20171;"> <link rel="next" href="concepts/overview.html" title="Overview &#31616;&#20171;">
@@ -13,16 +13,16 @@
 <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"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../../../more/index.htm">More</a></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="introduction.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="concepts/overview.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="introduction.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="concepts/overview.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="range.concepts"></a><a class="link" href="concepts.html" title="Range Concepts Range&#27010;&#24565;"> Range Concepts Range&#27010;&#24565;</a>
 </h2></div></div></div>
@@ -48,7 +48,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="introduction.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="concepts/overview.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="introduction.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="concepts/overview.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
=======================================
--- /trunk/libs/range/doc/html/range/examples.html      Tue Jun 22 21:13:43 2010
+++ /trunk/libs/range/doc/html/range/examples.html      Wed Sep  1 05:47:13 2010
@@ -2,9 +2,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Examples &#31034;&#20363;</title>
-<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0"> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
<link rel="prev" href="library_headers/algorithm_extensions.html" title="Algorithm Extensions &#31639;&#27861;&#25193;&#23637;"> <link rel="next" href="mfc_atl.html" title="MFC/ATL (courtesy of Shunsuke Sogame &#30001; Shunsuke Sogame &#36129;&#29486;)">
@@ -13,39 +13,51 @@
 <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"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../../../more/index.htm">More</a></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<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> +<a accesskey="p" href="library_headers/algorithm_extensions.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mfc_atl.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="range.examples"></a><a class="link" href="examples.html" title="Examples &#31034;&#20363;"> Examples &#31034;&#20363;</a>
 </h2></div></div></div>
 <p>
Some examples are given in the accompanying test files:<br> &#22312;&#38543;&#38468;&#30340;&#27979;&#35797;&#25991;&#20214;&#20013;&#32473;&#20986;&#20102;&#19968;&#20123;&#20363;&#23376;&#65306;
     </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
-<a href="http://www.boost.org/libs/range/test/string.cpp"; target="_top">string.cpp</a> - shows how to implement a container version of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find</span><span class="special">()</span></code> that works with <code class="computeroutput"><span class="keyword">char</span><span class="special">[]</span></code>,<code class="computeroutput"><span class="keyword">wchar_t</span><span class="special">[]</span></code>,<code class="computeroutput"><span class="keyword">char</span><span class="special">*</span></code>,<code class="computeroutput"><span class="keyword">wchar_t</span><span class="special">*</span></code>.<br><a href="http://www.boost.org/libs/range/test/string.cpp"; target="_top">string.cpp</a> - &#31034;&#33539;&#22914;&#20309;&#23454;&#20363;&#19968;&#20010;&#23481;&#22120;&#29256;&#26412;&#30340; <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find</span><span class="special">()</span></code>&#65292;&#21487;&#29992;&#20110; <code class="computeroutput"><span class="keyword">char</span><span class="special">[]</span></code>,<code class="computeroutput"><span class="keyword">wchar_t</span><span class="special">[]</span></code>,<code class="computeroutput"><span class="keyword">char</span><span class="special">*</span></code>,<code class="computeroutput"><span class="keyword">wchar_t</span><span class="special">*</span></code>.
-      </li>
-<li>
-<a href="http://www.boost.org/libs/range/test/algorithm_example.cpp"; target="_top">algorithm_example.cpp</a> - shows the replace example from the introduction.<br><a href="http://www.boost.org/libs/range/test/algorithm_example.cpp"; target="_top">algorithm_example.cpp</a> - &#31034;&#33539;"&#31616;&#20171;"&#19968;&#33410;&#20013;&#30340; replace &#20363;&#23376;&#12290;
-      </li>
-<li><a href="http://www.boost.org/libs/range/test/iterator_range.cpp"; target="_top">iterator_range.cpp</a></li> -<li><a href="http://www.boost.org/libs/range/test/sub_range.cpp"; target="_top">sub_range.cpp</a></li> -<li><a href="http://www.boost.org/libs/range/test/iterator_pair.cpp"; target="_top">iterator_pair.cpp</a></li> -<li><a href="http://www.boost.org/libs/range/test/reversible_range.cpp"; target="_top">reversible_range.cpp</a></li> -<li><a href="http://www.boost.org/libs/range/test/std_container.cpp"; target="_top">std_container.cpp</a></li> -<li><a href="http://www.boost.org/libs/range/test/array.cpp"; target="_top">array.cpp</a></li>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ <a href="http://www.boost.org/libs/range/test/string.cpp"; target="_top">string.cpp</a> + shows how to implement a container version of <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find</span><span class="special">()</span></code> that works with <code class="computeroutput"><span class="keyword">char</span><span class="special">[]</span></code>,<code class="computeroutput"><span class="keyword">wchar_t</span><span class="special">[]</span></code>,<code class="computeroutput"><span class="keyword">char</span><span class="special">*</span></code>,<code class="computeroutput"><span class="keyword">wchar_t</span><span class="special">*</span></code>.<br> <a href="http://www.boost.org/libs/range/test/string.cpp"; target="_top">string.cpp</a> + &#31034;&#33539;&#22914;&#20309;&#23454;&#20363;&#19968;&#20010;&#23481;&#22120;&#29256;&#26412;&#30340; <code class="computeroutput"><span class="identifier">std</span><span class="special">::</span><span class="identifier">find</span><span class="special">()</span></code>&#65292;&#21487;&#29992;&#20110; <code class="computeroutput"><span class="keyword">char</span><span class="special">[]</span></code>,<code class="computeroutput"><span class="keyword">wchar_t</span><span class="special">[]</span></code>,<code class="computeroutput"><span class="keyword">char</span><span class="special">*</span></code>,<code class="computeroutput"><span class="keyword">wchar_t</span><span class="special">*</span></code>.
+        </li>
+<li class="listitem">
+ <a href="http://www.boost.org/libs/range/test/algorithm_example.cpp"; target="_top">algorithm_example.cpp</a> + shows the replace example from the introduction.<br> <a href="http://www.boost.org/libs/range/test/algorithm_example.cpp"; target="_top">algorithm_example.cpp</a> + &#31034;&#33539;"&#31616;&#20171;"&#19968;&#33410;&#20013;&#30340; replace &#20363;&#23376;&#12290;
+        </li>
+<li class="listitem">
+ <a href="http://www.boost.org/libs/range/test/iterator_range.cpp"; target="_top">iterator_range.cpp</a>
+        </li>
+<li class="listitem">
+ <a href="http://www.boost.org/libs/range/test/sub_range.cpp"; target="_top">sub_range.cpp</a>
+        </li>
+<li class="listitem">
+ <a href="http://www.boost.org/libs/range/test/iterator_pair.cpp"; target="_top">iterator_pair.cpp</a>
+        </li>
+<li class="listitem">
+ <a href="http://www.boost.org/libs/range/test/reversible_range.cpp"; target="_top">reversible_range.cpp</a>
+        </li>
+<li class="listitem">
+ <a href="http://www.boost.org/libs/range/test/std_container.cpp"; target="_top">std_container.cpp</a>
+        </li>
+<li class="listitem">
+ <a href="http://www.boost.org/libs/range/test/array.cpp"; target="_top">array.cpp</a>
+        </li>
 </ul></div>
 </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tr>
@@ -58,7 +70,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<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> +<a accesskey="p" href="library_headers/algorithm_extensions.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="mfc_atl.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
=======================================
--- /trunk/libs/range/doc/html/range/faq.html   Tue Jun 22 21:13:43 2010
+++ /trunk/libs/range/doc/html/range/faq.html   Wed Sep  1 05:47:13 2010
@@ -2,9 +2,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>FAQ</title>
-<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0"> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
<link rel="prev" href="portability.html" title="Portability &#21487;&#31227;&#26893;&#24615;"> <link rel="next" href="history_ack.html" title="History and Acknowledgement &#21382;&#21490;&#21644;&#40483;&#35874;">
@@ -13,16 +13,16 @@
 <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"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../../../more/index.htm">More</a></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="portability.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="history_ack.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="portability.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history_ack.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
 <a name="range.faq"></a><a class="link" href="faq.html" title="FAQ">FAQ</a>
 </h2></div></div></div>
@@ -34,90 +34,54 @@
&#21644; <code class="computeroutput"><span class="identifier">range_const_iterator</span><span class="special">&lt;</span><span class="identifier">C</span><span class="special">&gt;::</span><span class="identifier">type</span></code>
       &#27809;&#26377;&#21306;&#21035;&#12290;</strong></span></em></span>
     </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
- In general it is not possible nor desirable to find a corresponding <code class="computeroutput"><span class="identifier">const_iterator</span></code>. When it is possible to - come up with one, the client might choose to construct a <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">const_iterator</span><span class="special">,</span><span class="identifier">const_iterator</span><span class="special">&gt;</span></code> - object.<br> &#36890;&#24120;&#27809;&#26377;&#21487;&#33021;&#20063;&#19981;&#20540;&#24471;&#25214;&#21040;&#19968;&#20010; <code class="computeroutput"><span class="identifier">const_iterator</span></code>. &#22914;&#26524;&#35201;&#24471;&#21040;&#19968;&#20010;&#65292;&#29992;&#25143;&#21487;&#20197;&#36873;&#25321;&#26500;&#36896;&#19968;&#20010; - <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">const_iterator</span><span class="special">,</span><span class="identifier">const_iterator</span><span class="special">&gt;</span></code>
-          &#23545;&#35937;&#12290;
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
- 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="reference/utilities/sub_range.html" title="Class sub_range"><code class="computeroutput"><span class="identifier">sub_range</span></code></a> does propagate const-ness.<br> - &#27880;&#24847;&#65292;<a class="link" href="reference/utilities/iterator_range.html" title="Class iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> &#35201;&#27604; <code class="computeroutput"><span class="identifier">pair</span></code> &#31245;&#24494;&#26041;&#20415;&#19968;&#28857;&#65292;&#32780; <a class="link" href="reference/utilities/sub_range.html" title="Class sub_range"><code class="computeroutput"><span class="identifier">sub_range</span></code></a> &#21017;&#21487;&#20197;&#20256;&#25773;&#24120;&#37327;&#24615;&#12290;
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ In general it is not possible nor desirable to find a corresponding <code class="computeroutput"><span class="identifier">const_iterator</span></code>. When it is possible to + come up with one, the client might choose to construct a <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">const_iterator</span><span class="special">,</span><span class="identifier">const_iterator</span><span class="special">&gt;</span></code> object.<br> &#36890;&#24120;&#27809;&#26377;&#21487;&#33021;&#20063;&#19981;&#20540;&#24471;&#25214;&#21040;&#19968;&#20010; + <code class="computeroutput"><span class="identifier">const_iterator</span></code>. &#22914;&#26524;&#35201;&#24471;&#21040;&#19968;&#20010;&#65292;&#29992;&#25143;&#21487;&#20197;&#36873;&#25321;&#26500;&#36896;&#19968;&#20010; + <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">const_iterator</span><span class="special">,</span><span class="identifier">const_iterator</span><span class="special">&gt;</span></code>
+        &#23545;&#35937;&#12290;
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ 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="reference/utilities/sub_range.html" title="Class sub_range"><code class="computeroutput"><span class="identifier">sub_range</span></code></a> does propagate const-ness.<br> + &#27880;&#24847;&#65292;<a class="link" href="reference/utilities/iterator_range.html" title="Class iterator_range"><code class="computeroutput"><span class="identifier">iterator_range</span></code></a> &#35201;&#27604; <code class="computeroutput"><span class="identifier">pair</span></code> &#31245;&#24494;&#26041;&#20415;&#19968;&#28857;&#65292;&#32780; <a class="link" href="reference/utilities/sub_range.html" title="Class sub_range"><code class="computeroutput"><span class="identifier">sub_range</span></code></a> &#21017;&#21487;&#20197;&#20256;&#25773;&#24120;&#37327;&#24615;&#12290;
+      </p></blockquote></div>
 <p>
2. <span class="emphasis"><em><span class="bold"><strong>Why is there not supplied more types or more functions?<br> &#20026;&#20160;&#20040;&#19981;&#25552;&#20379;&#26356;&#22810;&#30340;&#31867;&#22411;&#25110;&#20989;&#25968;&#65311;</strong></span></em></span>
     </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
- The library has been kept small because its current interface will serve - most purposes. If and when a genuine need arises for more functionality, - it can be implemented.<br> &#26412;&#24211;&#20445;&#25345;&#27604;&#36739;&#23567;&#26159;&#22240;&#20026;&#23427;&#24403;&#21069;&#30340;&#25509;&#21475;&#21487;&#20197;&#26377;&#26356;&#22810;&#30340;&#29992;&#36884;&#12290;&#22914;&#26524;&#30495;&#30340;&#38656;&#35201;&#26356;&#22810;&#30340;&#21151;&#33021;&#65292;&#23427;&#20063;&#21487;&#20197;&#23454;&#29616;&#12290;
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ The library has been kept small because its current interface will serve + most purposes. If and when a genuine need arises for more functionality, + it can be implemented.<br> &#26412;&#24211;&#20445;&#25345;&#27604;&#36739;&#23567;&#26159;&#22240;&#20026;&#23427;&#24403;&#21069;&#30340;&#25509;&#21475;&#21487;&#20197;&#26377;&#26356;&#22810;&#30340;&#29992;&#36884;&#12290;&#22914;&#26524;&#30495;&#30340;&#38656;&#35201;&#26356;&#22810;&#30340;&#21151;&#33021;&#65292;&#23427;&#20063;&#21487;&#20197;&#23454;&#29616;&#12290;
+      </p></blockquote></div>
 <p>
3. <span class="emphasis"><em><span class="bold"><strong>How should I implement generic algorithms for ranges?<br> &#25105;&#22914;&#20309;&#23454;&#29616;&#20351;&#29992;&#21306;&#38388;&#30340;&#27867;&#22411;&#31639;&#27861;&#65311;</strong></span></em></span>
     </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
- One should always start with a generic algorithm that takes two iterators - (or more) as input. Then use Boost.Range to build handier versions on top - of the iterator based algorithm. Please notice that once the range version - of the algorithm is done, it makes sense not to expose the iterator version - in the public interface.<br> &#20320;&#24212;&#35813;&#20174;&#25509;&#21463;&#20004;&#20010;(&#25110;&#22810;&#20010;)&#36845;&#20195;&#22120;&#20316;&#20026;&#36755;&#20837;&#30340;&#27867;&#22411;&#31639;&#27861;&#24320;&#22987;&#12290;&#28982;&#21518;&#20351;&#29992; - Boost.Range &#22312;&#31639;&#27861;&#25152;&#22522;&#20110;&#30340;&#36845;&#20195;&#22120;&#20043;&#19978;&#26469;&#26500;&#24314;&#19968;&#20010;&#25163;&#24037;&#29256;&#26412;&#12290; - &#35831;&#27880;&#24847;&#65292;&#19968;&#26086;&#23454;&#29616;&#20102;&#31639;&#27861;&#30340;&#21306;&#38388;&#29256;&#26412;&#65292;&#23601;&#19981;&#35201;&#20877;&#23558;&#36845;&#20195;&#22120;&#29256;&#26412;&#20844;&#24320;&#22312;&#20844;&#26377;&#25509;&#21475;&#19978;&#12290;
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ One should always start with a generic algorithm that takes two iterators + (or more) as input. Then use Boost.Range to build handier versions on top + of the iterator based algorithm. Please notice that once the range version + of the algorithm is done, it makes sense not to expose the iterator version + in the public interface.<br> &#20320;&#24212;&#35813;&#20174;&#25509;&#21463;&#20004;&#20010;(&#25110;&#22810;&#20010;)&#36845;&#20195;&#22120;&#20316;&#20026;&#36755;&#20837;&#30340;&#27867;&#22411;&#31639;&#27861;&#24320;&#22987;&#12290;&#28982;&#21518;&#20351;&#29992; + Boost.Range &#22312;&#31639;&#27861;&#25152;&#22522;&#20110;&#30340;&#36845;&#20195;&#22120;&#20043;&#19978;&#26469;&#26500;&#24314;&#19968;&#20010;&#25163;&#24037;&#29256;&#26412;&#12290; + &#35831;&#27880;&#24847;&#65292;&#19968;&#26086;&#23454;&#29616;&#20102;&#31639;&#27861;&#30340;&#21306;&#38388;&#29256;&#26412;&#65292;&#23601;&#19981;&#35201;&#20877;&#23558;&#36845;&#20195;&#22120;&#29256;&#26412;&#20844;&#24320;&#22312;&#20844;&#26377;&#25509;&#21475;&#19978;&#12290;
+      </p></blockquote></div>
 <p>
4. <span class="emphasis"><em><span class="bold"><strong>Why is there no Incrementable Range concept?<br> &#20026;&#20160;&#20040;&#27809;&#26377;&#36882;&#22686;&#21306;&#38388;&#30340;&#27010;&#24565;&#65311;</strong></span></em></span>
     </p>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
- Even though we speak of incrementable iterators, it would not make much - sense for ranges; for example, we cannot determine the size and emptiness - of a range since we cannot even compare its iterators.<br> &#34429;&#28982;&#25105;&#20204;&#26377;&#35752;&#35770;&#36882;&#22686;&#36845;&#20195;&#22120;&#65292;&#20294;&#26159;&#19981;&#22826;&#21512;&#36866;&#35752;&#35770;&#36825;&#31867;&#21306;&#38388;&#65307;&#20363;&#22914;&#65292;&#25105;&#20204;&#26080;&#27861;&#30830;&#23450;&#21306;&#38388;&#30340;&#22823;&#23567;&#20197;&#21450;&#21306;&#38388;&#26159;&#21542;&#20026;&#31354;&#65292;&#22240;&#20026;&#25105;&#20204;&#19981;&#33021;&#27604;&#36739;&#36825;&#31181;&#36845;&#20195;&#22120;&#12290;
-        </p>
-<p>
-      </p>
-</blockquote></div>
-<div class="blockquote"><blockquote class="blockquote">
-<p>
-        </p>
-<p>
- Note also that incrementable iterators are derived from output iterators - and so there exist no output range.<br> &#36824;&#24212;&#27880;&#24847;&#65292;&#36882;&#22686;&#36845;&#20195;&#22120;&#27966;&#29983;&#33258;&#36755;&#20986;&#36845;&#20195;&#22120;&#65292;&#25152;&#20197;&#20063;&#19981;&#23384;&#22312;&#36755;&#20986;&#21306;&#38388;&#12290;
-        </p>
-<p>
-      </p>
-</blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Even though we speak of incrementable iterators, it would not make much sense + for ranges; for example, we cannot determine the size and emptiness of a + range since we cannot even compare its iterators.<br> &#34429;&#28982;&#25105;&#20204;&#26377;&#35752;&#35770;&#36882;&#22686;&#36845;&#20195;&#22120;&#65292;&#20294;&#26159;&#19981;&#22826;&#21512;&#36866;&#35752;&#35770;&#36825;&#31867;&#21306;&#38388;&#65307;&#20363;&#22914;&#65292;&#25105;&#20204;&#26080;&#27861;&#30830;&#23450;&#21306;&#38388;&#30340;&#22823;&#23567;&#20197;&#21450;&#21306;&#38388;&#26159;&#21542;&#20026;&#31354;&#65292;&#22240;&#20026;&#25105;&#20204;&#19981;&#33021;&#27604;&#36739;&#36825;&#31181;&#36845;&#20195;&#22120;&#12290;
+      </p></blockquote></div>
+<div class="blockquote"><blockquote class="blockquote"><p>
+ Note also that incrementable iterators are derived from output iterators + and so there exist no output range.<br> &#36824;&#24212;&#27880;&#24847;&#65292;&#36882;&#22686;&#36845;&#20195;&#22120;&#27966;&#29983;&#33258;&#36755;&#20986;&#36845;&#20195;&#22120;&#65292;&#25152;&#20197;&#20063;&#19981;&#23384;&#22312;&#36755;&#20986;&#21306;&#38388;&#12290;
+      </p></blockquote></div>
 </div>
<table xmlns:rev="http://www.cs.rpi.edu/~gregod/boost/tools/doc/revision"; width="100%"><tr>
 <td align="left"></td>
@@ -129,7 +93,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="portability.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="history_ack.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="portability.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="history_ack.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
=======================================
--- /trunk/libs/range/doc/html/range/history_ack.html Tue Jun 22 21:13:43 2010 +++ /trunk/libs/range/doc/html/range/history_ack.html Wed Sep 1 05:47:13 2010
@@ -2,9 +2,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
<title>History and Acknowledgement &#21382;&#21490;&#21644;&#40483;&#35874;</title> -<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0"> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="prev" href="faq.html" title="FAQ">
 </head>
@@ -12,21 +12,21 @@
 <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"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../../../more/index.htm">More</a></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="faq.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="p" href="faq.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
 </div>
-<div class="section" lang="en">
+<div class="section">
 <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 &#21382;&#21490;&#21644;&#40483;&#35874;"> History and Acknowledgement &#21382;&#21490;&#21644;&#40483;&#35874;</a>
 </h2></div></div></div>
 <a name="range.history_ack.version_1___before_boost_1_43"></a><h4>
-<a name="id5038286"></a>
+<a name="id5275967"></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>
@@ -58,28 +58,28 @@
 <p>
       Special thanks goes to
     </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
-        Pavol Droba for help with documentation and implementation
-      </li>
-<li>
-        Pavel Vozenilek for help with porting the library
-      </li>
-<li>
-        Jonathan Turkanis and John Torjo for help with documentation
-      </li>
-<li>
-        Hartmut Kaiser for being review manager
-      </li>
-<li>
- Jonathan Turkanis for porting the lib (as far sa possible) to vc6 and vc7.
-      </li>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+          Pavol Droba for help with documentation and implementation
+        </li>
+<li class="listitem">
+          Pavel Vozenilek for help with porting the library
+        </li>
+<li class="listitem">
+          Jonathan Turkanis and John Torjo for help with documentation
+        </li>
+<li class="listitem">
+          Hartmut Kaiser for being review manager
+        </li>
+<li class="listitem">
+ Jonathan Turkanis for porting the lib (as far sa possible) to vc6 and vc7.
+        </li>
 </ul></div>
 <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="id4806669"></a>
+<a name="id5276087"></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>
@@ -92,40 +92,48 @@
       stages of this library.
     </p>
 <p>
+ Prior to Boost.RangeEx there had been a number of Range library implementations, + these include library implementations by Eric Niebler, Adobe, Shunsuke Sogame + etc. Eric Niebler contributed the Range Adaptor idea which is arguably the + single biggest innovation in this library. Inevitably a great deal of commonality + evolved in each of these libraries, but a considerable amount of effort was
+      expended to learn from all of the divergent techniques.
+    </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 type="disc">
-<li>
- Thorsten Ottosen: review management, design advice, documentation feedback
-      </li>
-<li>
-        Eric Niebler: feedback
-      </li>
-<li>
-        Joel de Guzman: review
-      </li>
-<li>
-        Mathias Gaunard: review
-      </li>
-<li>
-        David Abrahams: implementation advice
-      </li>
-<li>
-        Robert Jones: defect reports, usage feedback
-      </li>
-<li>
-        Sean Parent: contributed experience from the Adobe range library
-      </li>
-<li>
-        Arno Schoedl: implementations, and review
-      </li>
-<li>
-        Rogier van Dalen: review
-      </li>
-<li>
-        Vincente Botet: review, documentation feedback
-      </li>
+<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: early implementation, and review 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
@@ -142,7 +150,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="faq.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="p" href="faq.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a>
 </div>
 </body>
 </html>
=======================================
--- /trunk/libs/range/doc/html/range/introduction.html Tue Jun 22 21:13:43 2010 +++ /trunk/libs/range/doc/html/range/introduction.html Wed Sep 1 05:47:13 2010
@@ -2,9 +2,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Introduction &#31616;&#20171;</title>
-<link rel="stylesheet" href="../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0"> +<link rel="stylesheet" href="../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
 <link rel="up" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0">
<link rel="prev" href="../index.html" title="Chapter&#160;1.&#160;Range 2.0"> <link rel="next" href="concepts.html" title="Range Concepts Range&#27010;&#24565;">
@@ -13,16 +13,16 @@
 <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"><a href="../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../libraries.htm">Libraries</a></td>
+<td align="center"><a href="../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../../../more/index.htm">More</a></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../index.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="concepts.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="concepts.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
+<div class="section">
 <div class="titlepage"><div><div><h2 class="title" style="clear: both">
<a name="range.introduction"></a><a class="link" href="introduction.html" title="Introduction &#31616;&#20171;"> Introduction &#31616;&#20171;</a>
 </h2></div></div></div>
@@ -65,92 +65,61 @@
 <p>
The main advantages are<br> &#20027;&#35201;&#30340;&#22909;&#22788;&#26377;&#65306;
     </p>
-<div class="itemizedlist"><ul type="disc">
-<li>
- simpler implementation and specification of generic range algorithms<br> - &#27867;&#22411;&#30340;&#21306;&#38388;&#31639;&#27861;&#30340;&#26356;&#31616;&#21333;&#30340;&#23454;&#29616;&#21644;&#35268;&#33539;
-      </li>
-<li>
- more flexible, compact and maintainable client code<br> &#26356;&#28789;&#27963;&#12289;&#32039;&#20945;&#21644;&#21487;&#32500;&#25252;&#30340;&#23458;&#25143;&#20195;&#30721;
-      </li>
-<li>
- safe use of built-in arrays (for legacy code; why else would you use built-in - arrays?)<br> &#23433;&#20840;&#20351;&#29992;&#20869;&#24314;&#25968;&#32452;(&#23545;&#20110;&#36951;&#30041;&#20195;&#30721;&#65307;&#20320;&#20026;&#20160;&#20040;&#36824;&#35201;&#20351;&#29992;&#20869;&#24314;&#25968;&#25454;&#65311;)
-      </li>
+<div class="itemizedlist"><ul class="itemizedlist" type="disc">
+<li class="listitem">
+ simpler implementation and specification of generic range algorithms<br> + &#27867;&#22411;&#30340;&#21306;&#38388;&#31639;&#27861;&#30340;&#26356;&#31616;&#21333;&#30340;&#23454;&#29616;&#21644;&#35268;&#33539;
+        </li>
+<li class="listitem">
+ more flexible, compact and maintainable client code<br> &#26356;&#28789;&#27963;&#12289;&#32039;&#20945;&#21644;&#21487;&#32500;&#25252;&#30340;&#23458;&#25143;&#20195;&#30721;
+        </li>
+<li class="listitem">
+ safe use of built-in arrays (for legacy code; why else would you use built-in + arrays?)<br> &#23433;&#20840;&#20351;&#29992;&#20869;&#24314;&#25968;&#32452;(&#23545;&#20110;&#36951;&#30041;&#20195;&#30721;&#65307;&#20320;&#20026;&#20160;&#20040;&#36824;&#35201;&#20351;&#29992;&#20869;&#24314;&#25968;&#25454;&#65311;)
+        </li>
 </ul></div>
+<a name="range.introduction.example___iterate_over_the_values_in_a_map____map_____________________"></a><h4>
+<a name="id5047881"></a>
+ <a class="link" href="introduction.html#range.introduction.example___iterate_over_the_values_in_a_map____map_____________________">Example + - Iterate over the values in a map &#23545;map&#20013;&#30340;&#20540;&#36827;&#34892;&#36845;&#20195;</a>
+    </h4>
 <p>
- Below are given a small example (the complete example can be found <a href="http://www.boost.org/libs/range/test/algorithm_example.cpp"; target="_top">here</a> - ):<br> &#19979;&#38754;&#32473;&#20986;&#19968;&#20010;&#31616;&#30701;&#30340;&#20363;&#23376;(&#23436;&#25972;&#30340;&#20363;&#23376;&#20195;&#30721;&#35831;&#35265; <a href="http://www.boost.org/libs/range/test/algorithm_example.cpp"; target="_top">&#36825;&#37324;</a>
-      ):
+
+</p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span> +<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">adaptors</span><span class="special">;</span> +<span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">my_map</span> <span class="special">|</span> <span class="identifier">map_values</span><span class="special">,</span> <span class="identifier">fn</span> <span class="special">);</span>
+</pre>
+<p>
     </p>
+<a name="range.introduction.example___iterate_over_the_keys_in_a_map____map_____________________"></a><h4>
+<a name="id5045313"></a>
+ <a class="link" href="introduction.html#range.introduction.example___iterate_over_the_keys_in_a_map____map_____________________">Example + - Iterate over the keys in a map &#23545;map&#20013;&#30340;&#38190;&#36827;&#34892;&#36845;&#20195;</a>
+    </h4>
 <p>

 </p>
-<pre class="programlisting"><span class="comment">//
-</span><span class="comment">// example: extracting bounds in a generic algorithm -</span><span class="comment">// &#20363;&#23376;&#65306;&#22312;&#27867;&#22411;&#31639;&#27861;&#20013;&#21462;&#20986;&#36793;&#30028;
-</span><span class="comment">//
-</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardReadableRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span> <span class="special">&gt;</span> -<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range_iterator</span><span class="special">&lt;</span> <span class="identifier">ForwardReadableRange</span> <span class="special">&gt;::</span><span class="identifier">type</span> -<span class="identifier">find</span><span class="special">(</span> <span class="identifier">ForwardReadableRange</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">value</span> <span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">find</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">c</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">c</span> <span class="special">),</span> <span class="identifier">value</span> <span class="special">);</span>
-<span class="special">}</span>
-
-<span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardReadableRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span> <span class="special">&gt;</span> -<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range_iterator</span><span class="special">&lt;</span> <span class="keyword">const</span> <span class="identifier">ForwardReadableRange</span> <span class="special">&gt;::</span><span class="identifier">type</span> -<span class="identifier">find</span><span class="special">(</span> <span class="keyword">const</span> <span class="identifier">ForwardReadableRange</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">value</span> <span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">return</span> <span class="identifier">std</span><span class="special">::</span><span class="identifier">find</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">c</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">c</span> <span class="special">),</span> <span class="identifier">value</span> <span class="special">);</span>
-<span class="special">}</span>
-
-<span class="comment">//
-</span><span class="comment">// replace first value and return its index
-</span><span class="comment">// &#26367;&#20195;&#31532;&#19968;&#20010;&#20540;&#24182;&#36820;&#22238;&#20854;&#32034;&#24341;
-</span><span class="comment">//
-</span><span class="keyword">template</span><span class="special">&lt;</span> <span class="keyword">class</span> <span class="identifier">ForwardReadableWriteableRange</span><span class="special">,</span> <span class="keyword">class</span> <span class="identifier">T</span> <span class="special">&gt;</span> -<span class="keyword">inline</span> <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range_size</span><span class="special">&lt;</span> <span class="identifier">ForwardReadableWriteableRange</span> <span class="special">&gt;::</span><span class="identifier">type</span> -<span class="identifier">my_generic_replace</span><span class="special">(</span> <span class="identifier">ForwardReadableWriteableRange</span><span class="special">&amp;</span> <span class="identifier">c</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">value</span><span class="special">,</span> <span class="keyword">const</span> <span class="identifier">T</span><span class="special">&amp;</span> <span class="identifier">replacement</span> <span class="special">)</span>
-<span class="special">{</span>
- <span class="keyword">typename</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">range_iterator</span><span class="special">&lt;</span> <span class="identifier">ForwardReadableWriteableRange</span> <span class="special">&gt;::</span><span class="identifier">type</span> <span class="identifier">found</span> <span class="special">=</span> <span class="identifier">find</span><span class="special">(</span> <span class="identifier">c</span><span class="special">,</span> <span class="identifier">value</span> <span class="special">);</span>
-
- <span class="keyword">if</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">c</span> <span class="special">)</span> <span class="special">)</span> - <span class="special">*</span><span class="identifier">found</span> <span class="special">=</span> <span class="identifier">replacement</span><span class="special">;</span> - <span class="keyword">return</span> <span class="identifier">std</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">c</span> <span class="special">),</span> <span class="identifier">found</span> <span class="special">);</span>
-<span class="special">}</span>
-
-<span class="comment">//
-</span><span class="comment">// usage &#29992;&#27861;
-</span><span class="comment">//
-</span><span class="keyword">const</span> <span class="keyword">int</span> <span class="identifier">N</span> <span class="special">=</span> <span class="number">5</span><span class="special">;</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">my_vector</span><span class="special">;</span> -<span class="keyword">int</span> <span class="identifier">values</span><span class="special">[]</span> <span class="special">=</span> <span class="special">{</span> <span class="number">1</span><span class="special">,</span><span class="number">2</span><span class="special">,</span><span class="number">3</span><span class="special">,</span><span class="number">4</span><span class="special">,</span><span class="number">5</span><span class="special">,</span><span class="number">6</span><span class="special">,</span><span class="number">7</span><span class="special">,</span><span class="number">8</span><span class="special">,</span><span class="number">9</span> <span class="special">};</span>
-
-<span class="identifier">my_vector</span><span class="special">.</span><span class="identifier">assign</span><span class="special">(</span> <span class="identifier">values</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">values</span> <span class="special">)</span> <span class="special">);</span> -<span class="keyword">typedef</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">iterator</span><span class="special">;</span> -<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> <span class="identifier">my_view</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">my_vector</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">my_vector</span> <span class="special">)</span> <span class="special">+</span> <span class="identifier">N</span> <span class="special">);</span> -<span class="keyword">char</span> <span class="identifier">str_val</span><span class="special">[]</span> <span class="special">=</span> <span class="string">"a string"</span><span class="special">;</span> -<span class="keyword">char</span><span class="special">*</span> <span class="identifier">str</span> <span class="special">=</span> <span class="identifier">str_val</span><span class="special">;</span>
-
-<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">my_generic_replace</span><span class="special">(</span> <span class="identifier">my_vector</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">2</span> <span class="special">);</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">my_generic_replace</span><span class="special">(</span> <span class="identifier">my_view</span><span class="special">,</span> <span class="number">4</span><span class="special">,</span> <span class="number">2</span> <span class="special">);</span> -<span class="identifier">std</span><span class="special">::</span><span class="identifier">cout</span> <span class="special">&lt;&lt;</span> <span class="identifier">my_generic_replace</span><span class="special">(</span> <span class="identifier">str</span><span class="special">,</span> <span class="char">'a'</span><span class="special">,</span> <span class="char">'b'</span> <span class="special">);</span>
-
-<span class="comment">// prints '3', '5' and '0'
-</span></pre>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span> +<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">adaptors</span><span class="special">;</span> +<span class="identifier">for_each</span><span class="special">(</span> <span class="identifier">my_map</span> <span class="special">|</span> <span class="identifier">map_keys</span><span class="special">,</span> <span class="identifier">fn</span> <span class="special">);</span>
+</pre>
 <p>
     </p>
+<a name="range.introduction.example___push_the_even_values_from_a_map_in_reverse_order_into_the_container__code__phrase_role__identifier__target__phrase___code_____map_____________________________________code__phrase_role__identifier__target__phrase___code_"></a><h4>
+<a name="id5045450"></a>
+ <a class="link" href="introduction.html#range.introduction.example___push_the_even_values_from_a_map_in_reverse_order_into_the_container__code__phrase_role__identifier__target__phrase___code_____map_____________________________________code__phrase_role__identifier__target__phrase___code_">Example + - Push the even values from a map in reverse order into the container <code class="computeroutput"><span class="identifier">target</span></code> &#23558;map&#20013;&#30340;&#20598;&#25968;&#20540;&#20197;&#21453;&#24207;&#25554;&#20837;&#23481;&#22120;<code class="computeroutput"><span class="identifier">target</span></code></a>
+    </h4>
 <p>
- By using the free-standing functions and <a href="../../../../../libs/mpl/doc/refmanual/metafunction.html" target="_top">metafunctions</a>, - the code automatically works for all the types supported by this library; now - and in the future. Notice that we have to provide two versions of <code class="computeroutput"><span class="identifier">find</span><span class="special">()</span></code> since - we cannot forward a non-const rvalue with reference arguments (see this article - about <a href="http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1385.htm"; target="_top">The - Forwarding Problem</a> ).<br> &#36890;&#36807;&#20351;&#29992;&#29420;&#31435;&#20989;&#25968;&#21644; <a href="../../../../../libs/mpl/doc/refmanual/metafunction.html" target="_top">metafunctions</a>&#65292;&#36825;&#20123;&#20195;&#30721;&#21487;&#20197;&#33258;&#21160;&#29992;&#20110;&#26412;&#24211;&#25903;&#25345;&#30340;&#25152;&#26377;&#31867;&#22411;&#65307;&#29616;&#22312;&#20197;&#21450;&#23558;&#26469;&#12290; - &#27880;&#24847;&#65292;&#25105;&#20204;&#24517;&#39035;&#25552;&#20379;&#20004;&#20010;&#29256;&#26412;&#30340; <code class="computeroutput"><span class="identifier">find</span><span class="special">()</span></code>&#65292;&#22240;&#20026;&#25105;&#20204;&#19981;&#33021;&#23558;&#19968;&#20010;&#38750;&#24120;&#37327;&#21491;&#20540;&#21069;&#36716;&#21040;&#24341;&#29992;&#21442;&#25968;(&#26377;&#20851; - <a href="http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1385.htm"; target="_top">The - Forwarding Problem</a>&#65292;&#35831;&#35265;&#36825;&#31687;&#25991;&#31456;)&#12290;
+
+</p>
+<pre class="programlisting"><span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">;</span> +<span class="keyword">using</span> <span class="keyword">namespace</span> <span class="identifier">boost</span><span class="special">::</span><span class="identifier">adaptors</span><span class="special">;</span> +<span class="comment">// Assume that is_even is a predicate that has been implemented elsewhere... +</span><span class="identifier">push_back</span><span class="special">(</span><span class="identifier">target</span><span class="special">,</span> <span class="identifier">my_map</span> <span class="special">|</span> <span class="identifier">map_values</span> <span class="special">|</span> <span class="identifier">filtered</span><span class="special">(</span><span class="identifier">is_even</span><span class="special">())</span> <span class="special">|</span> <span class="identifier">reversed</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>
@@ -163,7 +132,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="../index.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="concepts.html"><img src="../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="../index.html"><img src="../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../index.html"><img src="../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../index.html"><img src="../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="concepts.html"><img src="../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
=======================================
--- /trunk/libs/range/doc/html/range/library_headers/adaptors.html Tue Jun 22 21:13:43 2010 +++ /trunk/libs/range/doc/html/range/library_headers/adaptors.html Wed Sep 1 05:47:13 2010
@@ -2,9 +2,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Adaptors &#36866;&#37197;&#22120;</title>
-<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> <link rel="up" href="../library_headers.html" title="Library Headers &#22836;&#25991;&#20214;">
 <link rel="prev" href="general.html" title="General &#27010;&#36848;">
 <link rel="next" href="algorithm.html" title="Algorithm &#31639;&#27861;">
@@ -13,16 +13,16 @@
 <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"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../../../../more/index.htm">More</a></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="general.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../library_headers.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="algorithm.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="general.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../library_headers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="algorithm.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
<a name="range.library_headers.adaptors"></a><a class="link" href="adaptors.html" title="Adaptors &#36866;&#37197;&#22120;"> Adaptors &#36866;&#37197;&#22120;</a>
 </h3></div></div></div>
@@ -226,7 +226,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="general.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../library_headers.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="algorithm.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="general.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../library_headers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="algorithm.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
=======================================
--- /trunk/libs/range/doc/html/range/library_headers/algorithm.html Tue Jun 22 21:13:43 2010 +++ /trunk/libs/range/doc/html/range/library_headers/algorithm.html Wed Sep 1 05:47:13 2010
@@ -2,9 +2,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Algorithm &#31639;&#27861;</title>
-<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> <link rel="up" href="../library_headers.html" title="Library Headers &#22836;&#25991;&#20214;"> <link rel="prev" href="adaptors.html" title="Adaptors &#36866;&#37197;&#22120;"> <link rel="next" href="algorithm_extensions.html" title="Algorithm Extensions &#31639;&#27861;&#25193;&#23637;">
@@ -13,16 +13,16 @@
 <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"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../../../../more/index.htm">More</a></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="../library_headers.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="algorithm_extensions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="adaptors.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../library_headers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="algorithm_extensions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
<a name="range.library_headers.algorithm"></a><a class="link" href="algorithm.html" title="Algorithm &#31639;&#27861;"> Algorithm &#31639;&#27861;</a>
 </h3></div></div></div>
@@ -677,7 +677,7 @@
 </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="../library_headers.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="algorithm_extensions.html"><img src="../../../../../../doc/html/images/next.png" alt="Next"></a> +<a accesskey="p" href="adaptors.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../library_headers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="algorithm_extensions.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
=======================================
--- /trunk/libs/range/doc/html/range/library_headers/algorithm_extensions.html Tue Jun 22 21:13:43 2010 +++ /trunk/libs/range/doc/html/range/library_headers/algorithm_extensions.html Wed Sep 1 05:47:13 2010
@@ -2,9 +2,9 @@
 <head>
 <meta http-equiv="Content-Type" content="text/html; charset=US-ASCII">
 <title>Algorithm Extensions &#31639;&#27861;&#25193;&#23637;</title>
-<link rel="stylesheet" href="../../../../../../doc/html/boostbook.css" type="text/css">
-<meta name="generator" content="DocBook XSL Stylesheets V1.73.2">
-<link rel="start" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> +<link rel="stylesheet" href="../../../../../../doc/src/boostbook.css" type="text/css">
+<meta name="generator" content="DocBook XSL Stylesheets V1.75.2">
+<link rel="home" href="../../index.html" title="Chapter&#160;1.&#160;Range 2.0"> <link rel="up" href="../library_headers.html" title="Library Headers &#22836;&#25991;&#20214;">
 <link rel="prev" href="algorithm.html" title="Algorithm &#31639;&#27861;">
 <link rel="next" href="../examples.html" title="Examples &#31034;&#20363;">
@@ -13,16 +13,16 @@
 <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"><a href="../../../../../../index.html">Home</a></td>
-<td align="center"><a href="../../../../../libraries.htm">Libraries</a></td> +<td align="center"><a href="../../../../../../libs/libraries.htm">Libraries</a></td> <td align="center"><a href="http://www.boost.org/users/people.html";>People</a></td> <td align="center"><a href="http://www.boost.org/users/faq.html";>FAQ</a></td>
 <td align="center"><a href="../../../../../../more/index.htm">More</a></td>
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="algorithm.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../library_headers.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="algorithm.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../library_headers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../examples.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
-<div class="section" lang="en">
+<div class="section">
 <div class="titlepage"><div><div><h3 class="title">
<a name="range.library_headers.algorithm_extensions"></a><a class="link" href="algorithm_extensions.html" title="Algorithm Extensions &#31639;&#27861;&#25193;&#23637;"> Algorithm
       Extensions &#31639;&#27861;&#25193;&#23637;</a>
@@ -166,7 +166,7 @@
 </tr></table>
 <hr>
 <div class="spirit-nav">
-<a accesskey="p" href="algorithm.html"><img src="../../../../../../doc/html/images/prev.png" alt="Prev"></a><a accesskey="u" href="../library_headers.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="algorithm.html"><img src="../../../../../../doc/src/images/prev.png" alt="Prev"></a><a accesskey="u" href="../library_headers.html"><img src="../../../../../../doc/src/images/up.png" alt="Up"></a><a accesskey="h" href="../../index.html"><img src="../../../../../../doc/src/images/home.png" alt="Home"></a><a accesskey="n" href="../examples.html"><img src="../../../../../../doc/src/images/next.png" alt="Next"></a>
 </div>
 </body>
 </html>
=======================================
***Additional files exist in this changeset.***

Other related posts:

  • » [boost-doc-zh] r430 committed - 升级至1.44.0,第7批,libs/目录q-r子目录 - boost-doc-zh