From eea32403ef6affe4f7e558e5ab1f5c78e1f324c0 Mon Sep 17 00:00:00 2001 From: Neil Groves Date: Thu, 8 Apr 2010 19:34:17 +0000 Subject: [PATCH] Boost.Range merge of fixes from the trunk. [SVN r61146] --- doc/Jamfile.v2 | 18 +- doc/boost_range.qbk | 18 +- doc/html/index.html | 6 +- doc/html/quickbook_HTML.manifest | 1 + doc/html/range/concepts.html | 2 +- .../range/concepts/bidirectional_range.html | 20 +- doc/html/range/concepts/concept_checking.html | 10 +- doc/html/range/concepts/forward_range.html | 14 +- doc/html/range/concepts/overview.html | 2 +- .../range/concepts/random_access_range.html | 16 +- .../range/concepts/single_pass_range.html | 20 +- doc/html/range/examples.html | 2 +- doc/html/range/faq.html | 2 +- doc/html/range/history_ack.html | 2 +- doc/html/range/introduction.html | 6 +- doc/html/range/library_headers.html | 2 +- doc/html/range/mfc_atl.html | 6 +- doc/html/range/mfc_atl/atl_ranges.html | 2 +- doc/html/range/mfc_atl/const_ranges.html | 2 +- doc/html/range/mfc_atl/mfc_ranges.html | 2 +- doc/html/range/mfc_atl/references.html | 2 +- doc/html/range/mfc_atl/requirements.html | 2 +- doc/html/range/portability.html | 2 +- doc/html/range/reference.html | 2 +- doc/html/range/reference/adaptors.html | 2 +- .../adaptors_general_requirements.html | 2 +- .../adaptors/adaptors_introduction.html | 8 +- .../adaptors/adaptors_reference.html | 2 +- .../adaptors_reference/adjacent_filtered.html | 2 +- .../adaptors/adaptors_reference/copied.html | 2 +- .../adaptors/adaptors_reference/filtered.html | 2 +- .../adaptors/adaptors_reference/indexed.html | 2 +- .../adaptors_reference/indirected.html | 2 +- .../adaptors/adaptors_reference/map_keys.html | 2 +- .../adaptors_reference/map_values.html | 2 +- .../adaptors/adaptors_reference/replaced.html | 2 +- .../adaptors_reference/replaced_if.html | 2 +- .../adaptors/adaptors_reference/reversed.html | 2 +- .../adaptors/adaptors_reference/sliced.html | 2 +- .../adaptors/adaptors_reference/strided.html | 2 +- .../adaptors_reference/tokenized.html | 2 +- .../adaptors_reference/transformed.html | 2 +- .../adaptors/adaptors_reference/uniqued.html | 2 +- .../reference/adaptors/adaptors_synopsis.html | 2 +- doc/html/range/reference/algorithms.html | 2 +- .../reference/algorithms/heap_algorithms.html | 2 +- .../algorithms/heap_algorithms/make_heap.html | 12 +- .../algorithms/heap_algorithms/pop_heap.html | 14 +- .../algorithms/heap_algorithms/push_heap.html | 14 +- .../algorithms/permutation_algorithms.html | 2 +- .../next_permutation.html | 12 +- .../prev_permutation.html | 12 +- .../range_algorithm_introduction.html | 2 +- .../range_algorithm_mutating_algorithms.html | 2 +- .../copy.html | 14 +- .../copy_backward.html | 14 +- .../fill.html | 12 +- .../generate.html | 14 +- .../inplace_merge.html | 18 +- .../merge.html | 18 +- .../nth_element.html | 12 +- .../partial_sort.html | 12 +- .../partition.html | 12 +- .../random_shuffle.html | 14 +- .../remove.html | 12 +- .../remove_if.html | 12 +- .../replace.html | 12 +- .../replace_if.html | 12 +- .../rotate.html | 14 +- .../sort.html | 12 +- .../stable_partition.html | 12 +- .../stable_sort.html | 12 +- .../transform.html | 14 +- .../unique.html | 12 +- .../range_algorithm_new_algorithms.html | 4 +- .../range_algorithm_new_algorithms/erase.html | 12 +- .../for_each.html | 12 +- .../insert.html | 18 +- .../range_algorithm_new_algorithms/iota.html | 96 +++++++ .../overwrite.html | 18 +- .../push_back.html | 12 +- .../push_front.html | 12 +- .../remove_erase.html | 12 +- .../remove_erase_if.html | 12 +- ...nge_algorithm_non_mutating_algorithms.html | 2 +- .../adjacent_find.html | 12 +- .../binary_search.html | 14 +- .../count.html | 12 +- .../equal.html | 12 +- .../equal_range.html | 14 +- .../find.html | 24 +- .../find_end.html | 42 +-- .../find_first_of.html | 42 +-- .../find_if.html | 26 +- .../for_each.html | 12 +- .../lexicographical_compare.html | 12 +- .../lower_bound.html | 26 +- .../max_element.html | 12 +- .../min_element.html | 12 +- .../mismatch.html | 14 +- .../search.html | 12 +- .../upper_bound.html | 26 +- .../reference/algorithms/range_numeric.html | 2 +- .../algorithms/range_numeric/accumulate.html | 16 +- .../range_numeric/adjacent_difference.html | 18 +- .../range_numeric/inner_product.html | 18 +- .../algorithms/range_numeric/partial_sum.html | 18 +- .../reference/algorithms/set_algorithms.html | 2 +- .../algorithms/set_algorithms/includes.html | 14 +- .../set_algorithms/set_difference.html | 14 +- .../set_algorithms/set_intersection.html | 14 +- .../set_symmetric_difference.html | 14 +- .../algorithms/set_algorithms/set_union.html | 14 +- doc/html/range/reference/extending.html | 2 +- .../range/reference/extending/method_1.html | 4 +- .../range/reference/extending/method_2.html | 2 +- .../range/reference/extending/method_3.html | 2 +- .../extending/method_3/method_3_1.html | 2 +- .../extending/method_3/method_3_2.html | 2 +- doc/html/range/reference/overview.html | 2 +- doc/html/range/reference/ranges.html | 2 +- .../reference/ranges/counting_range.html | 10 +- doc/html/range/reference/ranges/irange.html | 12 +- .../range/reference/ranges/istream_range.html | 8 +- doc/html/range/reference/semantics.html | 4 +- .../range/reference/semantics/functions.html | 2 +- .../reference/semantics/metafunctions.html | 2 +- doc/html/range/reference/synopsis.html | 2 +- doc/html/range/style_guide.html | 4 +- doc/html/range/upgrade.html | 2 +- doc/html/range/upgrade/upgrade_from_1_34.html | 2 +- doc/html/range/upgrade/upgrade_from_1_42.html | 2 +- doc/html/range/utilities.html | 4 +- doc/html/range/utilities/iterator_range.html | 10 +- doc/html/range/utilities/join.html | 6 +- doc/html/range/utilities/sub_range.html | 4 +- doc/reference/algorithm_ext/iota.qbk | 2 +- .../boost/range/adaptor/adjacent_filtered.hpp | 198 ++++++------- include/boost/range/adaptor/uniqued.hpp | 42 +-- include/boost/range/combine.hpp | 272 +++++++++--------- include/boost/range/size_type.hpp | 3 +- test/combine.cpp | 20 +- test/iterator_range.cpp | 2 +- 143 files changed, 903 insertions(+), 951 deletions(-) create mode 100644 doc/html/range/reference/algorithms/range_algorithm_new_algorithms/iota.html mode change 100755 => 100644 include/boost/range/size_type.hpp diff --git a/doc/Jamfile.v2 b/doc/Jamfile.v2 index e286110..5195b32 100644 --- a/doc/Jamfile.v2 +++ b/doc/Jamfile.v2 @@ -8,20 +8,12 @@ #// For more information, see http://www.boost.org/libs/range/ #// - -#use-project boost : $(BOOST_ROOT) ; - project boost/libs/range/doc ; -import boostbook : boostbook ; -#import quickbook ; +using boostbook ; using quickbook ; path-constant images_location : html ; -#xml boost_range : boost_range.qbk ; - -#boostbook standalone - boostbook quickbook : boost_range.qbk @@ -34,11 +26,7 @@ boostbook quickbook toc.section.depth=3 toc.max.depth=3 generate.section.toc.level=4 - -# generate.section.toc.level=4 -# chunk.first.sections=7 -# toc.section.depth=10 - pdf:boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html - pdf:img.src.path=$(images_location)/ + pdf:boost.url.prefix=http://www.boost.org/doc/libs/release/doc/html + pdf:img.src.path=$(images_location)/ ; diff --git a/doc/boost_range.qbk b/doc/boost_range.qbk index 45af6c4..1d56b82 100644 --- a/doc/boost_range.qbk +++ b/doc/boost_range.qbk @@ -64,17 +64,17 @@ [def __range_adaptors__ [link range.reference.adaptors Range adaptors]] [def __range_algorithms__ [link range.reference.algorithms Range algorithms]] -[def __single_pass_iterator__ [@../../libs/iterator/doc/new-iter-concepts.html#singls-pass-iterators-lib-single-pass-iterators Single Pass Iterator]] -[def __forward_traversal_iterator__ [@../../libs/iterator/doc/new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators Forward Traversal Iterator]] -[def __bidirectional_traversal_iterator__ [@../../libs/iterator/doc/new-iter-concepts.html#bidirectional-traversal-iterators-lib-bidirectional-traversal-iterators Bidirectional Traversal Iterator]] -[def __random_access_traversal_iterator__ [@../../libs/iterator/doc/new-iter-concepts.html#random-access-traversal-iterators-lib-random-access-traversal-iterators Random Access Traversal Iterator]] -[def __new_style_iterators__ [@../../libs/iterator/doc/new-iter-concepts.html new style iterators]] -[def __iterator_concepts__ [@../../libs/iterator/doc/iterator_concepts.html Iterator concepts]] +[def __single_pass_iterator__ [@boost:/libs/iterator/doc/new-iter-concepts.html#singls-pass-iterators-lib-single-pass-iterators Single Pass Iterator]] +[def __forward_traversal_iterator__ [@boost:/libs/iterator/doc/new-iter-concepts.html#forward-traversal-iterators-lib-forward-traversal-iterators Forward Traversal Iterator]] +[def __bidirectional_traversal_iterator__ [@boost:/libs/iterator/doc/new-iter-concepts.html#bidirectional-traversal-iterators-lib-bidirectional-traversal-iterators Bidirectional Traversal Iterator]] +[def __random_access_traversal_iterator__ [@boost:/libs/iterator/doc/new-iter-concepts.html#random-access-traversal-iterators-lib-random-access-traversal-iterators Random Access Traversal Iterator]] +[def __new_style_iterators__ [@boost:/libs/iterator/doc/new-iter-concepts.html new style iterators]] +[def __iterator_concepts__ [@boost:/libs/iterator/doc/iterator_concepts.html Iterator concepts]] [def __container__ [@http://www.sgi.com/Technology/STL/Container.html Container]] -[def __metafunctions__ [@../../libs/mpl/doc/refmanual/metafunction.html metafunctions]] -[def __concept_check__ [@../../libs/concept_check/index.html Boost Concept Check library]] -[def __boost_array__ [@../../libs/array/index.html boost::array]] +[def __metafunctions__ [@boost:/libs/mpl/doc/refmanual/metafunction.html metafunctions]] +[def __concept_check__ [@boost:/libs/concept_check/index.html Boost Concept Check library]] +[def __boost_array__ [@boost:/libs/array/index.html boost::array]] [def __the_forwarding_problem__ [@http://std.dkuug.dk/jtc1/sc22/wg21/docs/papers/2002/n1385.htm The Forwarding Problem]] [def __sgi_inner_product__ [@http://www.sgi.com/tech/stl/inner_product.html inner_product]] diff --git a/doc/html/index.html b/doc/html/index.html index 4f1a4a1..f5bb91c 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,7 +3,7 @@ Chapter 1. Range 2.0 - + @@ -30,7 +30,7 @@
-

+

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

@@ -135,7 +135,7 @@

- +

Last revised: April 03, 2010 at 08:56:46 GMT

Last revised: April 05, 2010 at 17:25:33 GMT


diff --git a/doc/html/quickbook_HTML.manifest b/doc/html/quickbook_HTML.manifest index b3be8f5..67e69fa 100644 --- a/doc/html/quickbook_HTML.manifest +++ b/doc/html/quickbook_HTML.manifest @@ -91,6 +91,7 @@ range/reference/algorithms/range_algorithm_new_algorithms.html range/reference/algorithms/range_algorithm_new_algorithms/erase.html range/reference/algorithms/range_algorithm_new_algorithms/for_each.html range/reference/algorithms/range_algorithm_new_algorithms/insert.html +range/reference/algorithms/range_algorithm_new_algorithms/iota.html range/reference/algorithms/range_algorithm_new_algorithms/overwrite.html range/reference/algorithms/range_algorithm_new_algorithms/push_back.html range/reference/algorithms/range_algorithm_new_algorithms/push_front.html diff --git a/doc/html/range/concepts.html b/doc/html/range/concepts.html index c384122..c43b67c 100644 --- a/doc/html/range/concepts.html +++ b/doc/html/range/concepts.html @@ -3,7 +3,7 @@ Range Concepts - + diff --git a/doc/html/range/concepts/bidirectional_range.html b/doc/html/range/concepts/bidirectional_range.html index 796ca14..0fc965b 100644 --- a/doc/html/range/concepts/bidirectional_range.html +++ b/doc/html/range/concepts/bidirectional_range.html @@ -3,7 +3,7 @@ Bidirectional Range - + @@ -27,7 +27,7 @@ Bidirectional Range
- + Notation
@@ -65,17 +65,17 @@
- + Description

This concept provides access to iterators that traverse in both directions (forward and reverse). The boost::range_iterator<X>::type iterator must meet all of the requirements - of Bidirectional + of Bidirectional Traversal Iterator.

- + Refinement of
@@ -83,7 +83,7 @@ Forward Range

- + Associated types
@@ -136,7 +136,7 @@
- + Valid expressions
@@ -221,7 +221,7 @@
- + Complexity guarantees
@@ -232,7 +232,7 @@ Forward Range.

- + Invariants
@@ -272,7 +272,7 @@
- + See also

diff --git a/doc/html/range/concepts/concept_checking.html b/doc/html/range/concepts/concept_checking.html index 37175b4..a4aa1d9 100644 --- a/doc/html/range/concepts/concept_checking.html +++ b/doc/html/range/concepts/concept_checking.html @@ -3,7 +3,7 @@ Concept Checking - + @@ -29,7 +29,7 @@

Each of the range concepts has a corresponding concept checking class in the file <boost/range/concepts.hpp>. - These classes may be used in conjunction with the Boost + These classes may be used in conjunction with the Boost Concept Check library 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 @@ -79,17 +79,17 @@

- + See also

Range Terminology and style guidelines

- Iterator concepts + Iterator concepts

- Boost Concept Check library + Boost Concept Check library

diff --git a/doc/html/range/concepts/forward_range.html b/doc/html/range/concepts/forward_range.html index 9076b68..f82d8c5 100644 --- a/doc/html/range/concepts/forward_range.html +++ b/doc/html/range/concepts/forward_range.html @@ -3,7 +3,7 @@ Forward Range - + @@ -27,7 +27,7 @@ Forward Range
- + Notation
@@ -65,22 +65,22 @@
- + Description

- A range X where boost::range_iterator<X>::type is a model of Forward + A range X where boost::range_iterator<X>::type is a model of Forward Traversal Iterator.

- + Refinement of

Single Pass Range

- + Associated types
@@ -132,7 +132,7 @@
- + See also

diff --git a/doc/html/range/concepts/overview.html b/doc/html/range/concepts/overview.html index 7cd19e8..c2bb4d1 100644 --- a/doc/html/range/concepts/overview.html +++ b/doc/html/range/concepts/overview.html @@ -3,7 +3,7 @@ Overview - + diff --git a/doc/html/range/concepts/random_access_range.html b/doc/html/range/concepts/random_access_range.html index 97b3171..cc5d88e 100644 --- a/doc/html/range/concepts/random_access_range.html +++ b/doc/html/range/concepts/random_access_range.html @@ -3,7 +3,7 @@ Random Access Range - + @@ -27,15 +27,15 @@ Random Access Range

- + Description

- A range X where boost::range_iterator<X>::type is a model of Random + A range X where boost::range_iterator<X>::type is a model of Random Access Traversal Iterator.

- + Refinement of
@@ -43,7 +43,7 @@ Bidirectional Range

- + Valid expressions
@@ -89,7 +89,7 @@
- + Expression semantics
@@ -139,7 +139,7 @@
- + Complexity guarantees
@@ -147,7 +147,7 @@ boost::size(a) completes in amortized constant time.

- + Invariants
diff --git a/doc/html/range/concepts/single_pass_range.html b/doc/html/range/concepts/single_pass_range.html index 10669d1..9cb3123 100644 --- a/doc/html/range/concepts/single_pass_range.html +++ b/doc/html/range/concepts/single_pass_range.html @@ -3,7 +3,7 @@ Single Pass Range - + @@ -27,7 +27,7 @@ Single Pass Range
- + Notation
@@ -65,15 +65,15 @@
- + Description

- A range X where boost::range_iterator<X>::type is a model of Single + A range X where boost::range_iterator<X>::type is a model of Single Pass Iterator.

- + Associated types
@@ -126,7 +126,7 @@
- + Valid expressions
@@ -198,7 +198,7 @@
- + Expression semantics
@@ -266,7 +266,7 @@
- + Complexity guarantees
@@ -276,7 +276,7 @@ constant time.

- + Invariants
@@ -316,7 +316,7 @@
- + See also

diff --git a/doc/html/range/examples.html b/doc/html/range/examples.html index b272df8..f517040 100644 --- a/doc/html/range/examples.html +++ b/doc/html/range/examples.html @@ -3,7 +3,7 @@ Examples - + diff --git a/doc/html/range/faq.html b/doc/html/range/faq.html index 0c9d40b..a5ea15d 100644 --- a/doc/html/range/faq.html +++ b/doc/html/range/faq.html @@ -3,7 +3,7 @@ FAQ - + diff --git a/doc/html/range/history_ack.html b/doc/html/range/history_ack.html index 930b6b6..2401db3 100644 --- a/doc/html/range/history_ack.html +++ b/doc/html/range/history_ack.html @@ -3,7 +3,7 @@ History and Acknowledgement - + diff --git a/doc/html/range/introduction.html b/doc/html/range/introduction.html index 8bce31d..e41a60c 100644 --- a/doc/html/range/introduction.html +++ b/doc/html/range/introduction.html @@ -3,7 +3,7 @@ Introduction - + @@ -50,7 +50,7 @@ null terminated strings, std::pairs of iterators, and raw arrays (and more), such that the same generic code can work with them all. The basic idea is to add another layer of indirection using - metafunctions + metafunctions and free-standing functions so syntactic and/or semantic differences can be removed.

@@ -130,7 +130,7 @@

- By using the free-standing functions and metafunctions, + By using the free-standing functions and metafunctions, 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 find() since we cannot forward a non-const rvalue with reference arguments (see this article diff --git a/doc/html/range/library_headers.html b/doc/html/range/library_headers.html index a5bd095..8f28283 100644 --- a/doc/html/range/library_headers.html +++ b/doc/html/range/library_headers.html @@ -3,7 +3,7 @@ Library Headers - + diff --git a/doc/html/range/mfc_atl.html b/doc/html/range/mfc_atl.html index 8d5ed19..338e860 100644 --- a/doc/html/range/mfc_atl.html +++ b/doc/html/range/mfc_atl.html @@ -3,7 +3,7 @@ MFC/ATL (courtesy of Shunsuke Sogame) - + @@ -34,7 +34,7 @@

References
- + Introduction

@@ -100,7 +100,7 @@

- + Overview

diff --git a/doc/html/range/mfc_atl/atl_ranges.html b/doc/html/range/mfc_atl/atl_ranges.html index 65ee355..766375d 100644 --- a/doc/html/range/mfc_atl/atl_ranges.html +++ b/doc/html/range/mfc_atl/atl_ranges.html @@ -3,7 +3,7 @@ ATL Ranges - + diff --git a/doc/html/range/mfc_atl/const_ranges.html b/doc/html/range/mfc_atl/const_ranges.html index 2e047f6..222c6d8 100644 --- a/doc/html/range/mfc_atl/const_ranges.html +++ b/doc/html/range/mfc_atl/const_ranges.html @@ -3,7 +3,7 @@ const Ranges - + diff --git a/doc/html/range/mfc_atl/mfc_ranges.html b/doc/html/range/mfc_atl/mfc_ranges.html index af0c6e9..9e6d001 100644 --- a/doc/html/range/mfc_atl/mfc_ranges.html +++ b/doc/html/range/mfc_atl/mfc_ranges.html @@ -3,7 +3,7 @@ MFC Ranges - + diff --git a/doc/html/range/mfc_atl/references.html b/doc/html/range/mfc_atl/references.html index 124a538..8afe82a 100644 --- a/doc/html/range/mfc_atl/references.html +++ b/doc/html/range/mfc_atl/references.html @@ -3,7 +3,7 @@ References - + diff --git a/doc/html/range/mfc_atl/requirements.html b/doc/html/range/mfc_atl/requirements.html index 131433f..c49ac8c 100644 --- a/doc/html/range/mfc_atl/requirements.html +++ b/doc/html/range/mfc_atl/requirements.html @@ -3,7 +3,7 @@ Requirements - + diff --git a/doc/html/range/portability.html b/doc/html/range/portability.html index 901e0b1..63e3621 100644 --- a/doc/html/range/portability.html +++ b/doc/html/range/portability.html @@ -3,7 +3,7 @@ Portability - + diff --git a/doc/html/range/reference.html b/doc/html/range/reference.html index 70c17dc..a76673a 100644 --- a/doc/html/range/reference.html +++ b/doc/html/range/reference.html @@ -3,7 +3,7 @@ Reference - + diff --git a/doc/html/range/reference/adaptors.html b/doc/html/range/reference/adaptors.html index 5ab0ecd..bc68382 100644 --- a/doc/html/range/reference/adaptors.html +++ b/doc/html/range/reference/adaptors.html @@ -3,7 +3,7 @@ Range Adaptors - + diff --git a/doc/html/range/reference/adaptors/adaptors_general_requirements.html b/doc/html/range/reference/adaptors/adaptors_general_requirements.html index a815bae..ce2b17b 100644 --- a/doc/html/range/reference/adaptors/adaptors_general_requirements.html +++ b/doc/html/range/reference/adaptors/adaptors_general_requirements.html @@ -3,7 +3,7 @@ General Requirements - + diff --git a/doc/html/range/reference/adaptors/adaptors_introduction.html b/doc/html/range/reference/adaptors/adaptors_introduction.html index efa54fd..3d61175 100644 --- a/doc/html/range/reference/adaptors/adaptors_introduction.html +++ b/doc/html/range/reference/adaptors/adaptors_introduction.html @@ -3,7 +3,7 @@ Introduction and motivation - + @@ -122,7 +122,7 @@ situations, you will really appreciate the succinctness of operator|().

- + Composition of Adaptors
@@ -159,7 +159,7 @@ is the design solution to this problem.

- + Range Adaptor alternative to copy_if algorithm
@@ -176,7 +176,7 @@

- + Range Adaptor alternative to count_if algorithm
diff --git a/doc/html/range/reference/adaptors/adaptors_reference.html b/doc/html/range/reference/adaptors/adaptors_reference.html index d284888..5a3dae6 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference.html +++ b/doc/html/range/reference/adaptors/adaptors_reference.html @@ -3,7 +3,7 @@ Reference - + diff --git a/doc/html/range/reference/adaptors/adaptors_reference/adjacent_filtered.html b/doc/html/range/reference/adaptors/adaptors_reference/adjacent_filtered.html index fa763c8..df72e28 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference/adjacent_filtered.html +++ b/doc/html/range/reference/adaptors/adaptors_reference/adjacent_filtered.html @@ -3,7 +3,7 @@ adjacent_filtered - + diff --git a/doc/html/range/reference/adaptors/adaptors_reference/copied.html b/doc/html/range/reference/adaptors/adaptors_reference/copied.html index 650e29a..b488800 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference/copied.html +++ b/doc/html/range/reference/adaptors/adaptors_reference/copied.html @@ -3,7 +3,7 @@ copied - + diff --git a/doc/html/range/reference/adaptors/adaptors_reference/filtered.html b/doc/html/range/reference/adaptors/adaptors_reference/filtered.html index 1551a9f..04d418d 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference/filtered.html +++ b/doc/html/range/reference/adaptors/adaptors_reference/filtered.html @@ -3,7 +3,7 @@ filtered - + diff --git a/doc/html/range/reference/adaptors/adaptors_reference/indexed.html b/doc/html/range/reference/adaptors/adaptors_reference/indexed.html index d8c8674..03ec01b 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference/indexed.html +++ b/doc/html/range/reference/adaptors/adaptors_reference/indexed.html @@ -3,7 +3,7 @@ indexed - + diff --git a/doc/html/range/reference/adaptors/adaptors_reference/indirected.html b/doc/html/range/reference/adaptors/adaptors_reference/indirected.html index adcd57a..391abcc 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference/indirected.html +++ b/doc/html/range/reference/adaptors/adaptors_reference/indirected.html @@ -3,7 +3,7 @@ indirected - + diff --git a/doc/html/range/reference/adaptors/adaptors_reference/map_keys.html b/doc/html/range/reference/adaptors/adaptors_reference/map_keys.html index 95c1746..7af39c9 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference/map_keys.html +++ b/doc/html/range/reference/adaptors/adaptors_reference/map_keys.html @@ -3,7 +3,7 @@ map_keys - + diff --git a/doc/html/range/reference/adaptors/adaptors_reference/map_values.html b/doc/html/range/reference/adaptors/adaptors_reference/map_values.html index 553a8f3..810ba7a 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference/map_values.html +++ b/doc/html/range/reference/adaptors/adaptors_reference/map_values.html @@ -3,7 +3,7 @@ map_values - + diff --git a/doc/html/range/reference/adaptors/adaptors_reference/replaced.html b/doc/html/range/reference/adaptors/adaptors_reference/replaced.html index 0990ede..6af8257 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference/replaced.html +++ b/doc/html/range/reference/adaptors/adaptors_reference/replaced.html @@ -3,7 +3,7 @@ replaced - + diff --git a/doc/html/range/reference/adaptors/adaptors_reference/replaced_if.html b/doc/html/range/reference/adaptors/adaptors_reference/replaced_if.html index abcf00f..f916472 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference/replaced_if.html +++ b/doc/html/range/reference/adaptors/adaptors_reference/replaced_if.html @@ -3,7 +3,7 @@ replaced_if - + diff --git a/doc/html/range/reference/adaptors/adaptors_reference/reversed.html b/doc/html/range/reference/adaptors/adaptors_reference/reversed.html index 52f4cda..2ef6d5d 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference/reversed.html +++ b/doc/html/range/reference/adaptors/adaptors_reference/reversed.html @@ -3,7 +3,7 @@ reversed - + diff --git a/doc/html/range/reference/adaptors/adaptors_reference/sliced.html b/doc/html/range/reference/adaptors/adaptors_reference/sliced.html index 9793092..8901fa0 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference/sliced.html +++ b/doc/html/range/reference/adaptors/adaptors_reference/sliced.html @@ -3,7 +3,7 @@ sliced - + diff --git a/doc/html/range/reference/adaptors/adaptors_reference/strided.html b/doc/html/range/reference/adaptors/adaptors_reference/strided.html index 6fcc281..ca37e60 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference/strided.html +++ b/doc/html/range/reference/adaptors/adaptors_reference/strided.html @@ -3,7 +3,7 @@ strided - + diff --git a/doc/html/range/reference/adaptors/adaptors_reference/tokenized.html b/doc/html/range/reference/adaptors/adaptors_reference/tokenized.html index fc4bc42..0b294b2 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference/tokenized.html +++ b/doc/html/range/reference/adaptors/adaptors_reference/tokenized.html @@ -3,7 +3,7 @@ tokenized - + diff --git a/doc/html/range/reference/adaptors/adaptors_reference/transformed.html b/doc/html/range/reference/adaptors/adaptors_reference/transformed.html index 56a6170..1947b6d 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference/transformed.html +++ b/doc/html/range/reference/adaptors/adaptors_reference/transformed.html @@ -3,7 +3,7 @@ transformed - + diff --git a/doc/html/range/reference/adaptors/adaptors_reference/uniqued.html b/doc/html/range/reference/adaptors/adaptors_reference/uniqued.html index 3b314ab..1f7d9fb 100644 --- a/doc/html/range/reference/adaptors/adaptors_reference/uniqued.html +++ b/doc/html/range/reference/adaptors/adaptors_reference/uniqued.html @@ -3,7 +3,7 @@ uniqued - + diff --git a/doc/html/range/reference/adaptors/adaptors_synopsis.html b/doc/html/range/reference/adaptors/adaptors_synopsis.html index d0fea59..202a114 100644 --- a/doc/html/range/reference/adaptors/adaptors_synopsis.html +++ b/doc/html/range/reference/adaptors/adaptors_synopsis.html @@ -3,7 +3,7 @@ Synopsis - + diff --git a/doc/html/range/reference/algorithms.html b/doc/html/range/reference/algorithms.html index fc70d02..99e1dad 100644 --- a/doc/html/range/reference/algorithms.html +++ b/doc/html/range/reference/algorithms.html @@ -3,7 +3,7 @@ Range Algorithm - + diff --git a/doc/html/range/reference/algorithms/heap_algorithms.html b/doc/html/range/reference/algorithms/heap_algorithms.html index 25c45e4..2cdbaaa 100644 --- a/doc/html/range/reference/algorithms/heap_algorithms.html +++ b/doc/html/range/reference/algorithms/heap_algorithms.html @@ -3,7 +3,7 @@ Heap algorithms - + diff --git a/doc/html/range/reference/algorithms/heap_algorithms/make_heap.html b/doc/html/range/reference/algorithms/heap_algorithms/make_heap.html index d8d4033..083df4a 100644 --- a/doc/html/range/reference/algorithms/heap_algorithms/make_heap.html +++ b/doc/html/range/reference/algorithms/heap_algorithms/make_heap.html @@ -3,7 +3,7 @@ make_heap - + @@ -28,7 +28,7 @@ make_heap
- + Prototype

@@ -49,7 +49,7 @@

- + Description

@@ -61,14 +61,14 @@ the predicate versions.

- + Definition

Defined in the header file boost/range/algorithm/heap_algorithm.hpp

- + Requirements

@@ -119,7 +119,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/heap_algorithms/pop_heap.html b/doc/html/range/reference/algorithms/heap_algorithms/pop_heap.html index f1588b7..2e45c55 100644 --- a/doc/html/range/reference/algorithms/heap_algorithms/pop_heap.html +++ b/doc/html/range/reference/algorithms/heap_algorithms/pop_heap.html @@ -3,7 +3,7 @@ pop_heap - + @@ -28,7 +28,7 @@ pop_heap

- + Prototype

@@ -49,7 +49,7 @@

- + Description

@@ -63,14 +63,14 @@ the predicate versions.

- + Definition

Defined in the header file boost/range/algorithm/heap_algorithm.hpp

- + Requirements

@@ -121,7 +121,7 @@

- + Precondition:
    @@ -131,7 +131,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/heap_algorithms/push_heap.html b/doc/html/range/reference/algorithms/heap_algorithms/push_heap.html index 35b64ca..9bcf219 100644 --- a/doc/html/range/reference/algorithms/heap_algorithms/push_heap.html +++ b/doc/html/range/reference/algorithms/heap_algorithms/push_heap.html @@ -3,7 +3,7 @@ push_heap - + @@ -28,7 +28,7 @@ push_heap

- + Prototype

@@ -49,7 +49,7 @@

- + Description

@@ -63,14 +63,14 @@ the predicate versions.

- + Definition

Defined in the header file boost/range/algorithm/heap_algorithm.hpp

- + Requirements

@@ -121,7 +121,7 @@

- + Precondition:
    @@ -131,7 +131,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/permutation_algorithms.html b/doc/html/range/reference/algorithms/permutation_algorithms.html index 12e33f9..a9e2392 100644 --- a/doc/html/range/reference/algorithms/permutation_algorithms.html +++ b/doc/html/range/reference/algorithms/permutation_algorithms.html @@ -3,7 +3,7 @@ Permutation algorithms - + diff --git a/doc/html/range/reference/algorithms/permutation_algorithms/next_permutation.html b/doc/html/range/reference/algorithms/permutation_algorithms/next_permutation.html index 8521343..0a212cf 100644 --- a/doc/html/range/reference/algorithms/permutation_algorithms/next_permutation.html +++ b/doc/html/range/reference/algorithms/permutation_algorithms/next_permutation.html @@ -3,7 +3,7 @@ next_permutation - + @@ -28,7 +28,7 @@ next_permutation

- + Prototype

@@ -49,7 +49,7 @@

- + Description

@@ -67,14 +67,14 @@ the predicate versions.

- + Definition

Defined in the header file boost/range/algorithm/permutation.hpp

- + Requirements

@@ -125,7 +125,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/permutation_algorithms/prev_permutation.html b/doc/html/range/reference/algorithms/permutation_algorithms/prev_permutation.html index a1e0d1d..06b9d1d 100644 --- a/doc/html/range/reference/algorithms/permutation_algorithms/prev_permutation.html +++ b/doc/html/range/reference/algorithms/permutation_algorithms/prev_permutation.html @@ -3,7 +3,7 @@ prev_permutation - + @@ -28,7 +28,7 @@ prev_permutation

- + Prototype

@@ -49,7 +49,7 @@

- + Description

@@ -67,14 +67,14 @@ the predicate versions.

- + Definition

Defined in the header file boost/range/algorithm/permutation.hpp

- + Requirements

@@ -125,7 +125,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_introduction.html b/doc/html/range/reference/algorithms/range_algorithm_introduction.html index 9f15ed5..f0aa6c4 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_introduction.html +++ b/doc/html/range/reference/algorithms/range_algorithm_introduction.html @@ -3,7 +3,7 @@ Introduction and motivation - + diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms.html index 80710b0..fcd52d1 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms.html @@ -3,7 +3,7 @@ Mutating algorithms - + diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/copy.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/copy.html index 0decd23..e88c627 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/copy.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/copy.html @@ -3,7 +3,7 @@ Range Algorithm - copy - + @@ -28,7 +28,7 @@ Range Algorithm - copy

- + Prototype

@@ -40,7 +40,7 @@

- + Description

@@ -51,14 +51,14 @@ distance(source_rng)

- + Definition

Defined in the header file boost/range/algorithm/copy.hpp

- + Requirements
    @@ -79,7 +79,7 @@
- + Precondition:
    @@ -93,7 +93,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/copy_backward.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/copy_backward.html index 541db9a..14d13c6 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/copy_backward.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/copy_backward.html @@ -3,7 +3,7 @@ Range Algorithm - copy_backward - + @@ -28,7 +28,7 @@ Range Algorithm - copy_backward

- + Prototype

@@ -42,7 +42,7 @@

- + Description

@@ -60,14 +60,14 @@ denotes the end of the output sequence.

- + Definition

Defined in the header file boost/range/algorithm/copy_backward.hpp

- + Requirements
    @@ -88,7 +88,7 @@
- + Precondition:
    @@ -102,7 +102,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/fill.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/fill.html index 4bb5340..f28518c 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/fill.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/fill.html @@ -3,7 +3,7 @@ Range Algorithm - fill - + @@ -28,7 +28,7 @@ Range Algorithm - fill

- + Prototype

@@ -43,7 +43,7 @@

- + Description

@@ -52,14 +52,14 @@ in the range rng.

- + Definition

Defined in the header file boost/range/algorithm/fill.hpp

- + Requirements
    @@ -82,7 +82,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/generate.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/generate.html index 1a5ba8a..68efa6a 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/generate.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/generate.html @@ -3,7 +3,7 @@ Range Algorithm - generate - + @@ -28,7 +28,7 @@ Range Algorithm - generate

- + Prototype

@@ -43,7 +43,7 @@

- + Description

@@ -53,14 +53,14 @@ Returns the resultant range.

- + Definition

Defined in the header file boost/range/algorithm/generate.hpp

- + Requirements
    @@ -84,7 +84,7 @@
- + Precondition:
    @@ -98,7 +98,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/inplace_merge.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/inplace_merge.html index fafc9d5..46ef629 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/inplace_merge.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/inplace_merge.html @@ -3,7 +3,7 @@ Range Algorithm - inplace_merge - + @@ -28,7 +28,7 @@ Range Algorithm - inplace_merge

- + Prototype

@@ -59,7 +59,7 @@

- + Description

@@ -72,14 +72,14 @@ input range is preserved.

- + Definition

Defined in the header file boost/range/algorithm/inplace_merge.hpp

- + Requirements

@@ -116,11 +116,11 @@ argument types.

- + Precondition:
- + For the non-predicate version:
@@ -143,7 +143,7 @@
- + For the predicate version:
@@ -164,7 +164,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/merge.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/merge.html index 9bd570e..5747eef 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/merge.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/merge.html @@ -3,7 +3,7 @@ Range Algorithm - merge - + @@ -28,7 +28,7 @@ Range Algorithm - merge

- + Prototype

@@ -57,7 +57,7 @@

- + Description

@@ -76,14 +76,14 @@ version uses the predicate instead of operator<().

- + Definition

Defined in the header file boost/range/algorithm/merge.hpp

- + Requirements

@@ -151,11 +151,11 @@

- + Precondition:
- + For the non-predicate version:
@@ -190,7 +190,7 @@
- + For the predicate version:
@@ -221,7 +221,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/nth_element.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/nth_element.html index b8d27f0..75f8d71 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/nth_element.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/nth_element.html @@ -3,7 +3,7 @@ Range Algorithm - nth_element - + @@ -28,7 +28,7 @@ Range Algorithm - nth_element

- + Prototype

@@ -55,7 +55,7 @@

- + Description

@@ -66,14 +66,14 @@ is the same as the element that would be in that position if rng has been sorted.

- + Definition

Defined in the header file boost/range/algorithm/nth_element.hpp

- + Requirements

@@ -124,7 +124,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/partial_sort.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/partial_sort.html index d218c43..1112ef2 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/partial_sort.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/partial_sort.html @@ -3,7 +3,7 @@ Range Algorithm - partial_sort - + @@ -28,7 +28,7 @@ Range Algorithm - partial_sort

- + Prototype

@@ -55,7 +55,7 @@

- + Description

@@ -71,14 +71,14 @@ predicate instead.

- + Definition

Defined in the header file boost/range/algorithm/partial_sort.hpp

- + Requirements

@@ -129,7 +129,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/partition.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/partition.html index 4136a2a..50b7b16 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/partition.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/partition.html @@ -3,7 +3,7 @@ Range Algorithm - partition - + @@ -28,7 +28,7 @@ Range Algorithm - partition

- + Prototype

@@ -67,7 +67,7 @@

- + Description

@@ -81,14 +81,14 @@ corresponds to the middle iterator.

- + Definition

Defined in the header file boost/range/algorithm/partition.hpp

- + Requirements
    @@ -108,7 +108,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/random_shuffle.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/random_shuffle.html index 190f66f..023d799 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/random_shuffle.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/random_shuffle.html @@ -3,7 +3,7 @@ Range Algorithm - random_shuffle - + @@ -28,7 +28,7 @@ Range Algorithm - random_shuffle

- + Prototype

@@ -49,7 +49,7 @@

- + Description

@@ -61,14 +61,14 @@ the shuffles range.

- + Definition

Defined in the header file boost/range/algorithm/random_shuffle.hpp

- + Requirements

@@ -99,7 +99,7 @@

- + Precondition:
  • @@ -108,7 +108,7 @@ maximum value.
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/remove.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/remove.html index 4cb906c..65ab605 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/remove.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/remove.html @@ -3,7 +3,7 @@ Range Algorithm - remove - + @@ -28,7 +28,7 @@ Range Algorithm - remove

- + Prototype

@@ -67,7 +67,7 @@

- + Description

@@ -84,14 +84,14 @@ are dereferenceable, but the elements are unspecified.

- + Definition

Defined in the header file boost/range/algorithm/remove.hpp

- + Requirements
    @@ -114,7 +114,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/remove_if.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/remove_if.html index 9896adc..227aeb0 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/remove_if.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/remove_if.html @@ -3,7 +3,7 @@ Range Algorithm - remove_if - + @@ -28,7 +28,7 @@ Range Algorithm - remove_if

- + Prototype

@@ -67,7 +67,7 @@

- + Description

@@ -83,14 +83,14 @@ are unspecified.

- + Definition

Defined in the header file boost/range/algorithm/remove_if.hpp

- + Requirements
    @@ -113,7 +113,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/replace.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/replace.html index ab4232d..e07aebb 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/replace.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/replace.html @@ -3,7 +3,7 @@ Range Algorithm - replace - + @@ -28,7 +28,7 @@ Range Algorithm - replace

- + Prototype

@@ -49,7 +49,7 @@

- + Description

@@ -58,14 +58,14 @@ Return a reference to rng.

- + Definition

Defined in the header file boost/range/algorithm/replace.hpp

- + Requirements
    @@ -94,7 +94,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/replace_if.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/replace_if.html index 7677651..fcf01b9 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/replace_if.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/replace_if.html @@ -3,7 +3,7 @@ Range Algorithm - replace_if - + @@ -28,7 +28,7 @@ Range Algorithm - replace_if

- + Prototype

@@ -43,7 +43,7 @@

- + Description

@@ -52,14 +52,14 @@ Returns a reference to rng.

- + Definition

Defined in the header file boost/range/algorithm/replace_if.hpp

- + Requirements
    @@ -91,7 +91,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/rotate.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/rotate.html index 55faad4..e4c574f 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/rotate.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/rotate.html @@ -3,7 +3,7 @@ Range Algorithm - rotate - + @@ -28,7 +28,7 @@ Range Algorithm - rotate

- + Prototype

@@ -45,7 +45,7 @@

- + Description

@@ -54,14 +54,14 @@ and [middle, end(rng)). Returns a reference to rng.

- + Definition

Defined in the header file boost/range/algorithm/rotate.hpp

- + Requirements
    @@ -75,7 +75,7 @@
- + Precondition:
    @@ -87,7 +87,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/sort.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/sort.html index 290f8e7..31adcdf 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/sort.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/sort.html @@ -3,7 +3,7 @@ Range Algorithm - sort - + @@ -28,7 +28,7 @@ Range Algorithm - sort

- + Prototype

@@ -49,7 +49,7 @@

- + Description

@@ -72,14 +72,14 @@ [x,y], pred(y, x) == false.

- + Definition

Defined in the header file boost/range/algorithm/sort.hpp

- + Requirements

@@ -130,7 +130,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/stable_partition.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/stable_partition.html index eb0032a..a549bc5 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/stable_partition.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/stable_partition.html @@ -3,7 +3,7 @@ Range Algorithm - stable_partition - + @@ -28,7 +28,7 @@ Range Algorithm - stable_partition

- + Prototype

@@ -61,7 +61,7 @@

- + Description

@@ -83,14 +83,14 @@ the iterator to the first element that fails to satisfy pred.

- + Definition

Defined in the header file boost/range/algorithm/stable_partition.hpp

- + Requirements
    @@ -108,7 +108,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/stable_sort.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/stable_sort.html index 984024d..e02cfa3 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/stable_sort.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/stable_sort.html @@ -3,7 +3,7 @@ Range Algorithm - stable_sort - + @@ -28,7 +28,7 @@ Range Algorithm - stable_sort

- + Prototype

@@ -49,7 +49,7 @@

- + Description

@@ -72,14 +72,14 @@ [x,y], pred(y,x) == false.

- + Definition

Defined in the header file boost/range/algorithm/stable_sort.hpp

- + Requirements

@@ -130,7 +130,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/transform.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/transform.html index 58da4ca..82c53ea 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/transform.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/transform.html @@ -3,7 +3,7 @@ Range Algorithm - transform - + @@ -28,7 +28,7 @@ Range Algorithm - transform

- + Prototype

@@ -57,7 +57,7 @@

- + Description

@@ -93,14 +93,14 @@ The return value is out + min(distance(rng1), distance(rng2)).

- + Definition

Defined in the header file boost/range/algorithm/transform.hpp

- + Requirements

@@ -170,7 +170,7 @@

- + Precondition:

@@ -202,7 +202,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/unique.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/unique.html index aaa5525..13f388f 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/unique.html +++ b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/unique.html @@ -3,7 +3,7 @@ Range Algorithm - unique - + @@ -28,7 +28,7 @@ Range Algorithm - unique

- + Prototype

@@ -69,7 +69,7 @@

- + Description

@@ -87,14 +87,14 @@ type.

- + Definition

Defined in the header file boost/range/algorithm/unique.hpp

- + Requirements

@@ -138,7 +138,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms.html b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms.html index 7b34570..7976d61 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms.html +++ b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms.html @@ -3,7 +3,7 @@ New algorithms - + @@ -34,6 +34,8 @@ for_each

insert
+
+ iota
overwrite
diff --git a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/erase.html b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/erase.html index 3520dba..e3d64a6 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/erase.html +++ b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/erase.html @@ -3,7 +3,7 @@ erase - + @@ -28,7 +28,7 @@ erase
- + Prototype

@@ -44,7 +44,7 @@

- + Description

@@ -53,14 +53,14 @@ target.

- + Definition

Defined in the header file boost/range/algorithm_ext/erase.hpp

- + Requirements
  1. @@ -68,7 +68,7 @@ erase of an iterator range.
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/for_each.html b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/for_each.html index 4a1cb75..dfe62c3 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/for_each.html +++ b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/for_each.html @@ -3,7 +3,7 @@ for_each - + @@ -28,7 +28,7 @@ for_each

- + Prototype

@@ -73,7 +73,7 @@

- + Description

@@ -89,14 +89,14 @@ It is safe to call this function with unequal length ranges.

- + Definition

Defined in the header file boost/range/algorithm_ext/for_each.hpp

- + Requirements
    @@ -126,7 +126,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/insert.html b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/insert.html index fc06253..e0aa512 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/insert.html +++ b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/insert.html @@ -3,11 +3,11 @@ insert - + - + @@ -20,7 +20,7 @@


-PrevUpHomeNext +PrevUpHomeNext
@@ -28,7 +28,7 @@ insert
- + Prototype

@@ -45,7 +45,7 @@

- + Description

@@ -55,14 +55,14 @@ target.

- + Definition

Defined in the header file boost/range/algorithm_ext/insert.hpp

- + Requirements
    @@ -82,7 +82,7 @@
- + Complexity

@@ -100,7 +100,7 @@


-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/iota.html b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/iota.html new file mode 100644 index 0000000..c36f96d --- /dev/null +++ b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/iota.html @@ -0,0 +1,96 @@ + + + +iota + + + + + + + + + + + + + + + +
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+ + Prototype +
+

+ +

+
template<class SinglePassRange, class Value>
+iota(SinglePassRange& rng, Value x);
+
+

+

+
+ + Description +
+

+ iota traverses forward + through rng, each element + y in rng + is assigned a value equivalent to x + + boost::distance(boost::begin(rng), it) +

+
+ + Definition +
+

+ Defined in the header file boost/range/algorithm_ext/iota.hpp +

+
+ + Requirements +
+
    +
  1. +SinglePassRange is + a model of the Single + Pass Range Concept. +
  2. +
  3. +Value is a model of + the Incrementable Concept. +
  4. +
+
+ + Complexity +
+

+ Linear. Exactly distance(rng) assignments into rng. +

+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/overwrite.html b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/overwrite.html index b856c39..189151b 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/overwrite.html +++ b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/overwrite.html @@ -3,10 +3,10 @@ overwrite - + - + @@ -20,7 +20,7 @@
-PrevUpHomeNext +PrevUpHomeNext
@@ -28,7 +28,7 @@ overwrite
- + Prototype

@@ -44,7 +44,7 @@

- + Description

@@ -53,14 +53,14 @@ into the range to.

- + Definition

Defined in the header file boost/range/algorithm_ext/overwrite.hpp

- + Requirements
    @@ -87,7 +87,7 @@
- + Complexity

@@ -105,7 +105,7 @@


-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/push_back.html b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/push_back.html index 26741e2..1357275 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/push_back.html +++ b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/push_back.html @@ -3,7 +3,7 @@ push_back - + @@ -28,7 +28,7 @@ push_back
- + Prototype

@@ -44,7 +44,7 @@

- + Description

@@ -53,14 +53,14 @@ to the back of the container target.

- + Definition

Defined in the header file boost/range/algorithm_ext/push_back.hpp

- + Requirements
    @@ -80,7 +80,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/push_front.html b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/push_front.html index 4afd63c..d91db73 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/push_front.html +++ b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/push_front.html @@ -3,7 +3,7 @@ push_front - + @@ -28,7 +28,7 @@ push_front

- + Prototype

@@ -44,7 +44,7 @@

- + Description

@@ -53,14 +53,14 @@ to the front of the container target.

- + Definition

Defined in the header file boost/range/algorithm_ext/push_front.hpp

- + Requirements
    @@ -80,7 +80,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/remove_erase.html b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/remove_erase.html index f80666a..5963cab 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/remove_erase.html +++ b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/remove_erase.html @@ -3,7 +3,7 @@ remove_erase - + @@ -28,7 +28,7 @@ remove_erase

- + Prototype

@@ -44,7 +44,7 @@

- + Description

@@ -54,14 +54,14 @@ algorithm which merely rearranges elements.

- + Definition

Defined in the header file boost/range/algorithm_ext/erase.hpp

- + Requirements
  1. @@ -69,7 +69,7 @@ erase of an iterator range.
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/remove_erase_if.html b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/remove_erase_if.html index 0f4c190..4469f02 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/remove_erase_if.html +++ b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/remove_erase_if.html @@ -3,7 +3,7 @@ remove_erase_if - + @@ -28,7 +28,7 @@ remove_erase_if

- + Prototype

@@ -44,7 +44,7 @@

- + Description

@@ -55,14 +55,14 @@ algorithm which merely rearranges elements.

- + Definition

Defined in the header file boost/range/algorithm_ext/erase.hpp

- + Requirements
    @@ -76,7 +76,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms.html index 87820b8..2e8a2d1 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms.html @@ -3,7 +3,7 @@ Non-mutating algorithms - + diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/adjacent_find.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/adjacent_find.html index e45a101..d14634a 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/adjacent_find.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/adjacent_find.html @@ -3,7 +3,7 @@ Range Algorithm - adjacent_find - + @@ -28,7 +28,7 @@ Range Algorithm - adjacent_find

- + Prototype

@@ -77,7 +77,7 @@

- + Description

@@ -98,14 +98,14 @@ is true.

- + Definition

Defined in the header file boost/range/algorithm/adjacent_find.hpp

- + Requirements

@@ -143,7 +143,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/binary_search.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/binary_search.html index 247d8bc..e87ccbe 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/binary_search.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/binary_search.html @@ -3,7 +3,7 @@ binary_search - + @@ -28,7 +28,7 @@ binary_search

- + Prototype

@@ -43,7 +43,7 @@

- + Description

@@ -53,14 +53,14 @@ range rng.

- + Definition

Defined in the header file boost/range/algorithm/binary_search.hpp

- + Requirements

@@ -111,7 +111,7 @@

- + Precondition:

@@ -129,7 +129,7 @@ order according to the function object pred.

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/count.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/count.html index bdfc489..3e36aa5 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/count.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/count.html @@ -3,7 +3,7 @@ count - + @@ -28,7 +28,7 @@ count

- + Prototype

@@ -45,7 +45,7 @@

- + Description

@@ -55,14 +55,14 @@ is true.

- + Definition

Defined in the header file boost/range/algorithm/count.hpp

- + Requirements
    @@ -85,7 +85,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/equal.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/equal.html index d6d54a1..bb6187c 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/equal.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/equal.html @@ -3,7 +3,7 @@ equal - + @@ -28,7 +28,7 @@ equal

- + Prototype

@@ -53,7 +53,7 @@

- + Description

@@ -71,14 +71,14 @@ considered equal in the predicate version if pred(x,y) is true.

- + Definition

Defined in the header file boost/range/algorithm/equal.hpp

- + Requirements

@@ -139,7 +139,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/equal_range.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/equal_range.html index 94bd133..8ba9948 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/equal_range.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/equal_range.html @@ -3,7 +3,7 @@ equal_range - + @@ -28,7 +28,7 @@ equal_range

- + Prototype

@@ -71,7 +71,7 @@

- + Description

@@ -85,14 +85,14 @@ is determined by pred.

- + Definition

Defined in the header file boost/range/algorithm/equal_range.hpp

- + Requirements

@@ -143,7 +143,7 @@

- + Precondition:

@@ -155,7 +155,7 @@ is ordered in ascending order according to pred.

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find.html index 3e45381..05db375 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find.html @@ -3,7 +3,7 @@ find - + @@ -28,7 +28,7 @@ find

- + Prototype

@@ -38,10 +38,6 @@ typename range_iterator<SinglePassRange>::type find(SinglePassRange& rng, Value val); -template<class SinglePassRange, class Value> -typename range_iterator<const SinglePassRange>::type -find(const SinglePassRange& rng, Value val); - template< range_return_value re, class SinglePassRange, @@ -49,19 +45,11 @@ > typename range_return<SinglePassRange, re>::type find(SinglePassRange& rng, Value val); - -template< - range_return_value re, - class SinglePassRange, - class Value - > -typename range_return<const SinglePassRange, re>::type -find(const SinglePassRange& rng, Value val);

- + Description

@@ -72,14 +60,14 @@ same manner as the returned iterator described above.

- + Definition

Defined in the header file boost/range/algorithm/find.hpp

- + Requirements
    @@ -100,7 +88,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find_end.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find_end.html index 9412d18..b5ab6b0 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find_end.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find_end.html @@ -3,7 +3,7 @@ find_end - + @@ -28,7 +28,7 @@ find_end

- + Prototype

@@ -38,10 +38,6 @@ typename range_iterator<ForwardRange1>::type find_end(ForwardRange1& rng1, const ForwardRange2& rng2); -template<class ForwardRange1, class ForwardRange2> -typename range_iterator<const ForwardRange1>::type -find_end(const ForwardRange1& rng1, const ForwardRange2& rng2); - template< class ForwardRange1, class ForwardRange2, @@ -50,15 +46,6 @@ typename range_iterator<ForwardRange1>::type find_end(ForwardRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred); -template< - class ForwardRange1, - class ForwardRange2, - class BinaryPredicate - > -typename range_iterator<const ForwardRange1>::type -find_end(const ForwardRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred); - - template< range_return_value re, class ForwardRange1, @@ -67,14 +54,6 @@ typename range_return<ForwardRange1, re>::type find_end(ForwardRange1& rng1, const ForwardRange2& rng2); -template< - range_return_value re, - class ForwardRange1, - class ForwardRange2 - > -typename range_return<const ForwardRange1, re>::type -find_end(const ForwardRange1& rng1, const ForwardRange2& rng2); - template< range_return_value re, class ForwardRange1, @@ -83,20 +62,11 @@ > typename range_return<ForwardRange1, re>::type find_end(ForwardRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred); - -template< - range_return_value re, - class ForwardRange1, - class ForwardRange2, - class BinaryPredicate - > -typename range_return<const ForwardRange1, re>::type -find_end(const ForwardRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred);

- + Description

@@ -111,14 +81,14 @@ same manner as the returned iterator described above.

- + Definition

Defined in the header file boost/range/algorithm/find_end.hpp

- + Requirements

@@ -178,7 +148,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find_first_of.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find_first_of.html index 5f15b42..a8de6a4 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find_first_of.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find_first_of.html @@ -3,7 +3,7 @@ find_first_of - + @@ -28,7 +28,7 @@ find_first_of

- + Prototype

@@ -38,10 +38,6 @@ typename range_iterator<SinglePassRange1>::type find_first_of(SinglePassRange1& rng1, const ForwardRange2& rng2); -template<class SinglePassRange1, class ForwardRange2> -typename range_iterator<const SinglePassRange1>::type -find_first_of(const SinglePassRange1& rng1, const ForwardRange2& rng2); - template< class SinglePassRange1, class ForwardRange2, @@ -50,15 +46,6 @@ typename range_iterator<SinglePassRange1>::type find_first_of(SinglePassRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred); -template< - class SinglePassRange1, - class ForwardRange2, - class BinaryPredicate - > -typename range_iterator<const SinglePassRange1>::type -find_first_of(const SinglePassRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred); - - template< range_return_value re, class SinglePassRange1, @@ -67,14 +54,6 @@ typename range_return<SinglePassRange1, re>::type find_first_of(SinglePassRange1& rng1, const ForwardRange2& rng2); -template< - range_return_value re, - class SinglePassRange1, - class ForwardRange2 - > -typename range_return<const SinglePassRange1, re>::type -find_first_of(const SinglePassRange1& rng1, const ForwardRange2& rng2); - template< range_return_value re, class SinglePassRange1, @@ -83,20 +62,11 @@ > typename range_return<SinglePassRange1, re>::type find_first_of(SinglePassRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred); - -template< - range_return_value re, - class SinglePassRange1, - class ForwardRange2, - class BinaryPredicate - > -typename range_return<const SinglePassRange1, re>::type -find_first_of(const SinglePassRange1& rng1, const ForwardRange2& rng2, BinaryPredicate pred);

- + Description

@@ -116,14 +86,14 @@ same manner as the returned iterator described above.

- + Definition

Defined in the header file boost/range/algorithm/find_first_of.hpp

- + Requirements

@@ -177,7 +147,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find_if.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find_if.html index 424b833..07df166 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find_if.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/find_if.html @@ -3,7 +3,7 @@ find_if - + @@ -28,7 +28,7 @@ find_if

- + Prototype

@@ -38,10 +38,6 @@ typename range_iterator<SinglePassRange>::type find_if(SinglePassRange& rng, UnaryPredicate pred); -template<class SinglePassRange, class UnaryPredicate> -typename range_iterator<const SinglePassRange>::type -find_if(const SinglePassRange& rng, UnaryPredicate pred); - template< range_return_value re, class SinglePassRange, @@ -49,19 +45,11 @@ > typename range_return<SinglePassRange, re>::type find_if(SinglePassRange& rng, UnaryPredicate pred); - -template< - range_return_value re, - class SinglePassRange, - class UnaryPredicate - > -typename range_return<const SinglePassRange, re>::type -find_if(const SinglePassRange& rng, UnaryPredicate pred);

- + Description

@@ -76,14 +64,14 @@ defines found in the same manner as the returned iterator described above.

- + Definition

Defined in the header file boost/range/algorithm/find_if.hpp

- + Requirements
    @@ -102,7 +90,7 @@
- + Precondition:

@@ -110,7 +98,7 @@ rng, *i is in the domain of UnaryPredicate.

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/for_each.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/for_each.html index 3c85cc0..f90bdc6 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/for_each.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/for_each.html @@ -3,7 +3,7 @@ for_each - + @@ -28,7 +28,7 @@ for_each

- + Prototype

@@ -49,7 +49,7 @@

- + Description

@@ -59,14 +59,14 @@ fun(x).

- + Definition

Defined in the header file boost/range/algorithm/for_each.hpp

- + Requirements
    @@ -90,7 +90,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/lexicographical_compare.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/lexicographical_compare.html index 0cf9505..d10629d 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/lexicographical_compare.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/lexicographical_compare.html @@ -3,7 +3,7 @@ lexicographical_compare - + @@ -28,7 +28,7 @@ lexicographical_compare

- + Prototype

@@ -53,7 +53,7 @@

- + Description

@@ -73,14 +73,14 @@ predicate versions.

- + Definition

Defined in the header file boost/range/algorithm/lexicographical_compare.hpp

- + Requirements

@@ -145,7 +145,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/lower_bound.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/lower_bound.html index 4e1f526..3eaa4e3 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/lower_bound.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/lower_bound.html @@ -3,7 +3,7 @@ lower_bound - + @@ -28,7 +28,7 @@ lower_bound

- + Prototype

@@ -38,10 +38,6 @@ typename range_iterator<ForwardRange>::type lower_bound(ForwardRange& rng, Value val); -template<class ForwardRange, class Value> -typename range_iterator<const ForwardRange>::type -lower_bound(const ForwardRange& rng, Value val); - template< range_return_value re, class ForwardRange, @@ -49,19 +45,11 @@ > typename range_return<ForwardRange, re>::type lower_bound(ForwardRange& rng, Value val); - -template< - range_return_value re, - class ForwardRange, - class Value - > -typename range_return<const ForwardRange, re>::type -lower_bound(const ForwardRange& rng, Value val);

- + Description

@@ -84,14 +72,14 @@ same manner as the returned iterator described above.

- + Definition

Defined in the header file boost/range/algorithm/lower_bound.hpp

- + Requirements

@@ -142,7 +130,7 @@

- + Precondition:

@@ -160,7 +148,7 @@ order according to pred.

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/max_element.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/max_element.html index 8ca03f7..552d3af 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/max_element.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/max_element.html @@ -3,7 +3,7 @@ max_element - + @@ -28,7 +28,7 @@ max_element

- + Prototype

@@ -84,7 +84,7 @@

- + Description

@@ -98,14 +98,14 @@ same manner as the returned iterator described above.

- + Definition

Defined in the header file boost/range/algorithm/max_element.hpp

- + Requirements

@@ -142,7 +142,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/min_element.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/min_element.html index 08903d1..675196b 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/min_element.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/min_element.html @@ -3,7 +3,7 @@ min_element - + @@ -28,7 +28,7 @@ min_element

- + Prototype

@@ -84,7 +84,7 @@

- + Description

@@ -98,14 +98,14 @@ same manner as the returned iterator described above.

- + Definition

Defined in the header file boost/range/algorithm/min_element.hpp

- + Requirements

@@ -142,7 +142,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/mismatch.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/mismatch.html index 5a168da..572dd69 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/mismatch.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/mismatch.html @@ -3,7 +3,7 @@ mismatch - + @@ -28,7 +28,7 @@ mismatch

- + Prototype

@@ -106,7 +106,7 @@

- + Description

@@ -124,14 +124,14 @@ same manner as the returned iterator described above.

- + Definition

Defined in the header file boost/range/algorithm/mismatch.hpp

- + Requirements

@@ -192,14 +192,14 @@

- + Precondition:

distance(rng2) >= distance(rng1)

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/search.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/search.html index 1dcf8c0..03b528c 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/search.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/search.html @@ -3,7 +3,7 @@ search - + @@ -28,7 +28,7 @@ search

- + Prototype

@@ -96,7 +96,7 @@

- + Description

@@ -115,14 +115,14 @@ same manner as the returned iterator described above.

- + Definition

Defined in the header file boost/range/algorithm/search.hpp

- + Requirements

@@ -183,7 +183,7 @@

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/upper_bound.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/upper_bound.html index 8db1558..e73149f 100644 --- a/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/upper_bound.html +++ b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/upper_bound.html @@ -3,7 +3,7 @@ upper_bound - + @@ -28,7 +28,7 @@ upper_bound

- + Prototype

@@ -38,10 +38,6 @@ typename range_iterator<ForwardRange>::type upper_bound(ForwardRange& rng, Value val); -template<class ForwardRange, class Value> -typename range_iterator<const ForwardRange>::type -upper_bound(const ForwardRange& rng, Value val); - template< range_return_value re, class ForwardRange, @@ -49,19 +45,11 @@ > typename range_return<ForwardRange, re>::type upper_bound(ForwardRange& rng, Value val); - -template< - range_return_value re, - class ForwardRange, - class Value - > -typename range_return<const ForwardRange, re>::type -upper_bound(const ForwardRange& rng, Value val);

- + Description

@@ -83,14 +71,14 @@ same manner as the returned iterator described above.

- + Definition

Defined in the header file boost/range/algorithm/upper_bound.hpp

- + Requirements

@@ -141,7 +129,7 @@

- + Precondition:

@@ -159,7 +147,7 @@ order according to pred.

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_numeric.html b/doc/html/range/reference/algorithms/range_numeric.html index c6c6767..9da4d83 100644 --- a/doc/html/range/reference/algorithms/range_numeric.html +++ b/doc/html/range/reference/algorithms/range_numeric.html @@ -3,7 +3,7 @@ Numeric algorithms - + diff --git a/doc/html/range/reference/algorithms/range_numeric/accumulate.html b/doc/html/range/reference/algorithms/range_numeric/accumulate.html index 448b1fa..9351f90 100644 --- a/doc/html/range/reference/algorithms/range_numeric/accumulate.html +++ b/doc/html/range/reference/algorithms/range_numeric/accumulate.html @@ -3,7 +3,7 @@ accumulate - + @@ -28,7 +28,7 @@ accumulate

- + Prototype

@@ -53,7 +53,7 @@

- + Description

@@ -64,18 +64,18 @@ The return value is the resultant value of the above algorithm.

- + Definition

Defined in the header file boost/range/numeric.hpp

- + Requirements
- + For the first version
@@ -100,7 +100,7 @@
- + For the second version
@@ -134,7 +134,7 @@
- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_numeric/adjacent_difference.html b/doc/html/range/reference/algorithms/range_numeric/adjacent_difference.html index 8c76593..6680e82 100644 --- a/doc/html/range/reference/algorithms/range_numeric/adjacent_difference.html +++ b/doc/html/range/reference/algorithms/range_numeric/adjacent_difference.html @@ -3,7 +3,7 @@ adjacent_difference - + @@ -28,7 +28,7 @@ adjacent_difference

- + Prototype

@@ -55,7 +55,7 @@

- + Description

@@ -69,18 +69,18 @@ instead of operator-().

- + Definition

Defined in the header file boost/range/numeric.hpp

- + Requirements
- + For the first version
@@ -111,7 +111,7 @@
- + For the second version
@@ -146,7 +146,7 @@
- + Precondition:

@@ -154,7 +154,7 @@ + distance(rng)) is a valid range.

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_numeric/inner_product.html b/doc/html/range/reference/algorithms/range_numeric/inner_product.html index 6d48b14..d2591e2 100644 --- a/doc/html/range/reference/algorithms/range_numeric/inner_product.html +++ b/doc/html/range/reference/algorithms/range_numeric/inner_product.html @@ -3,7 +3,7 @@ inner_product - + @@ -28,7 +28,7 @@ inner_product

- + Prototype

@@ -54,7 +54,7 @@

- + Description

@@ -67,18 +67,18 @@ algorithm please see inner_product.

- + Definition

Defined in the header file boost/range/numeric.hpp

- + Requirements
- + For the first version
@@ -113,7 +113,7 @@
- + For the second version
@@ -162,14 +162,14 @@
- + Precondition:

distance(rng2) >= distance(rng1) is a valid range.

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_numeric/partial_sum.html b/doc/html/range/reference/algorithms/range_numeric/partial_sum.html index b89e58e..b1aa0bf 100644 --- a/doc/html/range/reference/algorithms/range_numeric/partial_sum.html +++ b/doc/html/range/reference/algorithms/range_numeric/partial_sum.html @@ -3,7 +3,7 @@ partial_sum - + @@ -28,7 +28,7 @@ partial_sum

- + Prototype

@@ -49,7 +49,7 @@

- + Description

@@ -58,18 +58,18 @@ in the same manner as std::partial_sum(boost::begin(rng), boost::end(rng), out_it). See partial_sum.

- + Definition

Defined in the header file boost/range/numeric.hpp

- + Requirements
- + For the first version
@@ -99,7 +99,7 @@
- + For the second version
@@ -128,7 +128,7 @@
- + Precondition:

@@ -136,7 +136,7 @@ + distance(rng)) is a valid range.

- + Complexity

diff --git a/doc/html/range/reference/algorithms/set_algorithms.html b/doc/html/range/reference/algorithms/set_algorithms.html index b9888f5..447b470 100644 --- a/doc/html/range/reference/algorithms/set_algorithms.html +++ b/doc/html/range/reference/algorithms/set_algorithms.html @@ -3,7 +3,7 @@ Set algorithms - + diff --git a/doc/html/range/reference/algorithms/set_algorithms/includes.html b/doc/html/range/reference/algorithms/set_algorithms/includes.html index 015474a..b8fabe5 100644 --- a/doc/html/range/reference/algorithms/set_algorithms/includes.html +++ b/doc/html/range/reference/algorithms/set_algorithms/includes.html @@ -3,7 +3,7 @@ includes - + @@ -28,7 +28,7 @@ includes

- + Prototype

@@ -48,7 +48,7 @@

- + Description

@@ -60,14 +60,14 @@ the predicate versions.

- + Definition

Defined in the header file boost/range/algorithm/set_algorithm.hpp

- + Requirements

@@ -145,7 +145,7 @@

- + Precondition:

@@ -163,7 +163,7 @@ according to pred.

- + Complexity

diff --git a/doc/html/range/reference/algorithms/set_algorithms/set_difference.html b/doc/html/range/reference/algorithms/set_algorithms/set_difference.html index 58d8a54..95531ed 100644 --- a/doc/html/range/reference/algorithms/set_algorithms/set_difference.html +++ b/doc/html/range/reference/algorithms/set_algorithms/set_difference.html @@ -3,7 +3,7 @@ set_difference - + @@ -28,7 +28,7 @@ set_difference

- + Prototype

@@ -57,7 +57,7 @@

- + Description

@@ -71,14 +71,14 @@ the predicate versions.

- + Definition

Defined in the header file boost/range/algorithm/set_algorithm.hpp

- + Requirements

@@ -164,7 +164,7 @@

- + Precondition:

@@ -182,7 +182,7 @@ according to pred.

- + Complexity

diff --git a/doc/html/range/reference/algorithms/set_algorithms/set_intersection.html b/doc/html/range/reference/algorithms/set_algorithms/set_intersection.html index 65840cd..7367d86 100644 --- a/doc/html/range/reference/algorithms/set_algorithms/set_intersection.html +++ b/doc/html/range/reference/algorithms/set_algorithms/set_intersection.html @@ -3,7 +3,7 @@ set_intersection - + @@ -28,7 +28,7 @@ set_intersection

- + Prototype

@@ -57,7 +57,7 @@

- + Description

@@ -71,14 +71,14 @@ the predicate versions.

- + Definition

Defined in the header file boost/range/algorithm/set_algorithm.hpp

- + Requirements

@@ -164,7 +164,7 @@

- + Precondition:

@@ -182,7 +182,7 @@ according to pred.

- + Complexity

diff --git a/doc/html/range/reference/algorithms/set_algorithms/set_symmetric_difference.html b/doc/html/range/reference/algorithms/set_algorithms/set_symmetric_difference.html index a25e8e4..52b58b7 100644 --- a/doc/html/range/reference/algorithms/set_algorithms/set_symmetric_difference.html +++ b/doc/html/range/reference/algorithms/set_algorithms/set_symmetric_difference.html @@ -3,7 +3,7 @@ set_symmetric_difference - + @@ -28,7 +28,7 @@ set_symmetric_difference

- + Prototype

@@ -59,7 +59,7 @@

- + Description

@@ -75,14 +75,14 @@ the predicate versions.

- + Definition

Defined in the header file boost/range/algorithm/set_algorithm.hpp

- + Requirements

@@ -168,7 +168,7 @@

- + Precondition:

@@ -186,7 +186,7 @@ according to pred.

- + Complexity

diff --git a/doc/html/range/reference/algorithms/set_algorithms/set_union.html b/doc/html/range/reference/algorithms/set_algorithms/set_union.html index 90c343c..3a8abe3 100644 --- a/doc/html/range/reference/algorithms/set_algorithms/set_union.html +++ b/doc/html/range/reference/algorithms/set_algorithms/set_union.html @@ -3,7 +3,7 @@ set_union - + @@ -28,7 +28,7 @@ set_union

- + Prototype

@@ -57,7 +57,7 @@

- + Description

@@ -70,14 +70,14 @@ in the predicate versions.

- + Definition

Defined in the header file boost/range/algorithm/set_algorithm.hpp

- + Requirements

@@ -163,7 +163,7 @@

- + Precondition:

@@ -181,7 +181,7 @@ according to pred.

- + Complexity

diff --git a/doc/html/range/reference/extending.html b/doc/html/range/reference/extending.html index fc32e83..37f4882 100644 --- a/doc/html/range/reference/extending.html +++ b/doc/html/range/reference/extending.html @@ -3,7 +3,7 @@ Extending the library - + diff --git a/doc/html/range/reference/extending/method_1.html b/doc/html/range/reference/extending/method_1.html index 3283d10..d9f66a7 100644 --- a/doc/html/range/reference/extending/method_1.html +++ b/doc/html/range/reference/extending/method_1.html @@ -3,7 +3,7 @@ Method 1: provide member functions and nested types - + @@ -34,7 +34,7 @@

The primary templates in this library are implemented such that standard - containers will work automatically and so will boost::array. + containers will work automatically and so will boost::array. Below is given an overview of which member functions and member types a class must specify to be useable as a certain Range concept.

diff --git a/doc/html/range/reference/extending/method_2.html b/doc/html/range/reference/extending/method_2.html index f4f3524..eae4cbd 100644 --- a/doc/html/range/reference/extending/method_2.html +++ b/doc/html/range/reference/extending/method_2.html @@ -3,7 +3,7 @@ Method 2: provide free-standing functions and specialize metafunctions - + diff --git a/doc/html/range/reference/extending/method_3.html b/doc/html/range/reference/extending/method_3.html index f841237..3594ff8 100644 --- a/doc/html/range/reference/extending/method_3.html +++ b/doc/html/range/reference/extending/method_3.html @@ -3,7 +3,7 @@ Method 3: provide range adaptor implementations - + diff --git a/doc/html/range/reference/extending/method_3/method_3_1.html b/doc/html/range/reference/extending/method_3/method_3_1.html index e995bee..9370d65 100644 --- a/doc/html/range/reference/extending/method_3/method_3_1.html +++ b/doc/html/range/reference/extending/method_3/method_3_1.html @@ -3,7 +3,7 @@ Method 3.1: Implement a Range Adaptor without arguments - + diff --git a/doc/html/range/reference/extending/method_3/method_3_2.html b/doc/html/range/reference/extending/method_3/method_3_2.html index f0bae90..f153d0e 100644 --- a/doc/html/range/reference/extending/method_3/method_3_2.html +++ b/doc/html/range/reference/extending/method_3/method_3_2.html @@ -3,7 +3,7 @@ Method 3.2: Implement a Range Adaptor with arguments - + diff --git a/doc/html/range/reference/overview.html b/doc/html/range/reference/overview.html index ae0bbf0..8db874f 100644 --- a/doc/html/range/reference/overview.html +++ b/doc/html/range/reference/overview.html @@ -3,7 +3,7 @@ Overview - + diff --git a/doc/html/range/reference/ranges.html b/doc/html/range/reference/ranges.html index 2e16372..6e4ad0a 100644 --- a/doc/html/range/reference/ranges.html +++ b/doc/html/range/reference/ranges.html @@ -3,7 +3,7 @@ Provided Ranges - + diff --git a/doc/html/range/reference/ranges/counting_range.html b/doc/html/range/reference/ranges/counting_range.html index b556488..e2ccb2c 100644 --- a/doc/html/range/reference/ranges/counting_range.html +++ b/doc/html/range/reference/ranges/counting_range.html @@ -3,7 +3,7 @@ counting_range - + @@ -27,7 +27,7 @@ counting_range
- + Prototype

@@ -48,7 +48,7 @@

- + Description

@@ -58,14 +58,14 @@ (from Boost.Iterator).

- + Definition

Defined in header file boost/range/counting_range.hpp

- + Requirements
  1. diff --git a/doc/html/range/reference/ranges/irange.html b/doc/html/range/reference/ranges/irange.html index f4565c0..cd481f0 100644 --- a/doc/html/range/reference/ranges/irange.html +++ b/doc/html/range/reference/ranges/irange.html @@ -3,7 +3,7 @@ irange - + @@ -27,7 +27,7 @@ irange
- + Prototype

@@ -44,7 +44,7 @@

- + Description

@@ -58,14 +58,14 @@ parameters denoted a half-open range.

- + Definition

Defined in the header file boost/range/irange.hpp

- + Requirements
    @@ -79,7 +79,7 @@
- + Complexity

diff --git a/doc/html/range/reference/ranges/istream_range.html b/doc/html/range/reference/ranges/istream_range.html index e7d81d8..063204d 100644 --- a/doc/html/range/reference/ranges/istream_range.html +++ b/doc/html/range/reference/ranges/istream_range.html @@ -3,7 +3,7 @@ istream_range - + @@ -27,7 +27,7 @@ istream_range

- + Prototype

@@ -40,7 +40,7 @@

- + Description

@@ -49,7 +49,7 @@ wrapping a std::istream_iterator.

- + Definition

diff --git a/doc/html/range/reference/semantics.html b/doc/html/range/reference/semantics.html index fbb1aa8..4fa0645 100644 --- a/doc/html/range/reference/semantics.html +++ b/doc/html/range/reference/semantics.html @@ -3,7 +3,7 @@ Semantics - + @@ -31,7 +31,7 @@

Functions
- + notation
diff --git a/doc/html/range/reference/semantics/functions.html b/doc/html/range/reference/semantics/functions.html index 232b680..16bb7fb 100644 --- a/doc/html/range/reference/semantics/functions.html +++ b/doc/html/range/reference/semantics/functions.html @@ -3,7 +3,7 @@ Functions - + diff --git a/doc/html/range/reference/semantics/metafunctions.html b/doc/html/range/reference/semantics/metafunctions.html index 6df4902..cc2f4bd 100644 --- a/doc/html/range/reference/semantics/metafunctions.html +++ b/doc/html/range/reference/semantics/metafunctions.html @@ -3,7 +3,7 @@ Metafunctions - + diff --git a/doc/html/range/reference/synopsis.html b/doc/html/range/reference/synopsis.html index 248e8c1..c950490 100644 --- a/doc/html/range/reference/synopsis.html +++ b/doc/html/range/reference/synopsis.html @@ -3,7 +3,7 @@ Synopsis - + diff --git a/doc/html/range/style_guide.html b/doc/html/range/style_guide.html index f064884..48043c4 100644 --- a/doc/html/range/style_guide.html +++ b/doc/html/range/style_guide.html @@ -3,7 +3,7 @@ Terminology and style guidelines - + @@ -66,7 +66,7 @@

- Notice how we have used the categories from the new + Notice how we have used the categories from the new style iterators.

diff --git a/doc/html/range/upgrade.html b/doc/html/range/upgrade.html index ad53c37..27ddd2b 100644 --- a/doc/html/range/upgrade.html +++ b/doc/html/range/upgrade.html @@ -3,7 +3,7 @@ Upgrade version of Boost.Range - + diff --git a/doc/html/range/upgrade/upgrade_from_1_34.html b/doc/html/range/upgrade/upgrade_from_1_34.html index dfc4c52..587555c 100644 --- a/doc/html/range/upgrade/upgrade_from_1_34.html +++ b/doc/html/range/upgrade/upgrade_from_1_34.html @@ -3,7 +3,7 @@ Upgrade from version 1.34 - + diff --git a/doc/html/range/upgrade/upgrade_from_1_42.html b/doc/html/range/upgrade/upgrade_from_1_42.html index 3fbc2d2..74059e4 100644 --- a/doc/html/range/upgrade/upgrade_from_1_42.html +++ b/doc/html/range/upgrade/upgrade_from_1_42.html @@ -3,7 +3,7 @@ Upgrade from version 1.42 - + diff --git a/doc/html/range/utilities.html b/doc/html/range/utilities.html index d9caa5f..0ccd47c 100644 --- a/doc/html/range/utilities.html +++ b/doc/html/range/utilities.html @@ -3,7 +3,7 @@ Utilities - + @@ -52,7 +52,7 @@

The iterator_range class is - templated on an Forward + templated on an Forward Traversal Iterator and should be used whenever fairly general code is needed. The sub_range class is templated on an Forward Range diff --git a/doc/html/range/utilities/iterator_range.html b/doc/html/range/utilities/iterator_range.html index 07efc15..7956363 100644 --- a/doc/html/range/utilities/iterator_range.html +++ b/doc/html/range/utilities/iterator_range.html @@ -3,7 +3,7 @@ Class iterator_range - + @@ -32,7 +32,7 @@ Range concept. A few other functions are also provided for convenience.

- If the template argument is not a model of Forward + If the template argument is not a model of Forward Traversal Iterator, one can still use a subset of the interface. In particular, size() requires Random Access Traversal Iterators whereas empty() only requires Single Pass Iterators. @@ -47,7 +47,7 @@ limitation is simply propogated from the underlying iterator type.

- + Synopsis

@@ -187,7 +187,7 @@ iterators from the same container.

- + Details member functions
@@ -218,7 +218,7 @@

- + Details functions
diff --git a/doc/html/range/utilities/join.html b/doc/html/range/utilities/join.html index c2c9e15..d430946 100644 --- a/doc/html/range/utilities/join.html +++ b/doc/html/range/utilities/join.html @@ -3,7 +3,7 @@ Function join - + @@ -39,7 +39,7 @@ if the end of a range has been reached internally during traversal.

- + Synposis

@@ -65,7 +65,7 @@

- + Example

diff --git a/doc/html/range/utilities/sub_range.html b/doc/html/range/utilities/sub_range.html index 0b474d7..517639f 100644 --- a/doc/html/range/utilities/sub_range.html +++ b/doc/html/range/utilities/sub_range.html @@ -3,7 +3,7 @@ Class sub_range - + @@ -35,7 +35,7 @@ is.

- + Synopsis

diff --git a/doc/reference/algorithm_ext/iota.qbk b/doc/reference/algorithm_ext/iota.qbk index 37aba15..c098708 100644 --- a/doc/reference/algorithm_ext/iota.qbk +++ b/doc/reference/algorithm_ext/iota.qbk @@ -1,4 +1,4 @@ -[section:for_each for_each] +[section:iota iota] [heading Prototype] diff --git a/include/boost/range/adaptor/adjacent_filtered.hpp b/include/boost/range/adaptor/adjacent_filtered.hpp index 4f0bb75..5f66711 100644 --- a/include/boost/range/adaptor/adjacent_filtered.hpp +++ b/include/boost/range/adaptor/adjacent_filtered.hpp @@ -30,94 +30,58 @@ namespace boost namespace range_detail { - template< class Iter, class R > + template< class Iter, class Pred, bool default_pass > class skip_iterator - : public boost::iterator_adaptor< skip_iterator, Iter > + : public boost::iterator_adaptor< + skip_iterator, + Iter, + BOOST_DEDUCED_TYPENAME std::iterator_traits::value_type, + boost::forward_traversal_tag, + BOOST_DEDUCED_TYPENAME std::iterator_traits::reference, + BOOST_DEDUCED_TYPENAME std::iterator_traits::difference_type + > + , private Pred { private: - typedef boost::iterator_adaptor< skip_iterator, Iter > - base_t; - - R* range; + typedef boost::iterator_adaptor< + skip_iterator, + Iter, + BOOST_DEDUCED_TYPENAME std::iterator_traits::value_type, + boost::forward_traversal_tag, + BOOST_DEDUCED_TYPENAME std::iterator_traits::reference, + BOOST_DEDUCED_TYPENAME std::iterator_traits::difference_type + > base_t; public: - typedef Iter wrapped_iter_t; + typedef Pred pred_t; + typedef Iter iter_t; - // - // The iterators are bound to the lifetime of the - // range and may not exist on their own. Hence it makes no - // sense to e.g. wrap them in reverse_iterators - // (that can OTOH be done in advance). - // - typedef std::input_iterator_tag iterator_category; + skip_iterator() : m_last() {} - explicit skip_iterator( R* r, Iter i ) - : base_t(i), range(r) {} - - template< class OtherIter, class R2> - skip_iterator( const skip_iterator& other ) - : base_t( other.base() ) {} - - R* get_range() const { return range; } - - private: - friend class boost::iterator_core_access; - - void increment() - { - BOOST_ASSERT( range != 0 ); - range->increment_impl( this->base_reference() ); - } - - // - // Not needed ... just apply a reverse_iterator - // - void decrement() + skip_iterator(iter_t it, iter_t last, const Pred& pred) + : base_t(it) + , pred_t(pred) + , m_last(last) { - BOOST_ASSERT( false && "you can't decrement an adjacent_filter_iterator" ); + move_to_next_valid(); } - template< class D > - void advance( D n ) - { - BOOST_ASSERT( false ); - } + template + skip_iterator( const skip_iterator& other ) + : base_t(other.base()) + , pred_t(other) + , m_last(other.m_last) {} - }; - - template< class P, class R > - struct adjacent_filter_range - : iterator_range< skip_iterator< - BOOST_DEDUCED_TYPENAME range_iterator::type, - adjacent_filter_range - > - > - { - private: - typedef skip_iterator< - BOOST_DEDUCED_TYPENAME range_iterator::type, - adjacent_filter_range - > - skip_iter; - typedef iterator_range - base_range; - - typedef BOOST_DEDUCED_TYPENAME range_iterator::type raw_iterator; - - P m_bi_pred; - - // Get the first element in the half-open range that - // passes the filter predicate. - // The adjacent_filter_range must only contain values that pass - // through the filter. - static raw_iterator to_valid(raw_iterator it, raw_iterator last, const P& bi_pred, bool default_pass) + void move_to_next_valid() { - if (it != last) + iter_t& it = this->base_reference(); + pred_t& bi_pred = *this; + if (it != m_last) { if (default_pass) { - raw_iterator nxt = ::boost::next(it); - while (nxt != last && !bi_pred(*it, *nxt)) + iter_t nxt = ::boost::next(it); + while (nxt != m_last && !bi_pred(*it, *nxt)) { ++it; ++nxt; @@ -125,41 +89,61 @@ namespace boost } else { - raw_iterator nxt = ::boost::next(it); - for(; nxt != last; ++it, ++nxt) + iter_t nxt = ::boost::next(it); + for(; nxt != m_last; ++it, ++nxt) { if (bi_pred(*it, *nxt)) { break; } } - if (nxt == last) + if (nxt == m_last) { - it = last; + it = m_last; } } } - return it; } + void increment() + { + iter_t& it = this->base_reference(); + BOOST_ASSERT( it != m_last ); + ++it; + move_to_next_valid(); + } + + iter_t m_last; + }; + + template< class P, class R, bool default_pass > + struct adjacent_filter_range + : iterator_range< skip_iterator< + BOOST_DEDUCED_TYPENAME range_iterator::type, + P, + default_pass + > + > + { + private: + typedef skip_iterator< + BOOST_DEDUCED_TYPENAME range_iterator::type, + P, + default_pass + > + skip_iter; + + typedef iterator_range + base_range; + + typedef BOOST_DEDUCED_TYPENAME range_iterator::type raw_iterator; + public: - adjacent_filter_range( const P& p, R& r, bool default_pass ) - : base_range( skip_iter( this, to_valid(boost::begin(r), boost::end(r), p, default_pass)), - skip_iter( this, boost::end(r) ) ), - m_bi_pred( p ), - m_default_pass(default_pass) + adjacent_filter_range( const P& p, R& r ) + : base_range( skip_iter( boost::begin(r), boost::end(r), p), + skip_iter( boost::end(r), boost::end(r), p) ) { } - - void increment_impl( raw_iterator& current ) - { - BOOST_ASSERT( current != this->end().base() ); - - current = to_valid(::boost::next(current), this->end().base(), m_bi_pred, m_default_pass); - } - - private: - bool m_default_pass; }; template< class T > @@ -177,37 +161,37 @@ namespace boost }; template< class ForwardRng, class BinPredicate > - inline adjacent_filter_range + inline adjacent_filter_range operator|( ForwardRng& r, const adjacent_holder& f ) { - return adjacent_filter_range( f.val, r, true ); + return adjacent_filter_range( f.val, r ); } template< class ForwardRng, class BinPredicate > - inline adjacent_filter_range + inline adjacent_filter_range operator|( const ForwardRng& r, const adjacent_holder& f ) { return adjacent_filter_range( f.val, r, true ); + const ForwardRng, true>( f.val, r ); } template< class ForwardRng, class BinPredicate > - inline adjacent_filter_range + inline adjacent_filter_range operator|( ForwardRng& r, const adjacent_excl_holder& f ) { - return adjacent_filter_range( f.val, r, false ); + return adjacent_filter_range( f.val, r ); } template< class ForwardRng, class BinPredicate > - inline adjacent_filter_range + inline adjacent_filter_range operator|( const ForwardRng& r, const adjacent_excl_holder& f ) { return adjacent_filter_range( f.val, r, false ); + const ForwardRng, false>( f.val, r ); } } // 'range_detail' @@ -231,17 +215,17 @@ namespace boost } template - inline adjacent_filter_range - adjacent_filter(ForwardRng& rng, BinPredicate filter_pred, bool default_pass = true) + inline adjacent_filter_range + adjacent_filter(ForwardRng& rng, BinPredicate filter_pred) { - return adjacent_filter_range(filter_pred, rng, default_pass); + return adjacent_filter_range(filter_pred, rng); } template - inline adjacent_filter_range - adjacent_filter(const ForwardRng& rng, BinPredicate filter_pred, bool default_pass = true) + inline adjacent_filter_range + adjacent_filter(const ForwardRng& rng, BinPredicate filter_pred) { - return adjacent_filter_range(filter_pred, rng, default_pass); + return adjacent_filter_range(filter_pred, rng); } } // 'adaptors' diff --git a/include/boost/range/adaptor/uniqued.hpp b/include/boost/range/adaptor/uniqued.hpp index 28a30f2..ddaf3fe 100755 --- a/include/boost/range/adaptor/uniqued.hpp +++ b/include/boost/range/adaptor/uniqued.hpp @@ -15,68 +15,68 @@ namespace boost { - + namespace range_detail { struct unique_forwarder { }; - + struct unique_not_equal_to { typedef bool result_type; - + template< class T > bool operator()( const T& l, const T& r ) const { return !(l == r); } }; - + template - class unique_range : public adjacent_filter_range + class unique_range : public adjacent_filter_range { - typedef adjacent_filter_range base; + typedef adjacent_filter_range base; public: explicit unique_range(ForwardRng& rng) - : base(unique_not_equal_to(), rng, true) + : base(unique_not_equal_to(), rng) { } }; - + template< class ForwardRng > - inline unique_range - operator|( ForwardRng& r, + inline unique_range + operator|( ForwardRng& r, unique_forwarder ) { return unique_range(r); } - + template< class ForwardRng > - inline unique_range - operator|( const ForwardRng& r, + inline unique_range + operator|( const ForwardRng& r, unique_forwarder ) { return unique_range(r); } - + } // 'range_detail' - + using range_detail::unique_range; - + namespace adaptors - { + { namespace { - const range_detail::unique_forwarder uniqued = + const range_detail::unique_forwarder uniqued = range_detail::unique_forwarder(); } - + template inline unique_range unique(ForwardRange& rng) { return unique_range(rng); } - + template inline unique_range unique(const ForwardRange& rng) @@ -84,7 +84,7 @@ namespace boost return unique_range(rng); } } // 'adaptors' - + } #endif diff --git a/include/boost/range/combine.hpp b/include/boost/range/combine.hpp index 31a540b..8b1be00 100755 --- a/include/boost/range/combine.hpp +++ b/include/boost/range/combine.hpp @@ -3,6 +3,7 @@ #include #include +#include #include #include #include @@ -14,40 +15,48 @@ namespace boost { - namespace detail + namespace range_detail { struct void_ { typedef void_ type; }; } - template<> struct range_iterator + template<> struct range_iterator< ::boost::range_detail::void_ > { - typedef tuples::null_type type; + typedef ::boost::tuples::null_type type; }; - namespace detail + namespace range_detail { - inline tuples::null_type range_begin( void_& ) - { return tuples::null_type(); } + inline ::boost::tuples::null_type range_begin( ::boost::range_detail::void_& ) + { return ::boost::tuples::null_type(); } - inline tuples::null_type range_end( void_& ) - { return tuples::null_type(); } + inline ::boost::tuples::null_type range_begin( const ::boost::range_detail::void_& ) + { return ::boost::tuples::null_type(); } + + inline ::boost::tuples::null_type range_end( ::boost::range_detail::void_& ) + { return ::boost::tuples::null_type(); } + + inline ::boost::tuples::null_type range_end( const ::boost::range_detail::void_& ) + { return ::boost::tuples::null_type(); } template< class T > struct tuple_iter { - typedef typename mpl::eval_if_c< is_same::value, - mpl::identity, - range_iterator >::type - type; + typedef BOOST_DEDUCED_TYPENAME ::boost::mpl::eval_if_c< + ::boost::is_same::value, + ::boost::mpl::identity< ::boost::tuples::null_type >, + ::boost::range_iterator + >::type type; }; template< class Rng1, class Rng2 > struct tuple_range { - typedef typename mpl::eval_if_c< is_same::value, - void_, - mpl::identity >::type - type; + typedef BOOST_DEDUCED_TYPENAME ::boost::mpl::eval_if_c< + ::boost::is_same::value, + ::boost::range_detail::void_, + ::boost::mpl::identity + >::type type; }; template @@ -57,36 +66,37 @@ namespace boost class R3, class R4, class R5, - class R6 + class R6 > struct generate_tuple { - typedef boost::tuple< typename tuple_iter::type, - typename tuple_iter::type, - typename tuple_iter::type, - typename tuple_iter::type, - typename tuple_iter::type, - typename tuple_iter::type > - type; + typedef ::boost::tuples::tuple< + BOOST_DEDUCED_TYPENAME tuple_iter::type, + BOOST_DEDUCED_TYPENAME tuple_iter::type, + BOOST_DEDUCED_TYPENAME tuple_iter::type, + BOOST_DEDUCED_TYPENAME tuple_iter::type, + BOOST_DEDUCED_TYPENAME tuple_iter::type, + BOOST_DEDUCED_TYPENAME tuple_iter::type + > type; static type begin( R1& r1, R2& r2, R3& r3, R4& r4, R5& r5, R6& r6 ) { - return make_tuple( boost::begin(r1), - boost::begin(r2), - boost::begin(r3), - boost::begin(r4), - boost::begin(r5), - boost::begin(r6) ); + return ::boost::tuples::make_tuple( ::boost::begin(r1), + ::boost::begin(r2), + ::boost::begin(r3), + ::boost::begin(r4), + ::boost::begin(r5), + ::boost::begin(r6) ); } static type end( R1& r1, R2& r2, R3& r3, R4& r4, R5& r5, R6& r6 ) { - return make_tuple( boost::end(r1), - boost::end(r2), - boost::end(r3), - boost::end(r4), - boost::end(r5), - boost::end(r6) ); + return ::boost::tuples::make_tuple( ::boost::end(r1), + ::boost::end(r2), + ::boost::end(r3), + ::boost::end(r4), + ::boost::end(r5), + ::boost::end(r6) ); } }; @@ -101,54 +111,52 @@ namespace boost > struct zip_rng : iterator_range< - zip_iterator< typename generate_tuple::type > - > + zip_iterator< + BOOST_DEDUCED_TYPENAME generate_tuple::type + > + > { private: - typedef generate_tuple - generator; - typedef typename generator::type - tuple; - typedef zip_iterator - zip_iter; - typedef iterator_range - base; + typedef generate_tuple generator_t; + typedef BOOST_DEDUCED_TYPENAME generator_t::type tuple_t; + typedef zip_iterator zip_iter_t; + typedef iterator_range base_t; public: zip_rng( R1& r1, R2& r2, R3& r3, R4& r4, R5& r5, R6& r6 ) - : base( zip_iter( generator::begin(r1,r2,r3,r4,r5,r6) ), - zip_iter( generator::end(r1,r2,r3,r4,r5,r6) ) ) + : base_t( zip_iter_t( generator_t::begin(r1,r2,r3,r4,r5,r6) ), + zip_iter_t( generator_t::end(r1,r2,r3,r4,r5,r6) ) ) { - BOOST_ASSERT(boost::distance(r1) <= boost::distance(r2)); - BOOST_ASSERT(boost::distance(r1) <= boost::distance(r3)); - BOOST_ASSERT(boost::distance(r1) <= boost::distance(r4)); - BOOST_ASSERT(boost::distance(r1) <= boost::distance(r5)); - BOOST_ASSERT(boost::distance(r1) <= boost::distance(r6)); + BOOST_ASSERT(::boost::distance(r1) <= ::boost::distance(r2)); + BOOST_ASSERT(::boost::distance(r1) <= ::boost::distance(r3)); + BOOST_ASSERT(::boost::distance(r1) <= ::boost::distance(r4)); + BOOST_ASSERT(::boost::distance(r1) <= ::boost::distance(r5)); + BOOST_ASSERT(::boost::distance(r1) <= ::boost::distance(r6)); } template< class Zip, class Rng > zip_rng( Zip& z, Rng& r ) - : base( zip_iter( generator::begin( z, r ) ), - zip_iter( generator::end( z, r ) ) ) + : base_t( zip_iter_t( generator_t::begin( z, r ) ), + zip_iter_t( generator_t::end( z, r ) ) ) { // @todo: tuple::begin( should be overloaded for this situation } - struct tuple_length : tuples::length + struct tuple_length : ::boost::tuples::length { }; template< unsigned N > struct get { template< class Z, class R > - static typename tuples::element::type begin( Z& z, R& ) + static BOOST_DEDUCED_TYPENAME ::boost::tuples::element::type begin( Z& z, R& ) { return get( z.begin().get_iterator_tuple() ); } template< class Z, class R > - static typename tuples::element::type end( Z& z, R& r ) + static BOOST_DEDUCED_TYPENAME ::boost::tuples::element::type end( Z& z, R& r ) { return get( z.end().get_iterator_tuple() ); } @@ -157,64 +165,70 @@ namespace boost }; template< class Rng1, class Rng2 > - struct zip_range - : iterator_range< - zip_iterator< - tuple< typename range_iterator::type, - typename range_iterator::type > - > > + struct zip_range + : iterator_range< + zip_iterator< + ::boost::tuples::tuple< + BOOST_DEDUCED_TYPENAME ::boost::range_iterator::type, + BOOST_DEDUCED_TYPENAME ::boost::range_iterator::type + > + > + > { private: - typedef zip_iterator< - tuple< typename range_iterator::type, - typename range_iterator::type > + typedef zip_iterator< + ::boost::tuples::tuple< + BOOST_DEDUCED_TYPENAME ::boost::range_iterator::type, + BOOST_DEDUCED_TYPENAME ::boost::range_iterator::type > - zip_iter; - typedef iterator_range - base; + > zip_iter_t; + typedef iterator_range base_t; public: zip_range( Rng1& r1, Rng2& r2 ) - : base( zip_iter( make_tuple(boost::begin(r1), - boost::begin(r2)) ), - zip_iter( make_tuple(boost::end(r1), - boost::end(r2)) ) ) + : base_t( zip_iter_t( ::boost::tuples::make_tuple(::boost::begin(r1), + ::boost::begin(r2)) ), + zip_iter_t( ::boost::tuples::make_tuple(::boost::end(r1), + ::boost::end(r2)) ) ) { - BOOST_ASSERT(boost::distance(r1) <= boost::distance(r2)); + BOOST_ASSERT(::boost::distance(r1) <= ::boost::distance(r2)); } }; template< class Rng1, class Rng2, class Rng3 > - struct zip_range3 - : iterator_range< - zip_iterator< - tuple< typename range_iterator::type, - typename range_iterator::type, - typename range_iterator::type > - > > + struct zip_range3 + : iterator_range< + zip_iterator< + ::boost::tuples::tuple< + BOOST_DEDUCED_TYPENAME ::boost::range_iterator::type, + BOOST_DEDUCED_TYPENAME ::boost::range_iterator::type, + BOOST_DEDUCED_TYPENAME ::boost::range_iterator::type + > + > + > { private: - typedef zip_iterator< - tuple< typename range_iterator::type, - typename range_iterator::type, - typename range_iterator::type > - > - zip_iter; - typedef iterator_range - base; + typedef zip_iterator< + ::boost::tuples::tuple< + BOOST_DEDUCED_TYPENAME ::boost::range_iterator::type, + BOOST_DEDUCED_TYPENAME ::boost::range_iterator::type, + BOOST_DEDUCED_TYPENAME ::boost::range_iterator::type + > + > zip_iter_t; + typedef iterator_range base_t; public: zip_range3( Rng1& r1, Rng2& r2, Rng3& r3 ) - : base( zip_iter( make_tuple(boost::begin(r1), - boost::begin(r2), - boost::begin(r3)) ), - zip_iter( make_tuple(boost::end(r1), - boost::end(r2), - boost::end(r3)) ) - ) + : base_t( zip_iter_t( ::boost::tuples::make_tuple(::boost::begin(r1), + ::boost::begin(r2), + ::boost::begin(r3)) ), + zip_iter_t( ::boost::tuples::make_tuple(::boost::end(r1), + ::boost::end(r2), + ::boost::end(r3)) ) + ) { - BOOST_ASSERT(distance(r1) <= distance(r2)); - BOOST_ASSERT(distance(r1) <= distance(r3)); + BOOST_ASSERT(::boost::distance(r1) <= ::boost::distance(r2)); + BOOST_ASSERT(::boost::distance(r1) <= ::boost::distance(r3)); } }; @@ -222,89 +236,61 @@ namespace boost struct combine_tag {}; template< class Rng > - inline zip_rng + inline zip_rng operator&( combine_tag, Rng& r ) { return zip_rng(r); } template< class Rng > - inline iterator_range + inline iterator_range operator&( combine_tag, const Rng& r ) { return iterator_range(r); } template - < - class R1, + < + class R1, class R2, class R3, class R4, class R5, class Rng > - inline typename zip_rng::next - operator&( const zip_rng& zip, + inline BOOST_DEDUCED_TYPENAME zip_rng::next + operator&( const zip_rng& zip, Rng& r ) { return zip_rng::next( zip, r ); } - // - // This one should be able to be made generic - // - // template - // < - // class R1, - // class R2 = void, - // class R3 = void, - // class R4 = void, - // class R5 = void, - // class R6 = void - // > - // inline zip_range::type - // x - // - // - /* - template< class Rng1, class Rng2, class Rng3 > - inline zip_range3 - operator&( const zip_range& r1, const Rng3& r3 ) - { - return zip_range3( - }*/ - - } // namespace 'detail' + } // namespace range_detail template< class Rng1, class Rng2 > - inline detail::zip_range combine( Rng1& r1, Rng2& r2 ) + inline ::boost::range_detail::zip_range combine( Rng1& r1, Rng2& r2 ) { - return detail::zip_range(r1,r2); + return ::boost::range_detail::zip_range(r1, r2); } template< class Rng1, class Rng2 > - inline detail::zip_range combine( const Rng1& r1, Rng2& r2 ) + inline ::boost::range_detail::zip_range combine( const Rng1& r1, Rng2& r2 ) { - return detail::zip_range(r1,r2); + return ::boost::range_detail::zip_range(r1, r2); } template< class Rng1, class Rng2 > - inline detail::zip_range combine( Rng1& r1, const Rng2& r2 ) + inline ::boost::range_detail::zip_range combine( Rng1& r1, const Rng2& r2 ) { - return detail::zip_range(r1,r2); + return ::boost::range_detail::zip_range(r1, r2); } template< class Rng1, class Rng2 > - inline detail::zip_range combine( const Rng1& r1, const Rng2& r2 ) + inline ::boost::range_detail::zip_range combine( const Rng1& r1, const Rng2& r2 ) { - return detail::zip_range(r1,r2); + return ::boost::range_detail::zip_range(r1, r2); } - // - // @todo: find a solution that scales better - // instead of adding 6 overloads! - // -} +} // namespace boost #endif diff --git a/include/boost/range/size_type.hpp b/include/boost/range/size_type.hpp old mode 100755 new mode 100644 index 7ed8dfa..9993d55 --- a/include/boost/range/size_type.hpp +++ b/include/boost/range/size_type.hpp @@ -67,7 +67,8 @@ namespace boost { }; template< class T > - struct range_size : range_size + struct range_size + : detail::range_size { }; } // namespace boost diff --git a/test/combine.cpp b/test/combine.cpp index 9e29a11..c020626 100644 --- a/test/combine.cpp +++ b/test/combine.cpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include #include #include @@ -26,23 +26,25 @@ struct add }; template< class CombinedRng > -void apply( const CombinedRng& r ) +void apply( const CombinedRng& r ) { std::vector v; - for( typename boost::range_iterator::type - i = boost::begin(r), - e = boost::end(r); - i != e; ++i ) + typedef BOOST_DEDUCED_TYPENAME boost::range_iterator::type iterator_t; + + iterator_t e = boost::end(r); + for (iterator_t i = boost::begin(r); i != e; ++i) { - } } void test_combine() { std::vector v1, v2, v3; - v1 = boost::assign::list_of(1)(2)(3)(4); - v2 = boost::assign::list_of(1)(2)(3)(4); + for (int i = 1; i <= 4; ++i) + { + v1.push_back(i); + v2.push_back(i); + } int i1, i2; BOOST_FOREACH( boost::tie( i1, i2 ), boost::combine(v1,v2) ) diff --git a/test/iterator_range.cpp b/test/iterator_range.cpp index 47bc565..cf22463 100644 --- a/test/iterator_range.cpp +++ b/test/iterator_range.cpp @@ -61,7 +61,7 @@ void check_iterator_range() BOOST_CHECK_EQUAL( r2.size(), size( r2 ) ); BOOST_CHECK_EQUAL( std::distance( r.begin(), r.end() ), - std::distance( begin( r2 ), end( r2 ) ) ); + std::distance( boost::begin( r2 ), boost::end( r2 ) ) ); std::cout << r << r2;