diff --git a/doc/concepts.qbk b/doc/concepts.qbk index b7c408d..cc6fd23 100644 --- a/doc/concepts.qbk +++ b/doc/concepts.qbk @@ -7,7 +7,7 @@ A Range is a [*/concept/] similar to the STL [@http://www.sgi.com/Technology/STL The motivation for the Range concept is that there are many useful Container-like types that do not meet the full requirements of Container, and many algorithms that can be written with this reduced set of requirements. In particular, a Range does not necessarily * own the elements that can be accessed through it, -* have copy semantics, +* have copy semantics, Because of the second requirement, a Range object must be passed by (const or non-const) reference in generic code. @@ -165,7 +165,7 @@ __forward_range__ [] [[Valid reverse range] [For any Bidirectional Range a, `[boost::rbegin(a),boost::rend(a))` is a valid range, that is, `boost::rend(a)` is reachable from `boost::rbegin(a)` in a finite number of increments.]] - [[Completeness ] [`An algorithm that iterates through the range `[boost::rbegin(a),boost::rend(a))` will pass through every element of `a`.]] + [[Completeness ] [An algorithm that iterates through the range `[boost::rbegin(a),boost::rend(a))` will pass through every element of `a`.]] ] [heading See also] @@ -203,7 +203,7 @@ __bidirectional_range__ [heading Complexity guarantees] -`boost::size(a)` is completes in amortized constant time. +`boost::size(a)` completes in amortized constant time. [heading Invariants] @@ -222,13 +222,13 @@ Each of the range concepts has a corresponding concept checking class in the fil `` BOOST_CONCEPT_ASSERT(( ForwardRangeConcept )); `` - + An additional concept check is required for the value access property of the range based on the range's iterator type. For example to check for a ForwardReadableRange, the following code is required. `` BOOST_CONCEPT_ASSERT(( ForwardRangeConcept )); BOOST_CONCEPT_ASSERT(( ReadableIteratorConcept::type> )); -`` +`` The following range concept checking classes are provided. @@ -245,7 +245,7 @@ __iterator_concepts__ __concept_check__ -[endsect] +[endsect] [endsect] diff --git a/doc/html/index.html b/doc/html/index.html index e52fb31..4f1a4a1 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -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: March 28, 2010 at 14:28:09 GMT

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


diff --git a/doc/html/range/concepts/bidirectional_range.html b/doc/html/range/concepts/bidirectional_range.html index 99a8ccb..796ca14 100644 --- a/doc/html/range/concepts/bidirectional_range.html +++ b/doc/html/range/concepts/bidirectional_range.html @@ -27,7 +27,7 @@ Bidirectional Range
- + Notation
@@ -65,7 +65,7 @@
- + Description

@@ -75,7 +75,7 @@ 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
@@ -264,21 +264,15 @@

- An algorithm - that iterates - through the - range [boost::rbegin(a),boost::rend(a)) - will pass - through every - element of - a`. + An algorithm that iterates through the range [boost::rbegin(a),boost::rend(a)) + will pass through every element of a.

- + See also

diff --git a/doc/html/range/concepts/concept_checking.html b/doc/html/range/concepts/concept_checking.html index 65088d1..37175b4 100644 --- a/doc/html/range/concepts/concept_checking.html +++ b/doc/html/range/concepts/concept_checking.html @@ -79,7 +79,7 @@

- + See also

diff --git a/doc/html/range/concepts/forward_range.html b/doc/html/range/concepts/forward_range.html index 42ba1f0..9076b68 100644 --- a/doc/html/range/concepts/forward_range.html +++ b/doc/html/range/concepts/forward_range.html @@ -27,7 +27,7 @@ Forward Range

- + Notation
@@ -65,7 +65,7 @@
- + Description

@@ -73,14 +73,14 @@ Traversal Iterator.

- + Refinement of

Single Pass Range

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

diff --git a/doc/html/range/concepts/random_access_range.html b/doc/html/range/concepts/random_access_range.html index adbf102..97b3171 100644 --- a/doc/html/range/concepts/random_access_range.html +++ b/doc/html/range/concepts/random_access_range.html @@ -27,7 +27,7 @@ Random Access Range

- + Description

@@ -35,7 +35,7 @@ Access Traversal Iterator.

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

- + Valid expressions
@@ -89,7 +89,7 @@
- + Expression semantics
@@ -139,15 +139,15 @@
- + Complexity guarantees

- boost::size(a) is completes in amortized constant time. + 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 92daf10..10669d1 100644 --- a/doc/html/range/concepts/single_pass_range.html +++ b/doc/html/range/concepts/single_pass_range.html @@ -27,7 +27,7 @@ Single Pass Range
- + Notation
@@ -65,7 +65,7 @@
- + Description

@@ -73,7 +73,7 @@ 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/introduction.html b/doc/html/range/introduction.html index 6bef0ed..8bce31d 100644 --- a/doc/html/range/introduction.html +++ b/doc/html/range/introduction.html @@ -36,14 +36,14 @@ much as possible.

- The most common form of ranges we are used to work with is standard library - containers. However, one often finds it desirable to extend that code to work - with other types that offer enough functionality to satisfy the needs of the - generic code if a suitable layer of indirection - is applied . For example, raw arrays are often suitable - for use with generic code that works with containers, provided a suitable adapter - is used. Likewise, null terminated strings can be treated as containers of - characters, if suitably adapted. + The most common form of ranges used throughout the C++ community are standard + library containers. When writing algorithms however, one often finds it desirable + for the algorithm to accept other types that offer enough functionality to + satisfy the needs of the generic code if a + suitable layer of indirection is applied . For example, + raw arrays are often suitable for use with generic code that works with containers, + provided a suitable adapter is used. Likewise, null terminated strings can + be treated as containers of characters, if suitably adapted.

This library therefore provides the means to adapt standard-like containers, @@ -125,7 +125,7 @@ std::cout << my_generic_replace( my_view, 4, 2 ); std::cout << my_generic_replace( str, 'a', 'b' ); -// prints '3', '5' and '0' +// prints '3', '5' and '0'

diff --git a/doc/html/range/mfc_atl.html b/doc/html/range/mfc_atl.html index 4ae5a35..8d5ed19 100644 --- a/doc/html/range/mfc_atl.html +++ b/doc/html/range/mfc_atl.html @@ -34,7 +34,7 @@
References
- + Introduction

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

- + Overview

diff --git a/doc/html/range/reference/adaptors/adaptors_introduction.html b/doc/html/range/reference/adaptors/adaptors_introduction.html index bcd20b4..efa54fd 100644 --- a/doc/html/range/reference/adaptors/adaptors_introduction.html +++ b/doc/html/range/reference/adaptors/adaptors_introduction.html @@ -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/algorithms/heap_algorithms/make_heap.html b/doc/html/range/reference/algorithms/heap_algorithms/make_heap.html index 5645d07..d8d4033 100644 --- a/doc/html/range/reference/algorithms/heap_algorithms/make_heap.html +++ b/doc/html/range/reference/algorithms/heap_algorithms/make_heap.html @@ -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 524f86c..f1588b7 100644 --- a/doc/html/range/reference/algorithms/heap_algorithms/pop_heap.html +++ b/doc/html/range/reference/algorithms/heap_algorithms/pop_heap.html @@ -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 357465b..35b64ca 100644 --- a/doc/html/range/reference/algorithms/heap_algorithms/push_heap.html +++ b/doc/html/range/reference/algorithms/heap_algorithms/push_heap.html @@ -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/next_permutation.html b/doc/html/range/reference/algorithms/permutation_algorithms/next_permutation.html index 5f7dce0..8521343 100644 --- a/doc/html/range/reference/algorithms/permutation_algorithms/next_permutation.html +++ b/doc/html/range/reference/algorithms/permutation_algorithms/next_permutation.html @@ -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 6a37365..a1e0d1d 100644 --- a/doc/html/range/reference/algorithms/permutation_algorithms/prev_permutation.html +++ b/doc/html/range/reference/algorithms/permutation_algorithms/prev_permutation.html @@ -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_mutating_algorithms/copy.html b/doc/html/range/reference/algorithms/range_algorithm_mutating_algorithms/copy.html index 401b24e..0decd23 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 @@ -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 53e315e..541db9a 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 @@ -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 ad3f8a8..4bb5340 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 @@ -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 a78b8e9..1a5ba8a 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 @@ -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 4192d22..fafc9d5 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 @@ -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 5df7c4d..9bd570e 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 @@ -28,7 +28,7 @@ Range Algorithm - merge

- + Prototype

@@ -42,7 +42,7 @@ OutputIterator merge(const SinglePassRange1& rng1, const SinglePassRange2& rng2, OutputIterator out); - + template< class SinglePassRange1, class SinglePassRange2, @@ -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,19 +190,19 @@
- + For the predicate version:
  • The elements of rng1 - is in ascending order. That is, for each adjacent element pair [x,y], of rng1, + are in ascending order. That is, for each adjacent element pair [x,y], of rng1, pred(y, x) == false.
  • The elements of rng2 - is in ascending order. That is, for each adjacent element pair [x,y], of rng2, + are in ascending order. That is, for each adjacent element pair [x,y], of rng2, pred(y, x) == false.
  • @@ -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 bc4497a..b8d27f0 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 @@ -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 1c161c7..d218c43 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 @@ -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 e592ec2..4136a2a 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 @@ -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 56e47b7..190f66f 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 @@ -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 525845d..4cb906c 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 @@ -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 a6d8c56..9896adc 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 @@ -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 ab1ea36..ab4232d 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 @@ -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 8f0e4b3..7677651 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 @@ -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 6930b56..55faad4 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 @@ -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 55764e6..290f8e7 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 @@ -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 016e37f..eb0032a 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 @@ -28,7 +28,7 @@ Range Algorithm - stable_partition

- + Prototype

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

- + Description

@@ -71,7 +71,7 @@ Once this function has completed all of the elements that satisfy pred appear before all of the elements that fail to satisfy it. stable_partition differs from partition - because it preserves relative order. It is table. + because it preserves relative order. It is stable.

For the versions that return an iterator, the return value is the iterator @@ -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 613739f..984024d 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 @@ -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 458f1b4..58da4ca 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 @@ -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 bad1018..aaa5525 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 @@ -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/erase.html b/doc/html/range/reference/algorithms/range_algorithm_new_algorithms/erase.html index 37fbd37..3520dba 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 @@ -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 bbeb90f..4a1cb75 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 @@ -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 bac1fdf..fc06253 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 @@ -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

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 a83b172..b856c39 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 @@ -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

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 ab51754..26741e2 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 @@ -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 a1658e2..4afd63c 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 @@ -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 b6ab1b0..f80666a 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 @@ -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 39eef41..0f4c190 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 @@ -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/adjacent_find.html b/doc/html/range/reference/algorithms/range_algorithm_non_mutating_algorithms/adjacent_find.html index c9a58d1..e45a101 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 @@ -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 ddabdc7..247d8bc 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 @@ -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 c30c6e6..bdfc489 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 @@ -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 8d45dcd..d6d54a1 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 @@ -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 ff5a0b9..94bd133 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 @@ -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 5c89b56..3e45381 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 @@ -28,7 +28,7 @@ find

- + Prototype

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

- + Description

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

- + Definition

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

- + Requirements
    @@ -100,7 +100,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 a1fd3c0..9412d18 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 @@ -28,7 +28,7 @@ find_end

- + Prototype

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

- + Description

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

- + Definition

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

- + Requirements

@@ -178,7 +178,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 5a353e2..5f15b42 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 @@ -28,7 +28,7 @@ find_first_of

- + Prototype

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

- + Description

@@ -116,14 +116,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 +177,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 548c215..424b833 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 @@ -28,7 +28,7 @@ find_if

- + Prototype

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

- + Description

@@ -76,14 +76,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 +102,7 @@
- + Precondition:

@@ -110,7 +110,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 80aceea..3c85cc0 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 @@ -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 469333a..0cf9505 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 @@ -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 686416f..4e1f526 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 @@ -28,7 +28,7 @@ lower_bound

- + Prototype

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

- + Description

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

- + Definition

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

- + Requirements

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

- + Precondition:

@@ -160,7 +160,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 07fca98..8ca03f7 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 @@ -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 90a0a22..08903d1 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 @@ -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 d783d9a..5a168da 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 @@ -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 891d51d..1dcf8c0 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 @@ -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 40bd80e..8db1558 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 @@ -28,7 +28,7 @@ upper_bound

- + Prototype

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

- + Description

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

- + Definition

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

- + Requirements

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

- + Precondition:

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

- + Complexity

diff --git a/doc/html/range/reference/algorithms/range_numeric/accumulate.html b/doc/html/range/reference/algorithms/range_numeric/accumulate.html index 8f19f51..448b1fa 100644 --- a/doc/html/range/reference/algorithms/range_numeric/accumulate.html +++ b/doc/html/range/reference/algorithms/range_numeric/accumulate.html @@ -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 23fed4f..8c76593 100644 --- a/doc/html/range/reference/algorithms/range_numeric/adjacent_difference.html +++ b/doc/html/range/reference/algorithms/range_numeric/adjacent_difference.html @@ -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 273fe4e..6d48b14 100644 --- a/doc/html/range/reference/algorithms/range_numeric/inner_product.html +++ b/doc/html/range/reference/algorithms/range_numeric/inner_product.html @@ -28,7 +28,7 @@ inner_product

- + Prototype

@@ -39,7 +39,7 @@ class Value> Value inner_product( const SinglePassRange1& rng1, const SinglePassRange2& rng2, - Value init); + Value init ); template<class SinglePassRange1, class SinglePassRange2, @@ -49,12 +49,12 @@ Value inner_product( const SinglePassRange1& rng1, const SinglePassRange2& rng2, Value init, - BinaryOperation1 op1, + BinaryOperation1 op1 );

- + 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 6b52687..b89e58e 100644 --- a/doc/html/range/reference/algorithms/range_numeric/partial_sum.html +++ b/doc/html/range/reference/algorithms/range_numeric/partial_sum.html @@ -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/includes.html b/doc/html/range/reference/algorithms/set_algorithms/includes.html index e7eedb3..015474a 100644 --- a/doc/html/range/reference/algorithms/set_algorithms/includes.html +++ b/doc/html/range/reference/algorithms/set_algorithms/includes.html @@ -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 a8f32c6..58d8a54 100644 --- a/doc/html/range/reference/algorithms/set_algorithms/set_difference.html +++ b/doc/html/range/reference/algorithms/set_algorithms/set_difference.html @@ -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 5ead92b..65840cd 100644 --- a/doc/html/range/reference/algorithms/set_algorithms/set_intersection.html +++ b/doc/html/range/reference/algorithms/set_algorithms/set_intersection.html @@ -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 738d029..a25e8e4 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 @@ -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 02dfe3f..90c343c 100644 --- a/doc/html/range/reference/algorithms/set_algorithms/set_union.html +++ b/doc/html/range/reference/algorithms/set_algorithms/set_union.html @@ -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/method_2.html b/doc/html/range/reference/extending/method_2.html index cdda356..f4f3524 100644 --- a/doc/html/range/reference/extending/method_2.html +++ b/doc/html/range/reference/extending/method_2.html @@ -159,7 +159,7 @@ template< class T > struct Pair { - T first, last; + T first, last; }; } // namespace 'Foo' @@ -194,31 +194,31 @@ { // // The required functions. These should be defined in - // the same namespace as 'Pair', in this case + // the same namespace as 'Pair', in this case // in namespace 'Foo'. // - + template< class T > inline T range_begin( Pair<T>& x ) - { + { return x.first; } template< class T > inline T range_begin( const Pair<T>& x ) - { + { return x.first; } template< class T > inline T range_end( Pair<T>& x ) - { + { return x.last; } template< class T > inline T range_end( const Pair<T>& x ) - { + { return x.last; } @@ -226,14 +226,14 @@ #include <vector> -int main() +int main(int argc, const char* argv[]) { typedef std::vector<int>::iterator iter; std::vector<int> vec; Foo::Pair<iter> pair = { vec.begin(), vec.end() }; - const Foo::Pair<iter>& cpair = pair; + const Foo::Pair<iter>& cpair = pair; // - // Notice that we call 'begin' etc with qualification. + // Notice that we call 'begin' etc with qualification. // iter i = boost::begin( pair ); iter e = boost::end( pair ); @@ -244,7 +244,9 @@ boost::range_reverse_iterator< const Foo::Pair<iter> >::type ri = boost::rbegin( cpair ), re = boost::rend( cpair ); -} + + return 0; +}

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 d45ef05..e995bee 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 @@ -47,11 +47,11 @@ typedef boost::iterator_range< boost::reverse_iterator< typename boost::range_iterator<R>::type> > base; - + public: typedef boost::reverse_iterator< typename boost::range_iterator<R>::type > iterator; - + reverse_range(R& r) : base(iterator(boost::end(r)), iterator(boost::begin(r))) { } @@ -68,17 +68,17 @@
  • Implement operator|
    template< class BidirectionalRng >
    -inline reverse_range<BidirectionalRng> 
    +inline reverse_range<BidirectionalRng>
     operator|( BidirectionalRng& r, detail::reverse_forwarder )
     {
    -	return reverse_range<BidirectionalRng>( r );   
    +	return reverse_range<BidirectionalRng>( r );
     }
     
     template< class BidirectionalRng >
    -inline reverse_range<const BidirectionalRng> 
    +inline reverse_range<const BidirectionalRng>
     operator|( const BidirectionalRng& r, detail::reverse_forwarder )
     {
    -	return reverse_range<const BidirectionalRng>( r );   
    +	return reverse_range<const BidirectionalRng>( r );
     }
     
  • 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 58d6bc8..f0bae90 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 @@ -40,12 +40,12 @@ public: typedef const Value& result_type; typedef const Value& argument_type; - + replace_value(const Value& from, const Value& to) : m_from(from), m_to(to) { } - + const Value& operator()(const Value& x) const { return (x == m_from) ? m_to : x; @@ -68,7 +68,7 @@ typedef replace_value<value_type> Fn; typedef boost::transform_iterator<Fn, iterator_base> replaced_iterator; typedef boost::iterator_range<replaced_iterator> base_t; - + public: replace_range(Range& rng, value_type from, value_type to) : base_t(replaced_iterator(boost::begin(rng), Fn(from,to)), diff --git a/doc/html/range/reference/overview.html b/doc/html/range/reference/overview.html index 63c4433..ae0bbf0 100644 --- a/doc/html/range/reference/overview.html +++ b/doc/html/range/reference/overview.html @@ -27,7 +27,7 @@ Overview

    - Four types of objects are currently supported by the library: + Three types of objects are currently supported by the library:

    • diff --git a/doc/html/range/reference/ranges/counting_range.html b/doc/html/range/reference/ranges/counting_range.html index 4a3fae5..b556488 100644 --- a/doc/html/range/reference/ranges/counting_range.html +++ b/doc/html/range/reference/ranges/counting_range.html @@ -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 18aaeca..f4565c0 100644 --- a/doc/html/range/reference/ranges/irange.html +++ b/doc/html/range/reference/ranges/irange.html @@ -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 599d368..e7d81d8 100644 --- a/doc/html/range/reference/ranges/istream_range.html +++ b/doc/html/range/reference/ranges/istream_range.html @@ -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 dafb2d9..fbb1aa8 100644 --- a/doc/html/range/reference/semantics.html +++ b/doc/html/range/reference/semantics.html @@ -31,7 +31,7 @@

    Functions
    - + notation
    diff --git a/doc/html/range/utilities/iterator_range.html b/doc/html/range/utilities/iterator_range.html index f7d7b4a..07efc15 100644 --- a/doc/html/range/utilities/iterator_range.html +++ b/doc/html/range/utilities/iterator_range.html @@ -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 2902714..c2c9e15 100644 --- a/doc/html/range/utilities/join.html +++ b/doc/html/range/utilities/join.html @@ -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 7e1dd1b..0b474d7 100644 --- a/doc/html/range/utilities/sub_range.html +++ b/doc/html/range/utilities/sub_range.html @@ -35,7 +35,7 @@ is.

    - + Synopsis

    diff --git a/doc/introduction.qbk b/doc/introduction.qbk index 4529d92..c25eeae 100644 --- a/doc/introduction.qbk +++ b/doc/introduction.qbk @@ -2,7 +2,7 @@ Generic algorithms have so far been specified in terms of two or more iterators. Two iterators would together form a range of values that the algorithm could work on. This leads to a very general interface, but also to a somewhat clumsy use of the algorithms with redundant specification of container names. Therefore we would like to raise the abstraction level for algorithms so they specify their interface in terms of __ranges__ as much as possible. -The most common form of ranges we are used to work with is standard library containers. However, one often finds it desirable to extend that code to work with other types that offer enough functionality to satisfy the needs of the generic code [*/if a suitable layer of indirection is applied/] . For example, raw arrays are often suitable for use with generic code that works with containers, provided a suitable adapter is used. Likewise, null terminated strings can be treated as containers of characters, if suitably adapted. +The most common form of ranges used throughout the C++ community are standard library containers. When writing algorithms however, one often finds it desirable for the algorithm to accept other types that offer enough functionality to satisfy the needs of the generic code [*/if a suitable layer of indirection is applied/] . For example, raw arrays are often suitable for use with generic code that works with containers, provided a suitable adapter is used. Likewise, null terminated strings can be treated as containers of characters, if suitably adapted. This library therefore provides the means to adapt standard-like containers, 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__ and free-standing functions so syntactic and/or semantic differences can be removed. @@ -64,10 +64,10 @@ Below are given a small example (the complete example can be found [@http://www. std::cout << my_generic_replace( my_view, 4, 2 ); std::cout << my_generic_replace( str, 'a', 'b' ); - // prints '3', '5' and '0' + // prints '3', '5' and '0' `` 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 about __the_forwarding_problem__ ). -[endsect] +[endsect] diff --git a/doc/reference/algorithm/merge.qbk b/doc/reference/algorithm/merge.qbk index 2f538bc..edfed92 100644 --- a/doc/reference/algorithm/merge.qbk +++ b/doc/reference/algorithm/merge.qbk @@ -11,7 +11,7 @@ template< OutputIterator merge(const SinglePassRange1& rng1, const SinglePassRange2& rng2, OutputIterator out); - + template< class SinglePassRange1, class SinglePassRange2, @@ -68,8 +68,8 @@ Defined in the header file `boost/range/algorithm/merge.hpp` [heading For the predicate version:] -* The elements of `rng1` is in ascending order. That is, for each adjacent element pair `[x,y]`, of `rng1`, `pred(y, x) == false`. -* The elements of `rng2` is in ascending order. That is, for each adjacent element pair `[x,y]`, of `rng2`, `pred(y, x) == false`. +* The elements of `rng1` are in ascending order. That is, for each adjacent element pair `[x,y]`, of `rng1`, `pred(y, x) == false`. +* The elements of `rng2` are in ascending order. That is, for each adjacent element pair `[x,y]`, of `rng2`, `pred(y, x) == false`. * The ranges `rng1` and `[out, out + distance(rng1) + distance(rng2))` do not overlap. * The ranges `rng2` and `[out, out + distance(rng1) + distance(rng2))` do not overlap. * `[out, out + distance(rng1) + distance(rng2))` is a valid range. diff --git a/doc/reference/algorithm/stable_partition.qbk b/doc/reference/algorithm/stable_partition.qbk index 30e9311..b68aa11 100644 --- a/doc/reference/algorithm/stable_partition.qbk +++ b/doc/reference/algorithm/stable_partition.qbk @@ -30,7 +30,7 @@ stable_partition(const ForwardRange& rng, UnaryPredicate pred); [heading Description] -`stable_partition` reorders the elements in the range `rng` base on the function object `pred`. Once this function has completed all of the elements that satisfy `pred` appear before all of the elements that fail to satisfy it. `stable_partition` differs from `partition` because it preserves relative order. It is table. +`stable_partition` reorders the elements in the range `rng` base on the function object `pred`. Once this function has completed all of the elements that satisfy `pred` appear before all of the elements that fail to satisfy it. `stable_partition` differs from `partition` because it preserves relative order. It is stable. For the versions that return an iterator, the return value is the iterator to the first element that fails to satisfy `pred`. diff --git a/doc/reference/extending.qbk b/doc/reference/extending.qbk index 8cf6a74..13b0b5e 100644 --- a/doc/reference/extending.qbk +++ b/doc/reference/extending.qbk @@ -64,7 +64,7 @@ A complete example is given here: template< class T > struct Pair { - T first, last; + T first, last; }; } // namespace 'Foo' @@ -99,31 +99,31 @@ A complete example is given here: { // // The required functions. These should be defined in - // the same namespace as 'Pair', in this case + // the same namespace as 'Pair', in this case // in namespace 'Foo'. // - + template< class T > inline T range_begin( Pair& x ) - { + { return x.first; } template< class T > inline T range_begin( const Pair& x ) - { + { return x.first; } template< class T > inline T range_end( Pair& x ) - { + { return x.last; } template< class T > inline T range_end( const Pair& x ) - { + { return x.last; } @@ -131,14 +131,14 @@ A complete example is given here: #include - int main() + int main(int argc, const char* argv[]) { typedef std::vector::iterator iter; std::vector vec; Foo::Pair pair = { vec.begin(), vec.end() }; - const Foo::Pair& cpair = pair; + const Foo::Pair& cpair = pair; // - // Notice that we call 'begin' etc with qualification. + // Notice that we call 'begin' etc with qualification. // iter i = boost::begin( pair ); iter e = boost::end( pair ); @@ -149,7 +149,9 @@ A complete example is given here: boost::range_reverse_iterator< const Foo::Pair >::type ri = boost::rbegin( cpair ), re = boost::rend( cpair ); - } + + return 0; + } `` [endsect] @@ -175,11 +177,11 @@ private: typedef boost::iterator_range< boost::reverse_iterator< typename boost::range_iterator::type> > base; - + public: typedef boost::reverse_iterator< typename boost::range_iterator::type > iterator; - + reverse_range(R& r) : base(iterator(boost::end(r)), iterator(boost::begin(r))) { } @@ -196,17 +198,17 @@ namespace detail { # Implement `operator|` `` template< class BidirectionalRng > -inline reverse_range +inline reverse_range operator|( BidirectionalRng& r, detail::reverse_forwarder ) { - return reverse_range( r ); + return reverse_range( r ); } template< class BidirectionalRng > -inline reverse_range +inline reverse_range operator|( const BidirectionalRng& r, detail::reverse_forwarder ) { - return reverse_range( r ); + return reverse_range( r ); } `` @@ -226,12 +228,12 @@ class replace_value public: typedef const Value& result_type; typedef const Value& argument_type; - + replace_value(const Value& from, const Value& to) : m_from(from), m_to(to) { } - + const Value& operator()(const Value& x) const { return (x == m_from) ? m_to : x; @@ -254,7 +256,7 @@ private: typedef replace_value Fn; typedef boost::transform_iterator replaced_iterator; typedef boost::iterator_range base_t; - + public: replace_range(Range& rng, value_type from, value_type to) : base_t(replaced_iterator(boost::begin(rng), Fn(from,to)), @@ -263,7 +265,7 @@ public: } }; `` - + # Implement a holder class to hold the arguments required to construct the RangeAdaptor. The holder combines multiple parameters into one that can be passed as the right operand of `operator|()`. diff --git a/doc/reference/numeric/inner_product.qbk b/doc/reference/numeric/inner_product.qbk index a56062a..2b42f8d 100644 --- a/doc/reference/numeric/inner_product.qbk +++ b/doc/reference/numeric/inner_product.qbk @@ -8,7 +8,7 @@ template Value inner_product( const SinglePassRange1& rng1, const SinglePassRange2& rng2, - Value init); + Value init ); template` diff --git a/include/boost/range/adaptor/adjacent_filtered.hpp b/include/boost/range/adaptor/adjacent_filtered.hpp index 944665b..aedc888 100644 --- a/include/boost/range/adaptor/adjacent_filtered.hpp +++ b/include/boost/range/adaptor/adjacent_filtered.hpp @@ -104,7 +104,7 @@ namespace boost typedef BOOST_DEDUCED_TYPENAME range_iterator::type raw_iterator; - P bi_pred; + P m_bi_pred; // Get the first element in the half-open range that // passes the filter predicate. @@ -146,8 +146,8 @@ namespace boost 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) ) ), - bi_pred( p ), - _default_pass(default_pass) + m_bi_pred( p ), + m_default_pass(default_pass) { } @@ -155,11 +155,11 @@ namespace boost { BOOST_ASSERT( current != this->end().base() ); - current = to_valid(next(current), this->end().base(), bi_pred, _default_pass); + current = to_valid(next(current), this->end().base(), m_bi_pred, m_default_pass); } private: - bool _default_pass; + bool m_default_pass; }; template< class T > @@ -214,7 +214,7 @@ namespace boost // Bring adjacent_filter_range into the boost namespace so that users of // this library may specify the return type of the '|' operator and - // make_adjacent_filtered_range() + // adjacent_filter() using range_detail::adjacent_filter_range; namespace adaptors @@ -222,8 +222,8 @@ namespace boost namespace { const range_detail::forwarder - adjacent_filtered = - range_detail::forwarder(); + adjacent_filtered = + range_detail::forwarder(); const range_detail::forwarder adjacent_filtered_excl = diff --git a/include/boost/range/adaptor/filtered.hpp b/include/boost/range/adaptor/filtered.hpp index c3e9ef5..1bc4799 100755 --- a/include/boost/range/adaptor/filtered.hpp +++ b/include/boost/range/adaptor/filtered.hpp @@ -20,22 +20,21 @@ namespace boost namespace range_detail { template< class P, class R > - struct filter_range : - boost::iterator_range< - boost::filter_iterator< P, - BOOST_DEDUCED_TYPENAME range_iterator::type - > - > + struct filter_range : + boost::iterator_range< + boost::filter_iterator< P, + BOOST_DEDUCED_TYPENAME range_iterator::type + > + > { private: typedef boost::iterator_range< - boost::filter_iterator< P, - BOOST_DEDUCED_TYPENAME range_iterator::type - > - > - base; + boost::filter_iterator< P, + BOOST_DEDUCED_TYPENAME range_iterator::type + > + > base; public: - filter_range( P p, R& r ) + filter_range( P p, R& r ) : base( make_filter_iterator( p, boost::begin(r), boost::end(r) ), make_filter_iterator( p, boost::end(r), boost::end(r) ) ) { } @@ -47,48 +46,48 @@ namespace boost filter_holder( T r ) : holder(r) { } }; - + template< class InputRng, class Predicate > - inline filter_range - operator|( InputRng& r, + inline filter_range + operator|( InputRng& r, const filter_holder& f ) { - return filter_range( f.val, r ); + return filter_range( f.val, r ); } - + template< class InputRng, class Predicate > - inline filter_range - operator|( const InputRng& r, + inline filter_range + operator|( const InputRng& r, const filter_holder& f ) { - return filter_range( f.val, r ); + return filter_range( f.val, r ); } - + } // 'range_detail' // Unusual use of 'using' is intended to bring filter_range into the boost namespace // while leaving the mechanics of the '|' operator in range_detail and maintain // argument dependent lookup. // filter_range logically needs to be in the boost namespace to allow user of - // the library to define the return type for make_filtered_range() + // the library to define the return type for filter() using range_detail::filter_range; namespace adaptors - { + { namespace { - const range_detail::forwarder - filtered = + const range_detail::forwarder + filtered = range_detail::forwarder(); } - + template inline filter_range filter(InputRange& rng, Predicate filter_pred) { return range_detail::filter_range( filter_pred, rng ); } - + template inline filter_range filter(const InputRange& rng, Predicate filter_pred) diff --git a/include/boost/range/adaptor/indexed.hpp b/include/boost/range/adaptor/indexed.hpp index 4c00cdd..7050185 100755 --- a/include/boost/range/adaptor/indexed.hpp +++ b/include/boost/range/adaptor/indexed.hpp @@ -29,6 +29,10 @@ namespace boost { namespace adaptors { + // This structure exists to carry the parameters from the '|' operator + // to the index adapter. The expression rng | indexed(1) instantiates + // this structure and passes it as the right-hand operand to the + // '|' operator. struct indexed { explicit indexed(std::size_t x) : val(x) {} @@ -48,18 +52,18 @@ namespace boost typedef BOOST_DEDUCED_TYPENAME base::difference_type index_type; - index_type index_; + index_type m_index; public: explicit indexed_iterator( Iter i, index_type index ) - : base(i), index_(index) + : base(i), m_index(index) { - BOOST_ASSERT( index_ >= 0 && "Indexed Iterator out of bounds" ); + BOOST_ASSERT( m_index >= 0 && "Indexed Iterator out of bounds" ); } index_type index() const { - return index_; + return m_index; } private: @@ -67,22 +71,22 @@ namespace boost void increment() { - ++index_; + ++m_index; ++(this->base_reference()); } void decrement() { - BOOST_ASSERT( index_ > 0 && "Indexed Iterator out of bounds" ); - --index_; + BOOST_ASSERT( m_index > 0 && "Indexed Iterator out of bounds" ); + --m_index; --(this->base_reference()); } void advance( index_type n ) { - index_ += n; - BOOST_ASSERT( index_ >= 0 && "Indexed Iterator out of bounds" ); + m_index += n; + BOOST_ASSERT( m_index >= 0 && "Indexed Iterator out of bounds" ); this->base_reference() += n; } }; @@ -107,7 +111,7 @@ namespace boost // Make this available to users of this library. It will sometimes be // required since it is the return type of operator '|' and - // make_indexed_range(). + // index(). using range_detail::indexed_range; namespace adaptors @@ -130,16 +134,16 @@ namespace boost template inline indexed_range - index(SinglePassRange& rng, Index index) + index(SinglePassRange& rng, Index index_value) { - return indexed_range(index, rng); + return indexed_range(index_value, rng); } template inline indexed_range - index(const SinglePassRange& rng, Index index) + index(const SinglePassRange& rng, Index index_value) { - return indexed_range(index, rng); + return indexed_range(index_value, rng); } } // 'adaptors' diff --git a/include/boost/range/adaptor/indirected.hpp b/include/boost/range/adaptor/indirected.hpp index 47eeb85..5b13cfb 100644 --- a/include/boost/range/adaptor/indirected.hpp +++ b/include/boost/range/adaptor/indirected.hpp @@ -21,22 +21,22 @@ namespace boost template< class R > struct indirect_range : public boost::iterator_range< - boost::indirect_iterator< - BOOST_DEDUCED_TYPENAME range_iterator::type - > - > + boost::indirect_iterator< + BOOST_DEDUCED_TYPENAME range_iterator::type + > + > { private: typedef boost::iterator_range< - boost::indirect_iterator< - BOOST_DEDUCED_TYPENAME range_iterator::type - > - > + boost::indirect_iterator< + BOOST_DEDUCED_TYPENAME range_iterator::type + > + > base; public: - indirect_range( R& r ) - : base( r ) + explicit indirect_range( R& r ) + : base( r ) { } }; diff --git a/include/boost/range/adaptor/replaced.hpp b/include/boost/range/adaptor/replaced.hpp index 1690797..bdc0a2d 100644 --- a/include/boost/range/adaptor/replaced.hpp +++ b/include/boost/range/adaptor/replaced.hpp @@ -32,18 +32,18 @@ namespace boost typedef const Value& first_argument_type; replace_value(const Value& from, const Value& to) - : _from(from), _to(to) + : m_from(from), m_to(to) { } const Value& operator()(const Value& x) const { - return (x == _from) ? _to : x; + return (x == m_from) ? m_to : x; } private: - Value _from; - Value _to; + Value m_from; + Value m_to; }; template< class R > @@ -109,7 +109,7 @@ namespace boost replaced = range_detail::forwarder2(); } - + template inline replace_range replace(InputRange& rng, @@ -118,7 +118,7 @@ namespace boost { return replace_range(rng, from, to); } - + template inline replace_range replace(const InputRange& rng, @@ -127,7 +127,7 @@ namespace boost { return replace_range(rng, from ,to); } - + } // 'adaptors' } // 'boost'