diff --git a/doc/algorithm.qbk b/doc/algorithm.qbk index d0ab62ca..3fa194b2 100644 --- a/doc/algorithm.qbk +++ b/doc/algorithm.qbk @@ -1319,7 +1319,8 @@ Returns a new sequence with the elements of the original in reverse order. [*Return type]: -* A model of __bidirectional_sequence__. +* A model of __bidirectional_sequence__ if `seq` is a __bidirectional_sequence__ +else, __random_access_sequence__ if `seq` is a __random_access_sequence__. * A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence containing all the elements of `seq` in reverse order. @@ -2159,7 +2160,8 @@ Returns the result type of __reverse__, given the input sequence type. [*Return type]: -* A model of __bidirectional_sequence__. +* A model of __bidirectional_sequence__ if `Sequence` is a __bidirectional_sequence__ +else, __random_access_sequence__ if `Sequence` is a __random_access_sequence__. * A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with the elements in the reverse order to `Sequence`. diff --git a/doc/html/fusion/acknowledgements.html b/doc/html/fusion/acknowledgements.html index c6731325..d1f544ad 100644 --- a/doc/html/fusion/acknowledgements.html +++ b/doc/html/fusion/acknowledgements.html @@ -1,11 +1,11 @@ - + Acknowledgements - - + + @@ -43,7 +43,7 @@ -
-
- + Description

@@ -37,7 +37,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_STRUCT(
@@ -48,7 +48,7 @@
     )
 
- + Semantics

@@ -66,14 +66,14 @@ should be the fully namespace qualified name of the struct to be converted.

- + Header
#include <boost/fusion/adapted/struct/adapt_assoc_struct.hpp>
 #include <boost/fusion/include/adapt_assoc_struct.hpp>
 
- + Example
namespace demo
@@ -102,7 +102,7 @@
 
 
-
- + Description

@@ -36,7 +36,7 @@ Access Sequence.

- + Synopsis
BOOST_FUSION_ADAPT_STRUCT(
@@ -47,7 +47,7 @@
     )
 
- + Semantics

@@ -63,14 +63,14 @@ should be the fully namespace qualified name of the struct to be converted.

- + Header
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
 #include <boost/fusion/include/adapt_struct.hpp>
 
- + Example
namespace demo
@@ -91,7 +91,7 @@
 
 
-
-
-
-
-

- + Lazy Evaluation

@@ -67,7 +67,7 @@ as we want without incurring a high runtime penalty.

- + Sequence Extension

@@ -90,7 +90,7 @@ functions to convert back to the original sequence type.

- + Header

#include <boost/fusion/algorithm.hpp>
@@ -99,7 +99,7 @@
 
 
-
-
-
- + Description

@@ -41,7 +41,7 @@ the first call) and each element of seq.

- + Synopsis
template<
@@ -53,7 +53,7 @@
     Sequence& seq, State const& initial_state, F const& f);
 
-

Table 1.38. Parameters

+

Table 1.38. Parameters

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

- + Expression Semantics
@@ -156,21 +156,21 @@ are the elements of seq.

- + Complexity

Linear, exactly result_of::size<Sequence>::value applications of f.

- + Header
#include <boost/fusion/algorithm/iteration/accumulate.hpp>
 #include <boost/fusion/include/accumulate.hpp>
 
- + Example
struct make_string
@@ -190,7 +190,7 @@
 
 
-
- + Description

@@ -38,7 +38,7 @@ if it is the first call) and each element of seq.

- + Synopsis
template<
@@ -50,7 +50,7 @@
     Sequence& seq, State const& initial_state, F const& f);
 
-

Table 1.37. Parameters

+

Table 1.37. Parameters

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

- + Expression Semantics
@@ -153,21 +153,21 @@ are the elements of seq.

- + Complexity

Linear, exactly result_of::size<Sequence>::value applications of f.

- + Header
#include <boost/fusion/algorithm/iteration/fold.hpp>
 #include <boost/fusion/include/fold.hpp>
 
- + Example
struct make_string
@@ -187,7 +187,7 @@
 
 
-
- + Description

Applies a unary function object to each element of a sequence.

- + Synopsis
template<
@@ -45,7 +45,7 @@
     Sequence& seq, F const& f);
 
-

Table 1.39. Parameters

+

Table 1.39. Parameters

@@ -112,7 +112,7 @@

- + Expression Semantics
@@ -126,21 +126,21 @@ in seq.

- + Complexity

Linear, exactly result_of::size<Sequence>::value applications of f.

- + Header
#include <boost/fusion/algorithm/iteration/for_each.hpp>
 #include <boost/fusion/include/for_each.hpp>
 
- + Example
struct increment
@@ -159,7 +159,7 @@
 
 
-
-
- + Description

Returns the result type of accumulate.

- + Synopsis
template<
@@ -47,7 +47,7 @@
 };
 
-

Table 1.41. Parameters

+

Table 1.41. Parameters

@@ -132,7 +132,7 @@

- + Expression Semantics
@@ -149,14 +149,14 @@ and binary function object or function pointer of type F.

- + Complexity

Linear, exactly result_of::size<Sequence>::value applications of F.

- + Header
#include <boost/fusion/algorithm/iteration/accumulate.hpp>
@@ -165,7 +165,7 @@
 
 
-
- + Description

Returns the result type of fold.

- + Synopsis
template<
@@ -47,7 +47,7 @@
 };
 
-

Table 1.40. Parameters

+

Table 1.40. Parameters

@@ -132,7 +132,7 @@

- + Expression Semantics
@@ -149,14 +149,14 @@ and binary function object or function pointer of type F.

- + Complexity

Linear, exactly result_of::size<Sequence>::value applications of F.

- + Header
#include <boost/fusion/algorithm/iteration/fold.hpp>
@@ -165,7 +165,7 @@
 
 
-
-
-
-
- + Description

@@ -38,7 +38,7 @@ element of seq.

- + Synopsis
template<
@@ -49,7 +49,7 @@
     Sequence const& seq, F f);
 
-

Table 1.44. Parameters

+

Table 1.44. Parameters

@@ -115,7 +115,7 @@

- + Expression Semantics
@@ -131,21 +131,21 @@ element e in seq.

- + Complexity

Linear. At most result_of::size<Sequence>::value comparisons.

- + Header
#include <boost/fusion/algorithm/query/all.hpp>
 #include <boost/fusion/include/all.hpp>
 
- + Example
struct odd
@@ -163,7 +163,7 @@
 
 
-
- + Description

@@ -38,7 +38,7 @@ least one element of seq.

- + Synopsis
template<
@@ -49,7 +49,7 @@
     Sequence const& seq, F f);
 
-

Table 1.43. Parameters

+

Table 1.43. Parameters

@@ -115,7 +115,7 @@

- + Expression semantics
@@ -131,21 +131,21 @@ element e in seq.

- + Complexity

Linear. At most result_of::size<Sequence>::value comparisons.

- + Header
#include <boost/fusion/algorithm/query/any.hpp>
 #include <boost/fusion/include/any.hpp>
 
- + Example
struct odd
@@ -163,7 +163,7 @@
 
 
-
- + Description

Returns the number of elements of a given type within a sequence.

- + Synopsis
template<
@@ -45,7 +45,7 @@
     Sequence const& seq, T const& t);
 
-

Table 1.48. Parameters

+

Table 1.48. Parameters

@@ -112,7 +112,7 @@

- + Expression Semantics
@@ -127,21 +127,21 @@ t in seq.

- + Complexity

Linear. At most result_of::size<Sequence>::value comparisons.

- + Header
#include <boost/fusion/algorithm/query/count.hpp>
 #include <boost/fusion/include/count.hpp>
 
- + Example
const vector<double,int,int> vec(1.0,2,3);
@@ -150,7 +150,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ a given unary function object evaluates to true.

- + Synopsis
template<
@@ -46,7 +46,7 @@
     Sequence const& seq, F f);
 
-

Table 1.49. Parameters

+

Table 1.49. Parameters

@@ -112,7 +112,7 @@

- + Expression Semantics
@@ -126,21 +126,21 @@ in seq where f evaluates to true.

- + Complexity

Linear. At most result_of::size<Sequence>::value comparisons.

- + Header
#include <boost/fusion/algorithm/query/count_if.hpp>
 #include <boost/fusion/include/count_if.hpp>
 
- + Example
const vector<int,int,int> vec(1,2,3);
@@ -149,7 +149,7 @@
 
 
-
- + Description

Finds the first element of a given type within a sequence.

- + Synopsis
template<
@@ -50,7 +50,7 @@
 unspecified find(Sequence& seq);
 
-

Table 1.46. Parameters

+

Table 1.46. Parameters

@@ -114,7 +114,7 @@

- + Expression Semantics
@@ -131,21 +131,21 @@ to find_if<boost::is_same<_, T> >(seq)

- + Complexity

Linear. At most result_of::size<Sequence>::value comparisons.

- + Header
#include <boost/fusion/algorithm/query/find.hpp>
 #include <boost/fusion/include/find.hpp>
 
- + Example
const vector<char,int> vec('a','0');
@@ -155,7 +155,7 @@
 
 
-
- + Example
const vector<double,int> vec(1.0,2);
@@ -160,7 +160,7 @@
 
 
-
- + Description

@@ -38,7 +38,7 @@ element of seq.

- + Synopsis
template<
@@ -49,7 +49,7 @@
     Sequence const& seq, F f);
 
-

Table 1.45. Parameters

+

Table 1.45. Parameters

@@ -115,7 +115,7 @@

- + Expression Semantics
@@ -131,21 +131,21 @@ element e in seq. Result equivalent to !any(seq, f).

- + Complexity

Linear. At most result_of::size<Sequence>::value comparisons.

- + Header
#include <boost/fusion/algorithm/query/none.hpp>
 #include <boost/fusion/include/none.hpp>
 
- + Example
struct odd
@@ -163,7 +163,7 @@
 
 
-
-
- + Description

A metafunction returning the result type of all.

- + Synopsis
template<
@@ -47,7 +47,7 @@
 };
 
-

Table 1.51. Parameters

+

Table 1.51. Parameters

@@ -112,7 +112,7 @@

- + Expression Semantics
@@ -130,14 +130,14 @@ The return type is always bool.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/query/all.hpp>
@@ -146,7 +146,7 @@
 
 
-
- + Description

A metafunction returning the result type of any.

- + Synopsis
template<
@@ -47,7 +47,7 @@
 };
 
-

Table 1.50. Parameters

+

Table 1.50. Parameters

@@ -112,7 +112,7 @@

- + Expression Semantics
@@ -130,14 +130,14 @@ The return type is always bool.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/query/any.hpp>
@@ -146,7 +146,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ given the sequence and search types.

- + Synopsis
template<
@@ -48,7 +48,7 @@
 };
 
-

Table 1.55. Parameters

+

Table 1.55. Parameters

@@ -112,7 +112,7 @@

- + Expression Semantics
@@ -127,14 +127,14 @@ int.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/query/count.hpp>
@@ -143,7 +143,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ given the sequence and predicate types.

- + Synopsis
template<
@@ -48,7 +48,7 @@
 };
 
-

Table 1.56. Parameters

+

Table 1.56. Parameters

@@ -112,7 +112,7 @@

- + Expression Semantics
@@ -127,14 +127,14 @@ always int.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/query/count_if.hpp>
@@ -143,7 +143,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ search types.

- + Synopsis
template<
@@ -48,7 +48,7 @@
 };
 
-

Table 1.53. Parameters

+

Table 1.53. Parameters

@@ -112,7 +112,7 @@

- + Expression Semantics
@@ -129,14 +129,14 @@ if there is no such element.

- + Complexity

Linear, at most result_of::size<Sequence>::value comparisons.

- + Header
#include <boost/fusion/algorithm/query/find.hpp>
@@ -145,7 +145,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ predicate types.

- + Synopsis
template<
@@ -48,7 +48,7 @@
 };
 
-

Table 1.54. Parameters

+

Table 1.54. Parameters

@@ -113,7 +113,7 @@

- + Expression Semantics
@@ -130,14 +130,14 @@ to true. Returns result_of::end<Sequence>::type if there is no such element.

- + Complexity

Linear. At most result_of::size<Sequence>::value comparisons.

- + Header
#include <boost/fusion/algorithm/query/find_if.hpp>
@@ -146,7 +146,7 @@
 
 
-
- + Description

A metafunction returning the result type of none.

- + Synopsis
template<
@@ -47,7 +47,7 @@
 };
 
-

Table 1.52. Parameters

+

Table 1.52. Parameters

@@ -112,7 +112,7 @@

- + Expression Semantics
@@ -130,14 +130,14 @@ The return type is always bool.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/query/none.hpp>
@@ -146,7 +146,7 @@
 
 
-
- + Header
#include <boost/fusion/algorithm/transformation.hpp>
@@ -56,7 +56,7 @@
 
 
-
-
- + Description

clear returns an empty sequence.

- + Synposis
template<
@@ -43,7 +43,7 @@
 typename result_of::clear<Sequence const>::type clear(Sequence const& seq);
 
-

Table 1.66. Parameters

+

Table 1.66. Parameters

@@ -88,7 +88,7 @@

- + Expression Semantics
@@ -103,21 +103,21 @@ with no elements.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/clear.hpp>
 #include <boost/fusion/include/clear.hpp>
 
- + Example
assert(clear(make_vector(1,2,3)) == make_vector());
@@ -125,7 +125,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ those at a specified iterator, or between two iterators.

- + Synposis
template<
@@ -54,7 +54,7 @@
     Sequence const& seq, First const& it1, Last const& it2);
 
-

Table 1.67. Parameters

+

Table 1.67. Parameters

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

- + Expression Semantics
@@ -187,21 +187,21 @@ in their original order, except those in the range [first,last).

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/erase.hpp>
 #include <boost/fusion/include/erase.hpp>
 
- + Example
const vector<int, double, char> vec(1, 2.0, 'c');
@@ -211,7 +211,7 @@
 
 
-
- + Description

@@ -39,7 +39,7 @@ key.

- + Synposis
template<
@@ -49,7 +49,7 @@
 typename result_of::erase_key<Sequence const, Key>::type erase_key(Sequence const& seq);
 
-

Table 1.68. Parameters

+

Table 1.68. Parameters

@@ -114,7 +114,7 @@

- + Expression Semantics
@@ -131,21 +131,21 @@ except those with key Key.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/erase_key.hpp>
 #include <boost/fusion/include/erase_key.hpp>
 
- + Example
assert(erase_key<int>(make_map<int, long>('a', 'b')) == make_map<long>('b'));
@@ -153,7 +153,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ the elements of a specified type.

- + Synopsis
template<
@@ -45,7 +45,7 @@
 typename result_of::filter<Sequence const, T>::type filter(Sequence const& seq);
 
-

Table 1.57. Parameters

+

Table 1.57. Parameters

@@ -109,7 +109,7 @@

- + Expression Semantics
@@ -137,21 +137,21 @@ to filter_if<boost::same_type<_, T> >(seq).

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/filter.hpp>
 #include <boost/fusion/include/filter.hpp>
 
- + Example
const vector<int,int,long,long> vec(1,2,3,4);
@@ -160,7 +160,7 @@
 
 
-
- + Description

@@ -36,7 +36,7 @@ Lambda Expression evaluates to boost::mpl::true_.

- + Synopsis
template<
@@ -46,7 +46,7 @@
 typename result_of::filter_if<Sequence const, Pred>::type filter_if(Sequence const& seq);
 
-

Table 1.58. Parameters

+

Table 1.58. Parameters

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

- + Expression Semantics
@@ -140,21 +140,21 @@ is the same as in the original sequence.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/filter_if.hpp>
 #include <boost/fusion/include/filter_if.hpp>
 
- + Example
const vector<int,int,double,double> vec(1,2,3.0,4.0);
@@ -163,7 +163,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ element inserted the position described by a given iterator.

- + Synposis
template<
@@ -47,7 +47,7 @@
     Sequence const& seq, Pos const& pos, T const& t);
 
-

Table 1.69. Parameters

+

Table 1.69. Parameters

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

- + Expression Semantics
@@ -158,21 +158,21 @@ pos.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/insert.hpp>
 #include <boost/fusion/include/insert.hpp>
 
- + Example
const vector<int,int> vec(1,2);
@@ -181,7 +181,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ iterator.

- + Synposis
template<
@@ -47,7 +47,7 @@
     Sequence const& seq, Pos const& pos, Range const& range);
 
-

Table 1.70. Parameters

+

Table 1.70. Parameters

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

- + Expression Semantics
@@ -159,21 +159,21 @@ All elements retaining their ordering from the orignal sequences.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/insert_range.hpp>
 #include <boost/fusion/include/insert_range.hpp>
 
- + Example
const vector<int,int> vec(1,2);
@@ -182,7 +182,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ first followed by the elements of the second.

- + Synopsis
template<
@@ -44,7 +44,7 @@
 typename result_of::join<LhSequence, RhSequence>::type join(LhSequence const& lhs, RhSequence const& rhs);
 
-

Table 1.71. Parameters

+

Table 1.71. Parameters

@@ -109,7 +109,7 @@

- + Expression Semantics
@@ -138,21 +138,21 @@ The order of the elements is preserved.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/join.hpp>
 #include <boost/fusion/include/join.hpp>
 
- + Example
vector<int,char> v1(1, 'a');
@@ -162,7 +162,7 @@
 
 
-
- + Description

Returns a new sequence, with the last element of the original removed.

- + Synopsis
template<
@@ -43,7 +43,7 @@
 typename result_of::pop_back<Sequence const>::type pop_back(Sequence const& seq);
 
-

Table 1.73. Parameters

+

Table 1.73. Parameters

@@ -88,7 +88,7 @@

- + Expression Semantics
@@ -116,21 +116,21 @@ same order as they were in seq.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/pop_back.hpp>
 #include <boost/fusion/include/pop_back.hpp>
 
- + Example
assert(___pop_back__(make_vector(1,2,3)) == make_vector(1,2));
@@ -138,7 +138,7 @@
 
 
-
- + Description

Returns a new sequence, with the first element of the original removed.

- + Synopsis
template<
@@ -43,7 +43,7 @@
 typename result_of::pop_front<Sequence const>::type pop_front(Sequence const& seq);
 
-

Table 1.74. Parameters

+

Table 1.74. Parameters

@@ -88,7 +88,7 @@

- + Expression Semantics
@@ -116,21 +116,21 @@ same order as they were in seq.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/pop_front.hpp>
 #include <boost/fusion/include/pop_front.hpp>
 
- + Example
assert(pop_front(make_vector(1,2,3)) == make_vector(2,3));
@@ -138,7 +138,7 @@
 
 
-
- + Description

Returns a new sequence with an element added at the end.

- + Synopsis
template<
@@ -45,7 +45,7 @@
     Sequence const& seq, T const& t);
 
-

Table 1.75. Parameters

+

Table 1.75. Parameters

@@ -109,7 +109,7 @@

- + Expression Semantics
@@ -137,21 +137,21 @@ to the end. The elements are in the same order as they were in seq.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/push_back.hpp>
 #include <boost/fusion/include/push_back.hpp>
 
- + Example
assert(push_back(make_vector(1,2,3),4) == make_vector(1,2,3,4));
@@ -159,7 +159,7 @@
 
 
-
- + Description

Returns a new sequence with an element added at the beginning.

- + Synopsis
template<
@@ -45,7 +45,7 @@
     Sequence const& seq, T const& t);
 
-

Table 1.76. Parameters

+

Table 1.76. Parameters

@@ -109,7 +109,7 @@

- + Expression Semantics
@@ -138,21 +138,21 @@ seq.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/push_front.hpp>
 #include <boost/fusion/include/push_front.hpp>
 
- + Example
assert(push_front(make_vector(1,2,3),0) == make_vector(0,1,2,3));
@@ -160,7 +160,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ except those of a given type.

- + Synopsis
template<
@@ -45,7 +45,7 @@
 typename result_of::remove<Sequence const, T>::type replace(Sequence const& seq);
 
-

Table 1.63. Parameters

+

Table 1.63. Parameters

@@ -109,7 +109,7 @@

- + Expression Semantics
@@ -137,21 +137,21 @@ Equivalent to remove_if<boost::is_same<_,T> >(seq).

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/remove.hpp>
 #include <boost/fusion/include/remove.hpp>
 
- + Example
const vector<int,double> vec(1,2.0);
@@ -160,7 +160,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ those where a given unary function object evaluates to true.

- + Synopsis
template<
@@ -45,7 +45,7 @@
 typename result_of::remove_if<Sequence const, Pred>::type remove_if(Sequence const& seq);
 
-

Table 1.64. Parameters

+

Table 1.64. Parameters

@@ -110,7 +110,7 @@

- + Expression Semantics
@@ -139,21 +139,21 @@ >(seq).

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/remove_if.hpp>
 #include <boost/fusion/include/remove_if.hpp>
 
- + Example
const vector<int,double> vec(1,2.0);
@@ -162,7 +162,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ a new value.

- + Synopsis
template<
@@ -46,7 +46,7 @@
     Sequence const& seq, T const& old_value, T const& new_value);
 
-

Table 1.61. Parameters

+

Table 1.61. Parameters

@@ -131,7 +131,7 @@

- + Expression Semantics
@@ -148,21 +148,21 @@ to elements with the same type and equal to old_value.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/replace.hpp>
 #include <boost/fusion/include/replace.hpp>
 
- + Example
assert(replace(make_vector(1,2), 2, 3) == make_vector(1,3));
@@ -170,7 +170,7 @@
 
 
-
- + Description

@@ -36,7 +36,7 @@ replaced with a new value.

- + Synopsis
template<
@@ -47,7 +47,7 @@
     Sequence const& seq, F f, T const& new_value);
 
-

Table 1.62. Parameters

+

Table 1.62. Parameters

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

- + Expression Semantics
@@ -148,21 +148,21 @@ evaluates to true.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/replace_if.hpp>
 #include <boost/fusion/include/replace_if.hpp>
 
- + Example
struct odd
@@ -179,7 +179,7 @@
 
 
-
- + Description

Returns a new sequence with the elements of the original in reverse order.

- + Synposis
template<
@@ -43,7 +43,7 @@
 typename result_of::reverse<Sequence const>::type reverse(Sequence const& seq);
 
-

Table 1.65. Parameters

+

Table 1.65. Parameters

@@ -88,7 +88,7 @@

- + Expression Semantics
@@ -100,7 +100,12 @@
-
- + Description

@@ -38,7 +38,7 @@ of seq.

- + Unary version synopsis
@@ -50,7 +50,7 @@ Sequence const& seq, F f);
-

Table 1.59. Parameters

+

Table 1.59. Parameters

@@ -117,7 +117,7 @@

- + Expression Semantics
@@ -133,7 +133,7 @@ within seq.

- + Binary version synopsis
@@ -146,7 +146,7 @@ Sequence1 const& seq1, Sequence2 const& seq2, F f);
-

Table 1.60. Parameters

+

Table 1.60. Parameters

@@ -241,21 +241,21 @@ within seq1 and seq2 respectively.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/transform.hpp>
 #include <boost/fusion/include/transform.hpp>
 
- + Example
struct triple
@@ -273,7 +273,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ of the members of the component sequences.

- + Synopsis
template<
@@ -48,7 +48,7 @@
 zip(Sequence1 const& seq1, Sequence2 const& seq2, ... SequenceN const& seqN);
 
-

Table 1.72. Parameters

+

Table 1.72. Parameters

@@ -93,7 +93,7 @@

- + Expression Semantics
@@ -114,21 +114,21 @@ 'c'))

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/zip.hpp>
 #include <boost/fusion/include/zip.hpp>
 
- + Example
vector<int,char> v1(1, 'a');
@@ -138,7 +138,7 @@
 
 
-
-
- + Description

@@ -35,7 +35,7 @@ type.

- + Synopsis
template<
@@ -47,7 +47,7 @@
 };
 
-

Table 1.86. Parameters

+

Table 1.86. Parameters

@@ -91,7 +91,7 @@

- + Expression Semantics
@@ -105,14 +105,14 @@ Semantics: Returns an empty sequence.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/clear.hpp>
@@ -121,7 +121,7 @@
 
 
-
-
- + Description

@@ -35,7 +35,7 @@ and key types.

- + Synopsis
template<
@@ -48,7 +48,7 @@
 };
 
-

Table 1.88. Parameters

+

Table 1.88. Parameters

@@ -113,7 +113,7 @@

- + Expression Semantics
@@ -130,14 +130,14 @@ except those with key Key.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/erase_key.hpp>
@@ -146,7 +146,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ and type to retain.

- + Synopsis
template<
@@ -48,7 +48,7 @@
 };
 
-

Table 1.77. Parameter

+

Table 1.77. Parameter

@@ -112,7 +112,7 @@

- + Expression Semantics
@@ -141,14 +141,14 @@ boost::is_same<mpl::_, T> >::type.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/filter.hpp>
@@ -157,7 +157,7 @@
 
 
-
- + Description

@@ -36,7 +36,7 @@ Lambda Expression predicate type.

- + Synopsis
template<
@@ -49,7 +49,7 @@
 };
 
-

Table 1.78. Parameter

+

Table 1.78. Parameter

@@ -114,7 +114,7 @@

- + Expression Semantics
@@ -142,14 +142,14 @@ to boost::mpl::true_.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/filter_if.hpp>
@@ -158,7 +158,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ position iterator and insertion types.

- + Synopsis
template<
@@ -49,7 +49,7 @@
 };
 
-

Table 1.89. Parameters

+

Table 1.89. Parameters

@@ -131,7 +131,7 @@

- + Expression Semantics
@@ -159,14 +159,14 @@ in Sequence.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/insert.hpp>
@@ -175,7 +175,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ sequence, position iterator and insertion range types.

- + Synopsis
template<
@@ -49,7 +49,7 @@
 };
 
-

Table 1.90. Parameters

+

Table 1.90. Parameters

@@ -132,7 +132,7 @@

- + Expression Semantics
@@ -160,14 +160,14 @@ into Sequence.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/insert_range.hpp>
@@ -176,7 +176,7 @@
 
 
-
- + Description

Returns the result of joining 2 sequences, given the sequence types.

- + Synopsis
template<
@@ -47,7 +47,7 @@
 };
 
- + Expression Semantics
@@ -76,14 +76,14 @@ The order of the elements in the 2 sequences is preserved.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/join.hpp>
@@ -92,7 +92,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ type.

- + Synopsis
template<
@@ -47,7 +47,7 @@
 };
 
-

Table 1.91. Parameters

+

Table 1.91. Parameters

@@ -92,7 +92,7 @@

- + Expression Semantics
@@ -119,14 +119,14 @@ except the last element.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/pop_back.hpp>
@@ -135,7 +135,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ type.

- + Synopsis
template<
@@ -47,7 +47,7 @@
 };
 
-

Table 1.92. Parameters

+

Table 1.92. Parameters

@@ -92,7 +92,7 @@

- + Expression Semantics
@@ -119,14 +119,14 @@ except the first element.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/pop_front.hpp>
@@ -135,7 +135,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ the input sequence and element to push.

- + Synopsis
template<
@@ -48,7 +48,7 @@
 };
 
-

Table 1.93. Parameters

+

Table 1.93. Parameters

@@ -112,7 +112,7 @@

- + Expression Semantics
@@ -140,14 +140,14 @@ added to the end.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/push_back.hpp>
@@ -156,7 +156,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ of the input sequence and element to push.

- + Synopsis
template<
@@ -48,7 +48,7 @@
 };
 
-

Table 1.94. Parameters

+

Table 1.94. Parameters

@@ -112,7 +112,7 @@

- + Expression Semantics
@@ -140,14 +140,14 @@ added to the beginning.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/push_front.hpp>
@@ -156,7 +156,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ removal types.

- + Synopsis
template<
@@ -48,7 +48,7 @@
 };
 
-

Table 1.83. Parameters

+

Table 1.83. Parameters

@@ -112,7 +112,7 @@

- + Expression Semantics
@@ -141,14 +141,14 @@ boost::is_same<mpl::_, T> >::type.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/remove.hpp>
@@ -157,7 +157,7 @@
 
 
-
- + Description

@@ -36,7 +36,7 @@ Lambda Expression predicate types.

- + Synopsis
template<
@@ -49,7 +49,7 @@
 };
 
-

Table 1.84. Parameters

+

Table 1.84. Parameters

@@ -114,7 +114,7 @@

- + Expression Semantics
@@ -142,14 +142,14 @@ to boost::mpl::false_.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/remove_if.hpp>
@@ -158,7 +158,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ the input sequence and element to replace.

- + Synopsis
template<
@@ -48,7 +48,7 @@
 };
 
-

Table 1.81. Parameters

+

Table 1.81. Parameters

@@ -112,7 +112,7 @@

- + Expression Semantics
@@ -127,14 +127,14 @@ replace.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/replace.hpp>
@@ -143,7 +143,7 @@
 
 
-
- + Description

@@ -36,7 +36,7 @@ Function Object predicate and replacement object.

- + Synopsis
template<
@@ -49,7 +49,7 @@
 };
 
-

Table 1.82. Parameters

+

Table 1.82. Parameters

@@ -131,7 +131,7 @@

- + Expression Semantics
@@ -146,14 +146,14 @@ replace_if.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/replace_if.hpp>
@@ -162,7 +162,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ type.

- + Synopsis
template<
@@ -47,7 +47,7 @@
 };
 
-

Table 1.85. Parameters

+

Table 1.85. Parameters

@@ -92,7 +92,7 @@

- + Expression Semantics
@@ -104,7 +104,12 @@
-
- + Description

@@ -38,7 +38,7 @@ of seq.

- + Unary version synopsis
@@ -50,7 +50,7 @@ Sequence const& seq, F f);
-

Table 1.79. Parameters

+

Table 1.79. Parameters

@@ -117,7 +117,7 @@

- + Expression Semantics
@@ -144,7 +144,7 @@ within seq.

- + Binary version synopsis
@@ -157,7 +157,7 @@ Sequence1 const& seq1, Sequence2 const& seq2, F f);
-

Table 1.80. Parameters

+

Table 1.80. Parameters

@@ -252,21 +252,21 @@ within seq1 and seq2 respectively.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/transform.hpp>
 #include <boost/fusion/include/transform.hpp>
 
- + Example
struct triple
@@ -284,7 +284,7 @@
 
 
-
- + Description

@@ -35,7 +35,7 @@ of the members of the component sequences.

- + Synopsis
template<
@@ -50,7 +50,7 @@
 };
 
- + Expression Semantics
@@ -72,14 +72,14 @@ 'c'))

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/zip.hpp>
@@ -88,7 +88,7 @@
 
 
-
-
-
- + Description

@@ -42,21 +42,21 @@ Inlined Functions).

- + Header
#include <boost/fusion/container/list/cons.hpp>
 #include <boost/fusion/include/cons.hpp>
 
- + Synopsis
template <typename Car, typename Cdr = nil>
 struct cons;
 
- + Template parameters
@@ -119,7 +119,7 @@
- + Model of
@@ -159,7 +159,7 @@
- + Expression Semantics

@@ -292,7 +292,7 @@

- + Example
cons<int, cons<float> > l(12, cons<float>(5.5f));
@@ -302,7 +302,7 @@
 
 
-
-
-
- + Description

Convert a fusion sequence to a list.

- + Synopsis
template <typename Sequence>
@@ -46,7 +46,7 @@
 as_list(Sequence const& seq);
 
- + Parameters
@@ -91,7 +91,7 @@
- + Expression Semantics
@@ -105,14 +105,14 @@ seq, to a list.

- + Header
#include <boost/fusion/container/list/convert.hpp>
 #include <boost/fusion/include/as_list.hpp>
 
- + Example
as_list(make_vector('x', 123, "hello"))
@@ -120,7 +120,7 @@
 
 
-
- + Description

Convert a fusion sequence to a map.

- + Synopsis
template <typename Sequence>
@@ -46,7 +46,7 @@
 as_map(Sequence const& seq);
 
- + Parameters
@@ -91,7 +91,7 @@
- + Expression Semantics
@@ -110,14 +110,14 @@ There may be no duplicate fusion::pair key types.

- + Header
#include <boost/fusion/container/map/convert.hpp>
 #include <boost/fusion/include/as_map.hpp>
 
- + Example
as_map(make_vector(
@@ -127,7 +127,7 @@
 
 
-
- + Description

Convert a fusion sequence to a set.

- + Synopsis
template <typename Sequence>
@@ -46,7 +46,7 @@
 as_set(Sequence const& seq);
 
- + Parameters
@@ -91,7 +91,7 @@
- + Expression Semantics
@@ -109,14 +109,14 @@ key types.

- + Header
#include <boost/fusion/container/set/convert.hpp>
 #include <boost/fusion/include/as_set.hpp>
 
- + Example
as_set(make_vector('x', 123, "hello"))
@@ -124,7 +124,7 @@
 
 
-
- + Description

Convert a fusion sequence to a vector.

- + Synopsis
template <typename Sequence>
@@ -46,7 +46,7 @@
 as_vector(Sequence const& seq);
 
- + Parameters
@@ -91,7 +91,7 @@
- + Expression Semantics
@@ -105,14 +105,14 @@ seq, to a vector.

- + Header
#include <boost/fusion/container/vector/convert.hpp>
 #include <boost/fusion/include/as_vector.hpp>
 
- + Example
as_vector(make_list('x', 123, "hello"))
@@ -120,7 +120,7 @@
 
 
-
-
- + Description

Returns the result type of as_list.

- + Synopsis
template <typename Sequence>
 struct as_list;
 
- + Parameters
@@ -86,7 +86,7 @@
- + Expression Semantics
@@ -101,14 +101,14 @@ Sequence, to a list.

- + Header
#include <boost/fusion/container/list/convert.hpp>
 #include <boost/fusion/include/as_list.hpp>
 
- + Example
result_of::as_list<vector<char, int> >::type
@@ -116,7 +116,7 @@
 
 
-
- + Description

Returns the result type of as_map.

- + Synopsis
template <typename Sequence>
 struct as_map;
 
- + Parameters
@@ -86,7 +86,7 @@
- + Expression Semantics
@@ -106,14 +106,14 @@ There may be no duplicate fusion::pair key types.

- + Header
#include <boost/fusion/container/map/convert.hpp>
 #include <boost/fusion/include/as_map.hpp>
 
- + Example
result_of::as_map<vector<
@@ -123,7 +123,7 @@
 
 
-
- + Description

Returns the result type of as_set.

- + Synopsis
template <typename Sequence>
 struct as_set;
 
- + Parameters
@@ -86,7 +86,7 @@
- + Expression Semantics
@@ -105,14 +105,14 @@ key types.

- + Header
#include <boost/fusion/container/set/convert.hpp>
 #include <boost/fusion/include/as_set.hpp>
 
- + Example
result_of::as_set<vector<char, int> >::type
@@ -120,7 +120,7 @@
 
 
-
- + Description

Returns the result type of as_vector.

- + Synopsis
template <typename Sequence>
 struct as_vector;
 
- + Parameters
@@ -86,7 +86,7 @@
- + Expression Semantics
@@ -101,14 +101,14 @@ Sequence, to a vector.

- + Header
#include <boost/fusion/container/vector/convert.hpp>
 #include <boost/fusion/include/as_vector.hpp>
 
- + Example
result_of::as_vector<list<char, int> >::type
@@ -116,7 +116,7 @@
 
 
-
-
-
- + Description

Constructs a tie using a list sequence.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -52,7 +52,7 @@
 
#define FUSION_MAX_LIST_SIZE 20
 
- + Parameters
@@ -99,7 +99,7 @@
- + Expression Semantics
@@ -113,14 +113,14 @@ Semantics: Create a list of references from x0, x1,... xN.

- + Header
#include <boost/fusion/container/generation/list_tie.hpp>
 #include <boost/fusion/include/list_tie.hpp>
 
- + Example
int i = 123;
@@ -130,7 +130,7 @@
 
 
-
- + Description

@@ -36,7 +36,7 @@ and optional cdr (tail).

- + Synopsis
template <typename Car>
@@ -48,7 +48,7 @@
 make_cons(Car const& car, Cdr const& cdr);
 
- + Parameters
@@ -112,7 +112,7 @@
- + Expression Semantics
@@ -127,20 +127,20 @@ (tail).

- + Header
#include <boost/fusion/container/generation/make_cons.hpp>
 #include <boost/fusion/include/make_cons.hpp>
 
- + Example
make_cons('x', make_cons(123))
 
- + See also
@@ -150,7 +150,7 @@ -
- + Description

@@ -35,7 +35,7 @@ from one or more values.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -53,7 +53,7 @@
 
#define FUSION_MAX_LIST_SIZE 20
 
- + Parameters
@@ -100,7 +100,7 @@
- + Expression Semantics
@@ -113,20 +113,20 @@ Semantics: Create a list from x0, x1,... xN.

- + Header
#include <boost/fusion/container/generation/make_list.hpp>
 #include <boost/fusion/include/make_list.hpp>
 
- + Example
make_list(123, "hello", 12.5)
 
- + See also
@@ -136,7 +136,7 @@ -
- + Description

@@ -35,7 +35,7 @@ from one or more key/data pairs.

- + Synopsis
template <
@@ -55,7 +55,7 @@
 
#define FUSION_MAX_MAP_SIZE 20
 
- + Parameters
@@ -123,7 +123,7 @@
- + Expression Semantics
@@ -143,20 +143,20 @@ key types.

- + Header
#include <boost/fusion/container/generation/make_map.hpp>
 #include <boost/fusion/include/make_map.hpp>
 
- + Example
make_map<int, double>('X', "Men")
 
- + See also
@@ -167,7 +167,7 @@ -
- + Description

@@ -35,7 +35,7 @@ from one or more values.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -53,7 +53,7 @@
 
#define FUSION_MAX_SET_SIZE 20
 
- + Parameters
@@ -100,7 +100,7 @@
- + Expression Semantics
@@ -117,20 +117,20 @@ key types.

- + Header
#include <boost/fusion/container/generation/make_set.hpp>
 #include <boost/fusion/include/make_set.hpp>
 
- + Example
make_set(123, "hello", 12.5)
 
- + See also
@@ -140,7 +140,7 @@ -
- + Description

@@ -35,7 +35,7 @@ from one or more values.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -53,7 +53,7 @@
 
#define FUSION_MAX_VECTOR_SIZE 20
 
- + Parameters
@@ -100,7 +100,7 @@
- + Expression Semantics
@@ -113,20 +113,20 @@ Semantics: Create a vector from x0, x1,... xN.

- + Header
#include <boost/fusion/container/generation/make_vector.hpp>
 #include <boost/fusion/include/make_vector.hpp>
 
- + Example
make_vector(123, "hello", 12.5)
 
- + See also
@@ -136,7 +136,7 @@ -
- + Description

Constructs a tie using a map sequence.

- + Synopsis
template <typename K0, typename K1,... typename KN, typename D0, typename D1,... typename DN>
@@ -52,7 +52,7 @@
 
#define FUSION_MAX_MAP_SIZE 20
 
- + Parameters
@@ -121,7 +121,7 @@
- + Expression Semantics
@@ -136,14 +136,14 @@ Semantics: Create a map of references from x0, x1,... xN with keys K0, K1,... KN

- + Header
#include <boost/fusion/container/generation/map_tie.hpp>
 #include <boost/fusion/include/map_tie.hpp>
 
- + Example
struct int_key;
@@ -156,7 +156,7 @@
 
 
-