diff --git a/doc/extension.qbk b/doc/extension.qbk index b840259f..b0159072 100644 --- a/doc/extension.qbk +++ b/doc/extension.qbk @@ -145,15 +145,15 @@ our iterator's tag type. The implementation itself is pretty simple, it just uses 2 partial specializations to provide the type of the 2 different members of `example_struct`, based on the index of the iterator. -To understand how `value_of_impl` is used by the library we will look at the implementation of __value_of__: +To understand how `value_of_impl` is used by the library we will look at the implementation of __result_of_value_of__: template - struct __value_of__ + struct value_of : extension::value_of_impl::type>:: template apply {}; -So __value_of__ uses __tag_dispatching__ to select an __mpl_metafunction_class__ +So __result_of_value_of__ uses __tag_dispatching__ to select an __mpl_metafunction_class__ to provide its functionality. You will notice this pattern throughout the implementation of Fusion. @@ -216,7 +216,7 @@ To see how `deref_impl` is used, lets have a look at the implementation of __der } So again __result_of_deref__ uses __tag_dispatching__ in exactly the -same way as the __value_of__ implementation. The runtime functionality used +same way as the __result_of_value_of__ implementation. The runtime functionality used by __deref__ is provided by the `call` static function of the selected __mpl_metafunction_class__. @@ -227,14 +227,14 @@ bit of metaprogramming to return `const` references if the underlying sequence is const. [note Although there is a fair amount of left to do to produce a fully fledged -Fusion sequence, __value_of__ and __deref__ illustrate all the signficant concepts +Fusion sequence, __result_of_value_of__ and __deref__ illustrate all the signficant concepts required. The remainder of the process is very repetitive, simply requiring implementation of a suitable `xxxx_impl` for each feature `xxxx`. ] [heading Implementing the remaining iterator functionality] -Ok, now we have seen the way __value_of__ and __deref__ work, everything else will work +Ok, now we have seen the way __result_of_value_of__ and __deref__ work, everything else will work in pretty much the same way. Lets start with forward iteration, by providing a `next_impl`: @@ -317,14 +317,15 @@ is provided in the example code. For our __random_access_sequence__ we will also need to implement `size_impl`, `value_at_impl` and `at_impl`. -[heading Enabling our type as an associative container] +[heading Enabling our type as an associative sequence] -In order for `example_struct` to serve as an associative container, -we need to enable 3 lookup features, __at_key__, __value_at_key__ and __has_key__. -We also need to provide an implementation of the `is_associative` trait -so that our sequence can be correctly identified as an associative container. +In order for `example_struct` to serve as an associative forward sequence, +we need to adapt the traversal category of our sequence and our iterator +accordingly and enable 3 intrinsic sequence lookup features, __at_key__, +__value_at_key__ and __has_key__. We also need to enable 3 iterator lookup +features, __result_of_key_of__, __result_of_value_of_data__ and __deref_data__. -To implement `at_key_impl` we need to associate the `fields::age` and `fields::age` +To implement `at_key_impl` we need to associate the `fields::name` and `fields::age` types described in the __quick_start__ guide with the appropriate members of `example_struct`. Our implementation is as follows: @@ -369,15 +370,14 @@ Its all very similar to the implementations we've seen previously, such as `deref_impl` and `value_of_impl`. Instead of identifying the members by index or position, we are now selecting them using the types `fields::name` and `fields::age`. The implementations of -`value_at_key_impl` and `has_key_impl` are equally straightforward, -and are provided in the example code, along with an implementation -of `is_associative_impl`. +the other functions are equally straightforward, and are provided in +the example code. [heading Summary] We've now worked through the entire process for adding a new random access sequence and we've also enabled our type to serve as an associative -container. The implementation was slightly longwinded, but followed +sequence. The implementation was slightly longwinded, but followed a simple repeating pattern. The support for `std::pair`, __mpl__ sequences, and `boost::array` all @@ -467,6 +467,10 @@ The user must the implement the key expressions required by their iterator type. [[`iterator::template distance::call(it1, it2)`][The distance between iterator `it1` and `it2`][None]] [[`iterator::template equal_to::type`][The distance between iterators of type `It1` and `It2`][`boost::same_type::type`]] [[`iterator::template equal_to::call(it1, it2)`][The distance between iterators `it1` and `it2`][`boost::same_type::type()`]] +[[`iterator::template key_of::type`][The key type associated with the element from `It`][None]] +[[`iterator::template value_of_data::type`][The type of the data property associated with the element from `It`][None]] +[[`iterator::template deref_data::type`][The type that will be returned by dereferencing the data property of the element from `It`][None]] +[[`iterator::template deref_data::call(it)`][Deferences the data property associated with the element referenced by `it`][None]] ] [heading Header] diff --git a/doc/html/fusion/adapted.html b/doc/html/fusion/adapted.html index 889d4995..a2e2c9cc 100644 --- a/doc/html/fusion/adapted.html +++ b/doc/html/fusion/adapted.html @@ -47,7 +47,7 @@ various data structures, non-intrusively, as full fledged Fusion sequences.

- + Header

#include <boost/fusion/adapted.hpp>
diff --git a/doc/html/fusion/adapted/adapt_assoc.html b/doc/html/fusion/adapted/adapt_assoc.html
index af836516..d5559eaf 100644
--- a/doc/html/fusion/adapted/adapt_assoc.html
+++ b/doc/html/fusion/adapted/adapt_assoc.html
@@ -27,7 +27,7 @@
  BOOST_FUSION_ADAPT_ASSOC_STRUCT
 
 
- + 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
diff --git a/doc/html/fusion/adapted/adapt_struct.html b/doc/html/fusion/adapted/adapt_struct.html
index 9c7ab3cd..84e79178 100644
--- a/doc/html/fusion/adapted/adapt_struct.html
+++ b/doc/html/fusion/adapted/adapt_struct.html
@@ -27,7 +27,7 @@
  BOOST_FUSION_ADAPT_STRUCT
 
 
- + 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
diff --git a/doc/html/fusion/adapted/boost__array.html b/doc/html/fusion/adapted/boost__array.html
index 39e54817..7b7ac2bd 100644
--- a/doc/html/fusion/adapted/boost__array.html
+++ b/doc/html/fusion/adapted/boost__array.html
@@ -33,20 +33,20 @@
         Access Sequence.
       

- + Header
#include <boost/fusion/adapted/array.hpp>
 #include <boost/fusion/include/array.hpp>
 
- + Model of
- + Example
boost::array<int,3> arr = {{1,2,3}};
@@ -58,7 +58,7 @@
 std::cout << at_c<2>(arr) << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/boost__tuple.html b/doc/html/fusion/adapted/boost__tuple.html index 4e002974..85fb1537 100644 --- a/doc/html/fusion/adapted/boost__tuple.html +++ b/doc/html/fusion/adapted/boost__tuple.html @@ -33,19 +33,19 @@ Sequence.

- + Header
#include <boost/fusion/adapted/boost_tuple.hpp>
 #include <boost/fusion/include/boost_tuple.hpp>
 
- + Model of
- + Example
boost::tuple<int,std::string> example_tuple(101, "hello");
@@ -53,7 +53,7 @@
 std::cout << *boost::fusion::next(boost::fusion::begin(example_tuple)) << '\n';
 
- + See also

diff --git a/doc/html/fusion/adapted/mpl_sequence.html b/doc/html/fusion/adapted/mpl_sequence.html index 385504dc..4f933a12 100644 --- a/doc/html/fusion/adapted/mpl_sequence.html +++ b/doc/html/fusion/adapted/mpl_sequence.html @@ -32,14 +32,14 @@ sequences fully conforming fusion sequences.

- + Header
#include <boost/fusion/adapted/mpl.hpp>
 #include <boost/fusion/include/mpl.hpp>
 
- + Model of
    @@ -60,7 +60,7 @@
- + Example
mpl::vector_c<int, 123, 456> vec_c;
@@ -73,7 +73,7 @@
 std::cout << at_c<1>(v) << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/std__pair.html b/doc/html/fusion/adapted/std__pair.html index 3a2a85de..0cc58cdf 100644 --- a/doc/html/fusion/adapted/std__pair.html +++ b/doc/html/fusion/adapted/std__pair.html @@ -33,20 +33,20 @@ Access Sequence.

- + Header
#include <boost/fusion/adapted/std_pair.hpp>
 #include <boost/fusion/include/std_pair.hpp>
 
- + Model of
- + Example
std::pair<int, std::string> p(123, "Hola!!!");
@@ -55,7 +55,7 @@
 std::cout << p << std::endl;
 
- + See also

diff --git a/doc/html/fusion/algorithm.html b/doc/html/fusion/algorithm.html index 5ab038d1..0c3d1c8c 100644 --- a/doc/html/fusion/algorithm.html +++ b/doc/html/fusion/algorithm.html @@ -44,7 +44,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>
diff --git a/doc/html/fusion/algorithm/iteration.html b/doc/html/fusion/algorithm/iteration.html
index bd0713f6..f2156dac 100644
--- a/doc/html/fusion/algorithm/iteration.html
+++ b/doc/html/fusion/algorithm/iteration.html
@@ -35,7 +35,7 @@
         a sequence repeatedly applying an operation to its elements.
       

- + Header
#include <boost/fusion/algorithm/iteration.hpp>
diff --git a/doc/html/fusion/algorithm/iteration/functions/accumulate.html b/doc/html/fusion/algorithm/iteration/functions/accumulate.html
index 0b29a85a..e60f3db4 100644
--- a/doc/html/fusion/algorithm/iteration/functions/accumulate.html
+++ b/doc/html/fusion/algorithm/iteration/functions/accumulate.html
@@ -27,7 +27,7 @@
 accumulate
 
 
- + 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
diff --git a/doc/html/fusion/algorithm/iteration/functions/fold.html b/doc/html/fusion/algorithm/iteration/functions/fold.html
index c4e315ba..01aae2c7 100644
--- a/doc/html/fusion/algorithm/iteration/functions/fold.html
+++ b/doc/html/fusion/algorithm/iteration/functions/fold.html
@@ -27,7 +27,7 @@
 fold
 
 
- + 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
diff --git a/doc/html/fusion/algorithm/iteration/functions/for_each.html b/doc/html/fusion/algorithm/iteration/functions/for_each.html
index 5ff513e5..00a1db26 100644
--- a/doc/html/fusion/algorithm/iteration/functions/for_each.html
+++ b/doc/html/fusion/algorithm/iteration/functions/for_each.html
@@ -27,14 +27,14 @@
 for_each
 
 
- + 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
diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html
index 672d1fd1..6acb840c 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html
@@ -27,14 +27,14 @@
 accumulate
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html
index cc3d332c..d75cde7b 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html
@@ -27,14 +27,14 @@
 fold
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html b/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html
index dae8a255..965e8421 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html
@@ -31,11 +31,11 @@
             return type of for_each is always void.
           

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

Table 1.42. Parameters

+

Table 1.42. Parameters

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

- + Expression Semantics
@@ -129,14 +129,14 @@ return type is always void.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/iteration/for_each.hpp>
diff --git a/doc/html/fusion/algorithm/query.html b/doc/html/fusion/algorithm/query.html
index 7caa1716..fb0a8ade 100644
--- a/doc/html/fusion/algorithm/query.html
+++ b/doc/html/fusion/algorithm/query.html
@@ -34,7 +34,7 @@
         The query algorithms provide support for searching and analyzing sequences.
       

- + Header
#include <boost/fusion/algorithm/query.hpp>
diff --git a/doc/html/fusion/algorithm/query/functions/all.html b/doc/html/fusion/algorithm/query/functions/all.html
index cb2b7efb..13202402 100644
--- a/doc/html/fusion/algorithm/query/functions/all.html
+++ b/doc/html/fusion/algorithm/query/functions/all.html
@@ -27,7 +27,7 @@
 all
 
 
- + 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
diff --git a/doc/html/fusion/algorithm/query/functions/any.html b/doc/html/fusion/algorithm/query/functions/any.html
index bacaf055..3305aef7 100644
--- a/doc/html/fusion/algorithm/query/functions/any.html
+++ b/doc/html/fusion/algorithm/query/functions/any.html
@@ -27,7 +27,7 @@
 any
 
 
- + 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
diff --git a/doc/html/fusion/algorithm/query/functions/count.html b/doc/html/fusion/algorithm/query/functions/count.html
index 4ed258f5..e3bdc184 100644
--- a/doc/html/fusion/algorithm/query/functions/count.html
+++ b/doc/html/fusion/algorithm/query/functions/count.html
@@ -27,14 +27,14 @@
 count
 
 
- + 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);
diff --git a/doc/html/fusion/algorithm/query/functions/count_if.html b/doc/html/fusion/algorithm/query/functions/count_if.html
index 40dd2892..9984736c 100644
--- a/doc/html/fusion/algorithm/query/functions/count_if.html
+++ b/doc/html/fusion/algorithm/query/functions/count_if.html
@@ -27,7 +27,7 @@
 count_if
 
 
- + 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);
diff --git a/doc/html/fusion/algorithm/query/functions/find.html b/doc/html/fusion/algorithm/query/functions/find.html
index cce52a26..82e51470 100644
--- a/doc/html/fusion/algorithm/query/functions/find.html
+++ b/doc/html/fusion/algorithm/query/functions/find.html
@@ -27,14 +27,14 @@
 find
 
 
- + 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');
diff --git a/doc/html/fusion/algorithm/query/functions/find_if.html b/doc/html/fusion/algorithm/query/functions/find_if.html
index c20c0733..edeaf7e2 100644
--- a/doc/html/fusion/algorithm/query/functions/find_if.html
+++ b/doc/html/fusion/algorithm/query/functions/find_if.html
@@ -32,11 +32,11 @@
             Lambda Expression evaluates to boost::mpl::true_.
           

- + Description
- + Synopsis
template<
@@ -52,7 +52,7 @@
 unspecified find_if(Sequence& seq);
 
-

Table 1.47. Parameters

+

Table 1.47. Parameters

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

- + Expression Semantics
@@ -135,7 +135,7 @@ if there is no such element.

- + Complexity

@@ -150,7 +150,7 @@

- + Example
const vector<double,int> vec(1.0,2);
diff --git a/doc/html/fusion/algorithm/query/functions/none.html b/doc/html/fusion/algorithm/query/functions/none.html
index 9e6145d0..c35dea72 100644
--- a/doc/html/fusion/algorithm/query/functions/none.html
+++ b/doc/html/fusion/algorithm/query/functions/none.html
@@ -27,7 +27,7 @@
 none
 
 
- + 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
diff --git a/doc/html/fusion/algorithm/query/metafunctions/all.html b/doc/html/fusion/algorithm/query/metafunctions/all.html
index b3d8018c..de7eb904 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/all.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/all.html
@@ -27,14 +27,14 @@
 all
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/query/metafunctions/any.html b/doc/html/fusion/algorithm/query/metafunctions/any.html
index 36677461..45b8e28f 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/any.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/any.html
@@ -27,14 +27,14 @@
 any
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/query/metafunctions/count.html b/doc/html/fusion/algorithm/query/metafunctions/count.html
index a31efd76..404c71c1 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/count.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/count.html
@@ -27,7 +27,7 @@
 count
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/query/metafunctions/count_if.html b/doc/html/fusion/algorithm/query/metafunctions/count_if.html
index cda76461..41b3b7ae 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/count_if.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/count_if.html
@@ -27,7 +27,7 @@
 count_if
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/query/metafunctions/find.html b/doc/html/fusion/algorithm/query/metafunctions/find.html
index 0faa9a4d..9ee73d63 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/find.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/find.html
@@ -27,7 +27,7 @@
 find
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/query/metafunctions/find_if.html b/doc/html/fusion/algorithm/query/metafunctions/find_if.html
index 9e5f911b..fb62b580 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/find_if.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/find_if.html
@@ -27,7 +27,7 @@
 find_if
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/query/metafunctions/none.html b/doc/html/fusion/algorithm/query/metafunctions/none.html
index 8b26b085..23bd6fff 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/none.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/none.html
@@ -27,14 +27,14 @@
 none
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation.html b/doc/html/fusion/algorithm/transformation.html
index 7da88162..ca9598f9 100644
--- a/doc/html/fusion/algorithm/transformation.html
+++ b/doc/html/fusion/algorithm/transformation.html
@@ -47,7 +47,7 @@
         

- + Header
#include <boost/fusion/algorithm/transformation.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/functions/clear.html b/doc/html/fusion/algorithm/transformation/functions/clear.html
index 5f69b010..0aa08561 100644
--- a/doc/html/fusion/algorithm/transformation/functions/clear.html
+++ b/doc/html/fusion/algorithm/transformation/functions/clear.html
@@ -27,14 +27,14 @@
 clear
 
 
- + 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());
diff --git a/doc/html/fusion/algorithm/transformation/functions/erase.html b/doc/html/fusion/algorithm/transformation/functions/erase.html
index 7efca80b..716f53fc 100644
--- a/doc/html/fusion/algorithm/transformation/functions/erase.html
+++ b/doc/html/fusion/algorithm/transformation/functions/erase.html
@@ -27,7 +27,7 @@
 erase
 
 
- + 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');
diff --git a/doc/html/fusion/algorithm/transformation/functions/erase_key.html b/doc/html/fusion/algorithm/transformation/functions/erase_key.html
index 9d2ed768..aa08115d 100644
--- a/doc/html/fusion/algorithm/transformation/functions/erase_key.html
+++ b/doc/html/fusion/algorithm/transformation/functions/erase_key.html
@@ -27,7 +27,7 @@
 erase_key
 
 
- + 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'));
diff --git a/doc/html/fusion/algorithm/transformation/functions/filter.html b/doc/html/fusion/algorithm/transformation/functions/filter.html
index 3a6d0fdb..5c4eb476 100644
--- a/doc/html/fusion/algorithm/transformation/functions/filter.html
+++ b/doc/html/fusion/algorithm/transformation/functions/filter.html
@@ -27,7 +27,7 @@
 filter
 
 
- + 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);
diff --git a/doc/html/fusion/algorithm/transformation/functions/filter_if.html b/doc/html/fusion/algorithm/transformation/functions/filter_if.html
index 15bcd334..281f05eb 100644
--- a/doc/html/fusion/algorithm/transformation/functions/filter_if.html
+++ b/doc/html/fusion/algorithm/transformation/functions/filter_if.html
@@ -27,7 +27,7 @@
 filter_if
 
 
- + 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);
diff --git a/doc/html/fusion/algorithm/transformation/functions/insert.html b/doc/html/fusion/algorithm/transformation/functions/insert.html
index 606b2829..17ae58b6 100644
--- a/doc/html/fusion/algorithm/transformation/functions/insert.html
+++ b/doc/html/fusion/algorithm/transformation/functions/insert.html
@@ -27,7 +27,7 @@
 insert
 
 
- + 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);
diff --git a/doc/html/fusion/algorithm/transformation/functions/insert_range.html b/doc/html/fusion/algorithm/transformation/functions/insert_range.html
index ce807a14..40e49219 100644
--- a/doc/html/fusion/algorithm/transformation/functions/insert_range.html
+++ b/doc/html/fusion/algorithm/transformation/functions/insert_range.html
@@ -27,7 +27,7 @@
 insert_range
 
 
- + 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);
diff --git a/doc/html/fusion/algorithm/transformation/functions/join.html b/doc/html/fusion/algorithm/transformation/functions/join.html
index ad1ab2c7..fee54ad9 100644
--- a/doc/html/fusion/algorithm/transformation/functions/join.html
+++ b/doc/html/fusion/algorithm/transformation/functions/join.html
@@ -27,7 +27,7 @@
 join
 
 
- + 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');
diff --git a/doc/html/fusion/algorithm/transformation/functions/pop_back.html b/doc/html/fusion/algorithm/transformation/functions/pop_back.html
index 90620d7c..4e8c552a 100644
--- a/doc/html/fusion/algorithm/transformation/functions/pop_back.html
+++ b/doc/html/fusion/algorithm/transformation/functions/pop_back.html
@@ -27,14 +27,14 @@
 pop_back
 
 
- + 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));
diff --git a/doc/html/fusion/algorithm/transformation/functions/pop_front.html b/doc/html/fusion/algorithm/transformation/functions/pop_front.html
index 63bae6d8..20858bc3 100644
--- a/doc/html/fusion/algorithm/transformation/functions/pop_front.html
+++ b/doc/html/fusion/algorithm/transformation/functions/pop_front.html
@@ -27,14 +27,14 @@
 pop_front
 
 
- + 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));
diff --git a/doc/html/fusion/algorithm/transformation/functions/push_back.html b/doc/html/fusion/algorithm/transformation/functions/push_back.html
index 21273960..45919e18 100644
--- a/doc/html/fusion/algorithm/transformation/functions/push_back.html
+++ b/doc/html/fusion/algorithm/transformation/functions/push_back.html
@@ -27,14 +27,14 @@
 push_back
 
 
- + 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));
diff --git a/doc/html/fusion/algorithm/transformation/functions/push_front.html b/doc/html/fusion/algorithm/transformation/functions/push_front.html
index 5b099801..f282aa68 100644
--- a/doc/html/fusion/algorithm/transformation/functions/push_front.html
+++ b/doc/html/fusion/algorithm/transformation/functions/push_front.html
@@ -27,14 +27,14 @@
 push_front
 
 
- + 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));
diff --git a/doc/html/fusion/algorithm/transformation/functions/remove.html b/doc/html/fusion/algorithm/transformation/functions/remove.html
index a2a5d09a..db4c5655 100644
--- a/doc/html/fusion/algorithm/transformation/functions/remove.html
+++ b/doc/html/fusion/algorithm/transformation/functions/remove.html
@@ -27,7 +27,7 @@
 remove
 
 
- + 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);
diff --git a/doc/html/fusion/algorithm/transformation/functions/remove_if.html b/doc/html/fusion/algorithm/transformation/functions/remove_if.html
index 6c596168..66f31e24 100644
--- a/doc/html/fusion/algorithm/transformation/functions/remove_if.html
+++ b/doc/html/fusion/algorithm/transformation/functions/remove_if.html
@@ -27,7 +27,7 @@
 remove_if
 
 
- + 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);
diff --git a/doc/html/fusion/algorithm/transformation/functions/replace.html b/doc/html/fusion/algorithm/transformation/functions/replace.html
index b4f5362e..9553921b 100644
--- a/doc/html/fusion/algorithm/transformation/functions/replace.html
+++ b/doc/html/fusion/algorithm/transformation/functions/replace.html
@@ -27,7 +27,7 @@
 replace
 
 
- + 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));
diff --git a/doc/html/fusion/algorithm/transformation/functions/replace_if.html b/doc/html/fusion/algorithm/transformation/functions/replace_if.html
index 65a82fc1..37fdd845 100644
--- a/doc/html/fusion/algorithm/transformation/functions/replace_if.html
+++ b/doc/html/fusion/algorithm/transformation/functions/replace_if.html
@@ -27,7 +27,7 @@
 replace_if
 
 
- + 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
diff --git a/doc/html/fusion/algorithm/transformation/functions/reverse.html b/doc/html/fusion/algorithm/transformation/functions/reverse.html
index 9f4a714b..04086097 100644
--- a/doc/html/fusion/algorithm/transformation/functions/reverse.html
+++ b/doc/html/fusion/algorithm/transformation/functions/reverse.html
@@ -27,14 +27,14 @@
 reverse
 
 
- + 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
@@ -120,21 +120,21 @@ in reverse order.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/reverse.hpp>
 #include <boost/fusion/include/reverse.hpp>
 
- + Example
assert(reverse(make_vector(1,2,3)) == make_vector(3,2,1));
diff --git a/doc/html/fusion/algorithm/transformation/functions/transform.html b/doc/html/fusion/algorithm/transformation/functions/transform.html
index 249ad199..717b390f 100644
--- a/doc/html/fusion/algorithm/transformation/functions/transform.html
+++ b/doc/html/fusion/algorithm/transformation/functions/transform.html
@@ -27,7 +27,7 @@
 transform
 
 
- + 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
diff --git a/doc/html/fusion/algorithm/transformation/functions/zip.html b/doc/html/fusion/algorithm/transformation/functions/zip.html
index c69c8372..11c0d6b1 100644
--- a/doc/html/fusion/algorithm/transformation/functions/zip.html
+++ b/doc/html/fusion/algorithm/transformation/functions/zip.html
@@ -27,7 +27,7 @@
 zip
 
 
- + 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');
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/clear.html b/doc/html/fusion/algorithm/transformation/metafunctions/clear.html
index 716b8ca6..2263d2d1 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/clear.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/clear.html
@@ -27,7 +27,7 @@
 clear
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/erase.html b/doc/html/fusion/algorithm/transformation/metafunctions/erase.html
index 3ba6f78a..1aeec748 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/erase.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/erase.html
@@ -31,11 +31,11 @@
             and range delimiting iterator types.
           

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

Table 1.87. Parameters

+

Table 1.87. Parameters

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

- + Expression Semantics
@@ -168,14 +168,14 @@ and It2 removed.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/erase.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/erase_key.html b/doc/html/fusion/algorithm/transformation/metafunctions/erase_key.html
index 5fa218a0..f96cc414 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/erase_key.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/erase_key.html
@@ -27,7 +27,7 @@
 erase_key
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/filter.html b/doc/html/fusion/algorithm/transformation/metafunctions/filter.html
index 31cae211..3b043bdd 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/filter.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/filter.html
@@ -27,7 +27,7 @@
 filter
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html b/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html
index bd991644..8090a5c2 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html
@@ -27,7 +27,7 @@
 filter_if
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/insert.html b/doc/html/fusion/algorithm/transformation/metafunctions/insert.html
index ff58b289..64ee99d0 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/insert.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/insert.html
@@ -27,7 +27,7 @@
 insert
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/insert_range.html b/doc/html/fusion/algorithm/transformation/metafunctions/insert_range.html
index c1d61e41..0a94ffa5 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/insert_range.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/insert_range.html
@@ -27,7 +27,7 @@
 insert_range
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/join.html b/doc/html/fusion/algorithm/transformation/metafunctions/join.html
index c59de021..e8aff1f3 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/join.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/join.html
@@ -27,14 +27,14 @@
 join
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/pop_back.html b/doc/html/fusion/algorithm/transformation/metafunctions/pop_back.html
index e680bb0b..85d6c10c 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/pop_back.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/pop_back.html
@@ -27,7 +27,7 @@
 pop_back
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/pop_front.html b/doc/html/fusion/algorithm/transformation/metafunctions/pop_front.html
index 37bedabb..5ea4eda1 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/pop_front.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/pop_front.html
@@ -27,7 +27,7 @@
 pop_front
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html b/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html
index 4f661959..4ffb0862 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html
@@ -27,7 +27,7 @@
 push_back
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html b/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html
index d9158757..87456f64 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html
@@ -27,7 +27,7 @@
 push_front
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/remove.html b/doc/html/fusion/algorithm/transformation/metafunctions/remove.html
index 8d56c9e6..84d5b248 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/remove.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/remove.html
@@ -27,7 +27,7 @@
 remove
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/remove_if.html b/doc/html/fusion/algorithm/transformation/metafunctions/remove_if.html
index 669bc107..cb577c6f 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/remove_if.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/remove_if.html
@@ -27,7 +27,7 @@
 remove_if
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/replace.html b/doc/html/fusion/algorithm/transformation/metafunctions/replace.html
index 1c900989..8dd7fa5f 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/replace.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/replace.html
@@ -27,7 +27,7 @@
 replace
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/replace_if.html b/doc/html/fusion/algorithm/transformation/metafunctions/replace_if.html
index eeeaa838..fee70a54 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/replace_if.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/replace_if.html
@@ -27,7 +27,7 @@
 replace_if
 
 
- + 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>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/reverse.html b/doc/html/fusion/algorithm/transformation/metafunctions/reverse.html
index 3a86f203..826ca305 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/reverse.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/reverse.html
@@ -27,7 +27,7 @@
 reverse
 
 
- + 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
@@ -123,14 +123,14 @@ elements in the reverse order to Sequence.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/reverse.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/transform.html b/doc/html/fusion/algorithm/transformation/metafunctions/transform.html
index b2fa7d3d..0ef13e75 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/transform.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/transform.html
@@ -27,7 +27,7 @@
 transform
 
 
- + 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
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/zip.html b/doc/html/fusion/algorithm/transformation/metafunctions/zip.html
index 29142c75..58af982a 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/zip.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/zip.html
@@ -27,7 +27,7 @@
 zip
 
 
- + 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>
diff --git a/doc/html/fusion/container.html b/doc/html/fusion/container.html
index 04368a6a..cee8c936 100644
--- a/doc/html/fusion/container.html
+++ b/doc/html/fusion/container.html
@@ -49,7 +49,7 @@
       These containers are more or less counterparts of those in STL.
     

- + Header

#include <boost/fusion/container.hpp>
diff --git a/doc/html/fusion/container/cons.html b/doc/html/fusion/container/cons.html
index 092f0755..0321feae 100644
--- a/doc/html/fusion/container/cons.html
+++ b/doc/html/fusion/container/cons.html
@@ -27,7 +27,7 @@
 cons
 
 
- + 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));
diff --git a/doc/html/fusion/container/conversion.html b/doc/html/fusion/container/conversion.html
index 264a2499..79bbfbc3 100644
--- a/doc/html/fusion/container/conversion.html
+++ b/doc/html/fusion/container/conversion.html
@@ -35,7 +35,7 @@
         types using one of these conversion functions.
       

- + Header
#include <boost/fusion/include/convert.hpp>
diff --git a/doc/html/fusion/container/conversion/functions/as_list.html b/doc/html/fusion/container/conversion/functions/as_list.html
index 0199fa8f..144fb62d 100644
--- a/doc/html/fusion/container/conversion/functions/as_list.html
+++ b/doc/html/fusion/container/conversion/functions/as_list.html
@@ -27,14 +27,14 @@
 as_list
 
 
- + 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"))
diff --git a/doc/html/fusion/container/conversion/functions/as_map.html b/doc/html/fusion/container/conversion/functions/as_map.html
index 109105ec..9cf23551 100644
--- a/doc/html/fusion/container/conversion/functions/as_map.html
+++ b/doc/html/fusion/container/conversion/functions/as_map.html
@@ -27,14 +27,14 @@
 as_map
 
 
- + 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(
diff --git a/doc/html/fusion/container/conversion/functions/as_set.html b/doc/html/fusion/container/conversion/functions/as_set.html
index eec6b691..58dbd981 100644
--- a/doc/html/fusion/container/conversion/functions/as_set.html
+++ b/doc/html/fusion/container/conversion/functions/as_set.html
@@ -27,14 +27,14 @@
 as_set
 
 
- + 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"))
diff --git a/doc/html/fusion/container/conversion/functions/as_vector.html b/doc/html/fusion/container/conversion/functions/as_vector.html
index bb9140af..a2282306 100644
--- a/doc/html/fusion/container/conversion/functions/as_vector.html
+++ b/doc/html/fusion/container/conversion/functions/as_vector.html
@@ -27,14 +27,14 @@
 as_vector
 
 
- + 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"))
diff --git a/doc/html/fusion/container/conversion/metafunctions/as_list.html b/doc/html/fusion/container/conversion/metafunctions/as_list.html
index a771c883..2884fffc 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_list.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_list.html
@@ -27,21 +27,21 @@
 as_list
 
 
- + 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
diff --git a/doc/html/fusion/container/conversion/metafunctions/as_map.html b/doc/html/fusion/container/conversion/metafunctions/as_map.html
index c1b641f0..26d68a0c 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_map.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_map.html
@@ -27,21 +27,21 @@
 as_map
 
 
- + 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<
diff --git a/doc/html/fusion/container/conversion/metafunctions/as_set.html b/doc/html/fusion/container/conversion/metafunctions/as_set.html
index b017c9ec..399bd301 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_set.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_set.html
@@ -27,21 +27,21 @@
 as_set
 
 
- + 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
diff --git a/doc/html/fusion/container/conversion/metafunctions/as_vector.html b/doc/html/fusion/container/conversion/metafunctions/as_vector.html
index ed0a3b4d..37d6525a 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_vector.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_vector.html
@@ -27,21 +27,21 @@
 as_vector
 
 
- + 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
diff --git a/doc/html/fusion/container/generation.html b/doc/html/fusion/container/generation.html
index d29ccb4f..3a75b533 100644
--- a/doc/html/fusion/container/generation.html
+++ b/doc/html/fusion/container/generation.html
@@ -34,7 +34,7 @@
         These are the functions that you can use to generate various forms of Container from elemental values.
       

- + Header
#include <boost/fusion/container/generation.hpp>
diff --git a/doc/html/fusion/container/generation/functions/list_tie.html b/doc/html/fusion/container/generation/functions/list_tie.html
index 74ae88c5..03d2f7e7 100644
--- a/doc/html/fusion/container/generation/functions/list_tie.html
+++ b/doc/html/fusion/container/generation/functions/list_tie.html
@@ -27,14 +27,14 @@
 list_tie
 
 
- + 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;
diff --git a/doc/html/fusion/container/generation/functions/make_cons.html b/doc/html/fusion/container/generation/functions/make_cons.html
index e64bd845..8d3da0c5 100644
--- a/doc/html/fusion/container/generation/functions/make_cons.html
+++ b/doc/html/fusion/container/generation/functions/make_cons.html
@@ -27,7 +27,7 @@
 make_cons
 
 
- + 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
diff --git a/doc/html/fusion/container/generation/functions/make_list.html b/doc/html/fusion/container/generation/functions/make_list.html index 099d9623..44a16031 100644 --- a/doc/html/fusion/container/generation/functions/make_list.html +++ b/doc/html/fusion/container/generation/functions/make_list.html @@ -27,7 +27,7 @@ make_list
- + 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
diff --git a/doc/html/fusion/container/generation/functions/make_map.html b/doc/html/fusion/container/generation/functions/make_map.html index 73b5e8dc..95da9ed9 100644 --- a/doc/html/fusion/container/generation/functions/make_map.html +++ b/doc/html/fusion/container/generation/functions/make_map.html @@ -27,7 +27,7 @@ make_map
- + 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
diff --git a/doc/html/fusion/container/generation/functions/make_set.html b/doc/html/fusion/container/generation/functions/make_set.html index 1eb5d5b6..380296e3 100644 --- a/doc/html/fusion/container/generation/functions/make_set.html +++ b/doc/html/fusion/container/generation/functions/make_set.html @@ -27,7 +27,7 @@ make_set
- + 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
diff --git a/doc/html/fusion/container/generation/functions/make_vector.html b/doc/html/fusion/container/generation/functions/make_vector.html index 92aebbc0..52a8eeac 100644 --- a/doc/html/fusion/container/generation/functions/make_vector.html +++ b/doc/html/fusion/container/generation/functions/make_vector.html @@ -27,7 +27,7 @@ make_vector
- + 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
diff --git a/doc/html/fusion/container/generation/functions/map_tie.html b/doc/html/fusion/container/generation/functions/map_tie.html index 08dc2451..cdee240f 100644 --- a/doc/html/fusion/container/generation/functions/map_tie.html +++ b/doc/html/fusion/container/generation/functions/map_tie.html @@ -27,14 +27,14 @@ map_tie
- + 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;
diff --git a/doc/html/fusion/container/generation/functions/tiers.html b/doc/html/fusion/container/generation/functions/tiers.html
index 406ee6f4..999235f0 100644
--- a/doc/html/fusion/container/generation/functions/tiers.html
+++ b/doc/html/fusion/container/generation/functions/tiers.html
@@ -49,7 +49,7 @@
             a vector
             of type vector<int&, char&, double&>. The same result could be achieved
             with the call make_vector(ref(i), ref(c), ref(a))
-            [9]
+            [9]
             .
           

@@ -66,7 +66,7 @@ when calling functions which return sequences.

- + Ignore

@@ -80,7 +80,7 @@



-

[9] +

[9] see Boost.Ref for details about ref

diff --git a/doc/html/fusion/container/generation/functions/vector_tie.html b/doc/html/fusion/container/generation/functions/vector_tie.html index 92b235ad..9348291b 100644 --- a/doc/html/fusion/container/generation/functions/vector_tie.html +++ b/doc/html/fusion/container/generation/functions/vector_tie.html @@ -27,14 +27,14 @@ vector_tie
- + Description

Constructs a tie using a vector sequence.

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

- + Header
#include <boost/fusion/container/generation/vector_tie.hpp>
 #include <boost/fusion/include/vector_tie.hpp>
 
- + Example
int i = 123;
diff --git a/doc/html/fusion/container/generation/metafunctions/list_tie.html b/doc/html/fusion/container/generation/metafunctions/list_tie.html
index 829ae540..2e35594d 100644
--- a/doc/html/fusion/container/generation/metafunctions/list_tie.html
+++ b/doc/html/fusion/container/generation/metafunctions/list_tie.html
@@ -27,14 +27,14 @@
 list_tie
 
 
- + Description

Returns the result type of list_tie.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -51,7 +51,7 @@
 
#define FUSION_MAX_LIST_SIZE 20
 
- + Parameters
@@ -98,7 +98,7 @@
- + Expression Semantics
@@ -112,14 +112,14 @@ Semantics: Create a list of references from T0, T1,... TN.

- + Header
#include <boost/fusion/container/generation/list_tie.hpp>
 #include <boost/fusion/include/list_tie.hpp>
 
- + Example
result_of::list_tie<int, double>::type
diff --git a/doc/html/fusion/container/generation/metafunctions/make_cons.html b/doc/html/fusion/container/generation/metafunctions/make_cons.html
index baedcdf5..98b00be4 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_cons.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_cons.html
@@ -27,21 +27,21 @@
 make_cons
 
 
- + Description

Returns the result type of make_cons.

- + Synopsis
template <typename Car, typename Cdr = nil>
 struct make_cons;
 
- + Parameters
@@ -105,7 +105,7 @@
- + Expression Semantics
@@ -122,14 +122,14 @@ (tail).

- + Header
#include <boost/fusion/container/generation/make_cons.hpp>
 #include <boost/fusion/include/make_cons.hpp>
 
- + Example
result_of::make_cons<char, result_of::make_cons<int>::type>::type
diff --git a/doc/html/fusion/container/generation/metafunctions/make_list.html b/doc/html/fusion/container/generation/metafunctions/make_list.html
index 58e04090..52e99b4e 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_list.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_list.html
@@ -27,14 +27,14 @@
 make_list
 
 
- + Description

Returns the result type of make_list.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -51,7 +51,7 @@
 
#define FUSION_MAX_LIST_SIZE 20
 
- + Parameters
@@ -98,7 +98,7 @@
- + Expression Semantics
@@ -113,14 +113,14 @@ Semantics: Create a list from T0, T1,... TN.

- + Header
#include <boost/fusion/container/generation/make_list.hpp>
 #include <boost/fusion/include/make_list.hpp>
 
- + Example
result_of::make_list<int, const char(&)[7], double>::type
diff --git a/doc/html/fusion/container/generation/metafunctions/make_map.html b/doc/html/fusion/container/generation/metafunctions/make_map.html
index 10725cbd..3a6072ac 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_map.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_map.html
@@ -27,14 +27,14 @@
 make_map
 
 
- + Description

Returns the result type of make_map.

- + Synopsis
template <
@@ -53,7 +53,7 @@
 
#define FUSION_MAX_MAP_SIZE 20
 
- + Parameters
@@ -121,7 +121,7 @@
- + Expression Semantics
@@ -140,20 +140,20 @@ key types.

- + Header
#include <boost/fusion/container/generation/make_map.hpp>
 #include <boost/fusion/include/make_map.hpp>
 
- + Example
result_of::make_map<int, double, char, double>::type
 
- + See also
diff --git a/doc/html/fusion/container/generation/metafunctions/make_set.html b/doc/html/fusion/container/generation/metafunctions/make_set.html index e2f66eec..5cbdf101 100644 --- a/doc/html/fusion/container/generation/metafunctions/make_set.html +++ b/doc/html/fusion/container/generation/metafunctions/make_set.html @@ -27,14 +27,14 @@ make_set
- + Description

Returns the result type of make_set.

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

- + Header
#include <boost/fusion/container/generation/make_set.hpp>
 #include <boost/fusion/include/make_set.hpp>
 
- + Example
result_of::make_set<int, char, double>::type
diff --git a/doc/html/fusion/container/generation/metafunctions/make_vector.html b/doc/html/fusion/container/generation/metafunctions/make_vector.html
index 0c1dcd78..2beba510 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_vector.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_vector.html
@@ -27,14 +27,14 @@
 make_vector
 
 
- + Description

Returns the result type of make_vector.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -51,7 +51,7 @@
 
#define FUSION_MAX_VECTOR_SIZE 20
 
- + Parameters
@@ -98,7 +98,7 @@
- + Expression Semantics
@@ -113,14 +113,14 @@ Semantics: Create a vector from T0, T1,... TN.

- + Header
#include <boost/fusion/container/generation/make_list.hpp>
 #include <boost/fusion/include/make_list.hpp>
 
- + Example
result_of::make_vector<int, const char(&)[7], double>::type
diff --git a/doc/html/fusion/container/generation/metafunctions/map_tie.html b/doc/html/fusion/container/generation/metafunctions/map_tie.html
index 855c0379..d887ffda 100644
--- a/doc/html/fusion/container/generation/metafunctions/map_tie.html
+++ b/doc/html/fusion/container/generation/metafunctions/map_tie.html
@@ -27,14 +27,14 @@
 map_tie
 
 
- + Description

Returns the result type of map_tie.

- + Synopsis
template <typename K0, typename K1,... typename KN, typename D0, typename D1,... typename DN>
@@ -51,7 +51,7 @@
 
#define FUSION_MAX_MAP_SIZE 20
 
- + Parameters
@@ -119,7 +119,7 @@
- + Expression Semantics
@@ -134,14 +134,14 @@ Semantics: Create a map of references from D0, D1,... DN 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;
diff --git a/doc/html/fusion/container/generation/metafunctions/vector_tie.html b/doc/html/fusion/container/generation/metafunctions/vector_tie.html
index 4229ead6..e67d2572 100644
--- a/doc/html/fusion/container/generation/metafunctions/vector_tie.html
+++ b/doc/html/fusion/container/generation/metafunctions/vector_tie.html
@@ -27,14 +27,14 @@
 vector_tie
 
 
- + Description

Returns the result type of vector_tie.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -51,7 +51,7 @@
 
#define FUSION_MAX_VECTOR_SIZE 20
 
- + Parameters
@@ -98,7 +98,7 @@
- + Expression Semantics
@@ -112,14 +112,14 @@ Semantics: Create a vector of references from T0, T1,... TN.

- + Header
#include <boost/fusion/container/generation/vector_tie.hpp>
 #include <boost/fusion/include/vector_tie.hpp>
 
- + Example
result_of::vector_tie<int, double>::type
diff --git a/doc/html/fusion/container/list.html b/doc/html/fusion/container/list.html
index 56b93390..82372a23 100644
--- a/doc/html/fusion/container/list.html
+++ b/doc/html/fusion/container/list.html
@@ -27,7 +27,7 @@
 list
 
 
- + Description

@@ -38,7 +38,7 @@ runtime cost of access to each element is peculiarly constant (see Recursive Inlined Functions).

- + Header
#include <boost/fusion/container/list.hpp>
@@ -47,7 +47,7 @@
 #include <boost/fusion/include/list_fwd.hpp>
 
- + Synopsis
template <
@@ -75,7 +75,7 @@
 
#define FUSION_MAX_LIST_SIZE 20
 
- + Template parameters
@@ -120,7 +120,7 @@
- + Model of
@@ -151,7 +151,7 @@
- + Expression Semantics

@@ -257,7 +257,7 @@

- + Example
list<int, float> l(12, 5.5f);
diff --git a/doc/html/fusion/container/map.html b/doc/html/fusion/container/map.html
index bb8ec2d7..c6cc8a3b 100644
--- a/doc/html/fusion/container/map.html
+++ b/doc/html/fusion/container/map.html
@@ -27,7 +27,7 @@
 map
 
 
- + Description

@@ -40,7 +40,7 @@ (see Overloaded Functions).

- + Header
#include <boost/fusion/container/map.hpp>
@@ -49,7 +49,7 @@
 #include <boost/fusion/include/map_fwd.hpp>
 
- + Synopsis
template <
@@ -77,7 +77,7 @@
 
#define FUSION_MAX_MAP_SIZE 20
 
- + Template parameters
@@ -122,7 +122,7 @@
- + Model of
    @@ -152,7 +152,7 @@
- + Expression Semantics

@@ -235,7 +235,7 @@

- + Example
typedef map<
diff --git a/doc/html/fusion/container/set.html b/doc/html/fusion/container/set.html
index 8a77b522..3f91cb78 100644
--- a/doc/html/fusion/container/set.html
+++ b/doc/html/fusion/container/set.html
@@ -27,7 +27,7 @@
 set
 
 
- + Description

@@ -39,7 +39,7 @@ Functions).

- + Header
#include <boost/fusion/container/set.hpp>
@@ -48,7 +48,7 @@
 #include <boost/fusion/include/set_fwd.hpp>
 
- + Synopsis
template <
@@ -76,7 +76,7 @@
 
#define FUSION_MAX_SET_SIZE 20
 
- + Template parameters
@@ -121,7 +121,7 @@
- + Model of
    @@ -151,7 +151,7 @@
- + Expression Semantics

@@ -234,7 +234,7 @@

- + Example
typedef set<int, float> S;
diff --git a/doc/html/fusion/container/vector.html b/doc/html/fusion/container/vector.html
index b2c63e68..4aefb82d 100644
--- a/doc/html/fusion/container/vector.html
+++ b/doc/html/fusion/container/vector.html
@@ -27,7 +27,7 @@
 vector
 
 
- + Description

@@ -39,7 +39,7 @@ efficient.

- + Header
#include <boost/fusion/container/vector.hpp>
@@ -60,7 +60,7 @@
 #include <boost/fusion/include/vector50.hpp>
 
- + Synopsis

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

#define FUSION_MAX_VECTOR_SIZE 20
 
- + Template parameters
@@ -160,7 +160,7 @@
- + Model of
- + Expression Semantics

@@ -269,7 +269,7 @@

- + Example
vector<int, float> v(12, 5.5f);
diff --git a/doc/html/fusion/extension/ext_full.html b/doc/html/fusion/extension/ext_full.html
index 7f81815c..5c4f09f2 100644
--- a/doc/html/fusion/extension/ext_full.html
+++ b/doc/html/fusion/extension/ext_full.html
@@ -49,7 +49,7 @@
         
 
 
- + Our example

@@ -79,7 +79,7 @@ Start guide.

- + Enabling Tag Dispatching
@@ -120,7 +120,7 @@ #include <boost/fusion/include/tag_of.hpp>
- + Designing a suitable iterator
@@ -182,7 +182,7 @@ clearer as we add features to our implementation.

- + A first couple of instructive features
@@ -217,17 +217,18 @@

To understand how value_of_impl - is used by the library we will look at the implementation of __valueof_: + is used by the library we will look at the implementation of result_of::value_of:

template <typename Iterator>
-struct __value_of__
+struct value_of
     : extension::value_of_impl<typename detail::tag_of<Iterator>::type>::
         template apply<Iterator>
 {};
 

- So __valueof_ uses tag - dispatching to select an MPL + So result_of::value_of + uses tag dispatching + to select an MPL Metafunction Class to provide its functionality. You will notice this pattern throughout the implementation of Fusion.

@@ -295,10 +296,8 @@

So again result_of::deref uses tag - dispatching in exactly the same way as the __valueof_ implementation. The runtime functionality - used by deref - is provided by the call static - function of the selected MPL + dispatching in exactly the same way as the result_of::value_of implementation. The runtime + functionality used by deref is provided by the call static function of the selected MPL Metafunction Class.

@@ -316,22 +315,21 @@

Although there is a fair amount of left to do to produce a fully fledged - Fusion sequence, __valueof_ and - deref - illustrate all the signficant concepts required. The remainder of the process - is very repetitive, simply requiring implementation of a suitable xxxx_impl for each feature xxxx. + Fusion sequence, result_of::value_of and deref illustrate all the signficant + concepts required. The remainder of the process is very repetitive, simply + requiring implementation of a suitable xxxx_impl + for each feature xxxx.

- + Implementing the remaining iterator functionality

- Ok, now we have seen the way __valueof_ - and deref - work, everything else will work in pretty much the same way. Lets start with - forward iteration, by providing a next_impl: + Ok, now we have seen the way result_of::value_of and deref work, everything else will + work in pretty much the same way. Lets start with forward iteration, by providing + a next_impl:

template<>
 struct next_impl<example::example_struct_iterator_tag>
@@ -375,7 +373,7 @@
         are provided in the example code.
       

- + Implementing the intrinsic functions of the sequence
@@ -430,23 +428,22 @@ Access Sequence we will also need to implement size_impl, value_at_impl and at_impl.

-
- - Enabling - our type as an associative container +
+ + Enabling + our type as an associative sequence

In order for example_struct - to serve as an associative container, we need to enable 3 lookup features, - at_key, value_at_key and has_key. We also need to provide - an implementation of the is_associative - trait so that our sequence can be correctly identified as an associative - container. + to serve as an associative forward sequence, we need to adapt the traversal + category of our sequence and our iterator accordingly and enable 3 intrinsic + sequence lookup features, at_key, value_at_key and has_key. We also need to enable + 3 iterator lookup features, result_of::key_of, result_of::value_of_data and deref_data.

To implement at_key_impl - we need to associate the fields::age and - fields::age types described in the Quick + we need to associate the fields::name + and fields::age types described in the Quick Start guide with the appropriate members of example_struct. Our implementation is as follows:

@@ -492,18 +489,16 @@ deref_impl and value_of_impl. Instead of identifying the members by index or position, we are now selecting them using the types fields::name and fields::age. - The implementations of value_at_key_impl - and has_key_impl are equally - straightforward, and are provided in the example code, along with an implementation - of is_associative_impl. + The implementations of the other functions are equally straightforward, and + are provided in the example code.

- + Summary

We've now worked through the entire process for adding a new random access - sequence and we've also enabled our type to serve as an associative container. + sequence and we've also enabled our type to serve as an associative sequence. The implementation was slightly longwinded, but followed a simple repeating pattern.

diff --git a/doc/html/fusion/extension/iterator_facade.html b/doc/html/fusion/extension/iterator_facade.html index 4cf754ba..83f1e3da 100644 --- a/doc/html/fusion/extension/iterator_facade.html +++ b/doc/html/fusion/extension/iterator_facade.html @@ -27,7 +27,7 @@ Iterator Facade
- + Description

@@ -36,14 +36,14 @@ iterator.

- + Synopsis
template<typename Derived, typename TravesalTag>
 struct iterator_facade;
 
- + Usage

@@ -57,7 +57,7 @@ type.

-

Table 1.97. Parameters

+

Table 1.97. Parameters

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

-

Table 1.98. Key Expressions

+

Table 1.98. Key Expressions

@@ -361,18 +361,88 @@

+ + + + + + + + + + + + + + + + + + + +
+

+ iterator::template key_of<It>::type +

+
+

+ The key type associated with the element from It +

+
+

+ None +

+
+

+ iterator::template value_of_data<It>::type +

+
+

+ The type of the data property associated with the element from It +

+
+

+ None +

+
+

+ iterator::template deref_data<It>::type +

+
+

+ The type that will be returned by dereferencing the data property of + the element from It +

+
+

+ None +

+
+

+ iterator::template deref_data<It>::call(it) +

+
+

+ Deferences the data property associated with the element referenced + by it +

+
+

+ None +

+

- + Header
#include <boost/fusion/iterator/iterator_facade.hpp>
 #include <boost/fusion/include/iterator_facade.hpp>
 
- + Example

diff --git a/doc/html/fusion/extension/sequence_facade.html b/doc/html/fusion/extension/sequence_facade.html index d1096774..fef15185 100644 --- a/doc/html/fusion/extension/sequence_facade.html +++ b/doc/html/fusion/extension/sequence_facade.html @@ -27,7 +27,7 @@ Sequence Facade

- + Description

@@ -36,14 +36,14 @@ iterator.

- + Synopsis
template<typename Derived, typename TravesalTag, typename IsView = mpl::false_>
 struct sequence_facade;
 
- + Usage

@@ -59,7 +59,7 @@ type.

-

Table 1.95. Parameters

+

Table 1.95. Parameters

@@ -107,7 +107,7 @@

-

Table 1.96. Key Expressions

+

Table 1.96. Key Expressions

@@ -243,14 +243,14 @@

- + Include
#include <boost/fusion/sequence/sequence_facade.hpp>
 #include <boost/fusion/include/sequence_facade.hpp>
 
- + Example

diff --git a/doc/html/fusion/functional.html b/doc/html/fusion/functional.html index d9e731c8..cbc25d9c 100644 --- a/doc/html/fusion/functional.html +++ b/doc/html/fusion/functional.html @@ -63,13 +63,13 @@ through a function object interface.

- + Header

#include <boost/fusion/functional.hpp>
 

- + Fused and unfused forms

@@ -103,7 +103,7 @@ form of f'.

- + Calling functions and function objects

@@ -133,7 +133,7 @@ Constructors can be called applying Boost.Functional/Factory.

- + Making Fusion code callable through a function object interface

diff --git a/doc/html/fusion/functional/adapters/fused.html b/doc/html/fusion/functional/adapters/fused.html index 621aeb35..79d634b5 100644 --- a/doc/html/fusion/functional/adapters/fused.html +++ b/doc/html/fusion/functional/adapters/fused.html @@ -27,7 +27,7 @@ fused
- + Description

@@ -54,20 +54,20 @@ and boost::shared_ptr).

- + Header
#include <boost/fusion/functional/adapter/fused.hpp>
 
- + Synopsis
template <typename Function>
 class fused;
 
- + Template parameters
@@ -113,7 +113,7 @@
- + Model of
    @@ -146,7 +146,7 @@
- + Expression Semantics
@@ -210,14 +210,14 @@
- + Example
fused< std::plus<long> > f;
 assert(f(make_vector(1,2l)) == 3l);
 
- + See also
    diff --git a/doc/html/fusion/functional/adapters/fused_function_object.html b/doc/html/fusion/functional/adapters/fused_function_object.html index 927047af..01dfc57d 100644 --- a/doc/html/fusion/functional/adapters/fused_function_object.html +++ b/doc/html/fusion/functional/adapters/fused_function_object.html @@ -27,7 +27,7 @@ fused_function_object
- + Description

@@ -44,20 +44,20 @@ object is held by value, the adapter is const).

- + Header
#include <boost/fusion/functional/adapter/fused_function_object.hpp>
 
- + Synopsis
template <class Function>
 class fused_function_object;
 
- + Template parameters
@@ -103,7 +103,7 @@
- + Model of
@@ -137,7 +137,7 @@
- + Expression Semantics
@@ -201,7 +201,7 @@
- + Example
template<class SeqOfSeqs, class Func>
@@ -238,7 +238,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/fused_procedure.html b/doc/html/fusion/functional/adapters/fused_procedure.html index 9aab46c5..5cd84bcc 100644 --- a/doc/html/fusion/functional/adapters/fused_procedure.html +++ b/doc/html/fusion/functional/adapters/fused_procedure.html @@ -27,7 +27,7 @@ fused_procedure
- + Description

@@ -62,20 +62,20 @@ case is not implemented).

- + Header
#include <boost/fusion/functional/adapter/fused_procedure.hpp>
 
- + Synopsis
template <typename Function>
 class fused_procedure;
 
- + Template parameters
@@ -121,7 +121,7 @@
- + Model of
@@ -155,7 +155,7 @@
- + Expression Semantics
@@ -219,7 +219,7 @@
- + Example
template<class SequenceOfSequences, class Func>
@@ -239,7 +239,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/limits.html b/doc/html/fusion/functional/adapters/limits.html index 1927b101..1300855d 100644 --- a/doc/html/fusion/functional/adapters/limits.html +++ b/doc/html/fusion/functional/adapters/limits.html @@ -27,13 +27,13 @@ Limits
- + Header
#include <boost/fusion/functional/adapter/limits.hpp>
 
- + Macros

diff --git a/doc/html/fusion/functional/adapters/unfused.html b/doc/html/fusion/functional/adapters/unfused.html index 5259ab48..e53bce44 100644 --- a/doc/html/fusion/functional/adapters/unfused.html +++ b/doc/html/fusion/functional/adapters/unfused.html @@ -27,7 +27,7 @@ unfused

- + Description

@@ -57,20 +57,20 @@ object is held by value, the adapter is const.

- + Header
#include <boost/fusion/functional/adapter/unfused.hpp>
 
- + Synopsis
template <class Function, bool AllowNullary = true>
 class unfused;
 
- + Template parameters
@@ -135,7 +135,7 @@
- + Model of
    @@ -172,7 +172,7 @@
- + Expression Semantics
@@ -236,7 +236,7 @@
- + Example
struct fused_incrementer
@@ -263,7 +263,7 @@
 }
 
- + See also
    diff --git a/doc/html/fusion/functional/adapters/unfused_typed.html b/doc/html/fusion/functional/adapters/unfused_typed.html index 06312c34..a4293669 100644 --- a/doc/html/fusion/functional/adapters/unfused_typed.html +++ b/doc/html/fusion/functional/adapters/unfused_typed.html @@ -27,7 +27,7 @@ unfused_typed
- + Description

@@ -66,20 +66,20 @@

- + Header
#include <boost/fusion/functional/adapter/unfused_typed.hpp>
 
- + Synopsis
template <class Function, class Sequence>
 class unfused_typed;
 
- + Template parameters
@@ -143,7 +143,7 @@
- + Model of
@@ -186,7 +186,7 @@
- + Expression Semantics
@@ -252,7 +252,7 @@
- + Example
struct add_assign // applies operator+=
@@ -320,7 +320,7 @@
 }
 
- + See also
    diff --git a/doc/html/fusion/functional/concepts/callable.html b/doc/html/fusion/functional/concepts/callable.html index bfbecd64..4a3efdeb 100644 --- a/doc/html/fusion/functional/concepts/callable.html +++ b/doc/html/fusion/functional/concepts/callable.html @@ -27,7 +27,7 @@ Callable Object
- + Description

@@ -36,7 +36,7 @@ of a function call operator.

- + Models
    @@ -51,7 +51,7 @@
- + Examples
& a_free_function
diff --git a/doc/html/fusion/functional/concepts/def_callable.html b/doc/html/fusion/functional/concepts/def_callable.html
index 06c9c02d..04937413 100644
--- a/doc/html/fusion/functional/concepts/def_callable.html
+++ b/doc/html/fusion/functional/concepts/def_callable.html
@@ -28,7 +28,7 @@
         Callable Object
 
 
- + Description

@@ -37,7 +37,7 @@ to determine the result of a call.

- + Refinement of
@@ -80,7 +80,7 @@
- + Expression requirements
@@ -118,7 +118,7 @@
- + Models
    @@ -131,7 +131,7 @@
- + Examples
& a_free_function
diff --git a/doc/html/fusion/functional/concepts/poly.html b/doc/html/fusion/functional/concepts/poly.html
index c2093624..6a8560f7 100644
--- a/doc/html/fusion/functional/concepts/poly.html
+++ b/doc/html/fusion/functional/concepts/poly.html
@@ -28,7 +28,7 @@
         Object
 
 
- + Description

@@ -36,7 +36,7 @@ Callable Object type.

- + Refinement of
@@ -78,7 +78,7 @@
- + Expression requirements
@@ -127,7 +127,7 @@
- + Models
    @@ -142,7 +142,7 @@
- + Examples
& a_free_function
diff --git a/doc/html/fusion/functional/concepts/reg_callable.html b/doc/html/fusion/functional/concepts/reg_callable.html
index 48bbaf85..df1c8f4b 100644
--- a/doc/html/fusion/functional/concepts/reg_callable.html
+++ b/doc/html/fusion/functional/concepts/reg_callable.html
@@ -28,7 +28,7 @@
         Object
 
 
- + Description

@@ -37,7 +37,7 @@ can appear immediately to the left of a function call operator.

- + Refinement of
@@ -67,7 +67,7 @@
- + Expression requirements
@@ -114,7 +114,7 @@
- + Models
    @@ -126,7 +126,7 @@
- + Examples
& a_free_function
diff --git a/doc/html/fusion/functional/generation/functions/mk_fused.html b/doc/html/fusion/functional/generation/functions/mk_fused.html
index 14978cde..a589d798 100644
--- a/doc/html/fusion/functional/generation/functions/mk_fused.html
+++ b/doc/html/fusion/functional/generation/functions/mk_fused.html
@@ -28,7 +28,7 @@
           make_fused
 
 
- + Description

@@ -37,7 +37,7 @@ conversion is applied to the target function.

- + Synopsis
template <typename F>
@@ -45,7 +45,7 @@
 make_fused(F const & f);
 
- + Parameters
@@ -91,7 +91,7 @@
- + Expression Semantics
@@ -104,14 +104,14 @@ Semantics: Returns a fused adapter for f.

- + Header
#include <boost/fusion/functional/generation/make_fused.hpp>
 #include <boost/fusion/include/make_fused.hpp>
 
- + Example
float sub(float a, float b) { return a - b; }
@@ -126,7 +126,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html b/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html index ebb388cc..c46721f5 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html @@ -28,7 +28,7 @@ make_fused_function_object
- + Description

@@ -38,7 +38,7 @@ conversion is applied to the target function.

- + Synopsis
template <typename F>
@@ -46,7 +46,7 @@
 make_fused_function_object(F const & f);
 
- + Parameters
@@ -92,7 +92,7 @@
- + Expression Semantics
@@ -106,14 +106,14 @@ for f.

- + Header
#include <boost/fusion/functional/generation/make_fused_function_object.hpp>
 #include <boost/fusion/include/make_fused_function_object.hpp>
 
- + Example
struct sub
@@ -141,7 +141,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/generation/functions/mk_fused_proc.html b/doc/html/fusion/functional/generation/functions/mk_fused_proc.html index bb5bc4dd..d41294a9 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_proc.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_proc.html @@ -28,7 +28,7 @@ make_fused_procedure
- + Description

@@ -38,7 +38,7 @@ conversion applied to the target function.

- + Synopsis
template <typename F>
@@ -46,7 +46,7 @@
 make_fused_procedure(F const & f);
 
- + Parameters
@@ -92,7 +92,7 @@
- + Expression Semantics
@@ -106,14 +106,14 @@ f.

- + Header
#include <boost/fusion/functional/generation/make_fused_procedure.hpp>
 #include <boost/fusion/include/make_fused_procedure.hpp>
 
- + Example
vector<int,int,int> v(1,2,3);
@@ -122,7 +122,7 @@
 assert(front(v) == 0);
 
- + See also
diff --git a/doc/html/fusion/functional/generation/functions/mk_unfused.html b/doc/html/fusion/functional/generation/functions/mk_unfused.html index 9dc8797d..695df77e 100644 --- a/doc/html/fusion/functional/generation/functions/mk_unfused.html +++ b/doc/html/fusion/functional/generation/functions/mk_unfused.html @@ -28,7 +28,7 @@ make_unfused
- + Description

@@ -38,7 +38,7 @@ conversion is applied to the target function.

- + Synopsis
template <typename F>
@@ -46,7 +46,7 @@
 make_unfused(F const & f);
 
- + Parameters
@@ -92,7 +92,7 @@
- + Expression Semantics
@@ -105,14 +105,14 @@ Semantics: Returns a unfused adapter for f.

- + Header
#include <boost/fusion/functional/generation/make_unfused.hpp>
 #include <boost/fusion/include/make_unfused.hpp>
 
- + Example
struct fused_incrementer
@@ -138,7 +138,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html index 20791dd5..37c90f9d 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html @@ -28,21 +28,21 @@ make_fused
- + Description

Returns the result type of make_fused.

- + Header
#include <boost/fusion/functional/generation/make_fused.hpp>
 #include <boost/fusion/include/make_fused.hpp>
 
- + Synopsis
namespace result_of
@@ -55,7 +55,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html b/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html index e21abd5e..dd7355cd 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html @@ -28,21 +28,21 @@ make_fused_function_object
- + Description

Returns the result type of make_fused_function_object.

- + Header
#include <boost/fusion/functional/generation/make_fused_function_object.hpp>
 #include <boost/fusion/include/make_fused_function_object.hpp>
 
- + Synopsis
namespace result_of
@@ -55,7 +55,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html b/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html index 2c7ccd0e..435719bb 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html @@ -28,21 +28,21 @@ make_fused_procedure
- + Description

Returns the result type of make_fused_procedure.

- + Header
#include <boost/fusion/functional/generation/make_fused_procedure.hpp>
 #include <boost/fusion/include/make_fused_procedure.hpp>
 
- + Synopsis
namespace result_of
@@ -55,7 +55,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html b/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html index 6cee9afb..2df4dc3c 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html @@ -28,21 +28,21 @@ make_unfused
- + Description

Returns the result type of make_unfused.

- + Header
#include <boost/fusion/functional/generation/make_unfused.hpp>
 #include <boost/fusion/include/make_unfused.hpp>
 
- + Synopsis
namespace result_of
@@ -55,7 +55,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/invocation/functions/invoke.html b/doc/html/fusion/functional/invocation/functions/invoke.html index fbec10aa..b5deea65 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke.html +++ b/doc/html/fusion/functional/invocation/functions/invoke.html @@ -27,7 +27,7 @@ invoke
- + Description

@@ -49,7 +49,7 @@ Constructors can be called applying Boost.Functional/Factory.

- + Synopsis
template<
@@ -67,7 +67,7 @@
 invoke(Function f, Sequence const & s);
 
- + Parameters
@@ -133,7 +133,7 @@
- + Expression Semantics
@@ -149,20 +149,20 @@ as arguments and returns the result of the call expression.

- + Header
#include <boost/fusion/functional/invocation/invoke.hpp>
 
- + Example
std::plus<int> add;
 assert(invoke(add,make_vector(1,1)) == 2);
 
- + See also
diff --git a/doc/html/fusion/functional/invocation/functions/invoke_fobj.html b/doc/html/fusion/functional/invocation/functions/invoke_fobj.html index 75aff287..1dde2b92 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke_fobj.html +++ b/doc/html/fusion/functional/invocation/functions/invoke_fobj.html @@ -28,7 +28,7 @@ invoke_function_object
- + Description

@@ -43,7 +43,7 @@ Constructors can be called applying Boost.Functional/Factory.

- + Synopsis
template<
@@ -61,7 +61,7 @@
 invoke_function_object(Function f, Sequence const & s);
 
- + Parameters
@@ -127,7 +127,7 @@
- + Expression Semantics
@@ -143,13 +143,13 @@ as arguments and returns the result of the call expression.

- + Header
#include <boost/fusion/functional/invocation/invoke_function_object.hpp>
 
- + Example
struct sub
@@ -175,7 +175,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/invocation/functions/invoke_proc.html b/doc/html/fusion/functional/invocation/functions/invoke_proc.html index c231d281..847014bb 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/functions/invoke_proc.html @@ -28,7 +28,7 @@ invoke_procedure
- + Description

@@ -52,7 +52,7 @@ isn't implemented).

- + Synopsis
template<
@@ -70,7 +70,7 @@
 invoke_procedure(Function f, Sequence const & s);
 
- + Parameters
@@ -136,7 +136,7 @@
- + Expression Semantics
@@ -151,13 +151,13 @@ as arguments.

- + Header
#include <booost/fusion/functional/invocation/invoke_procedure.hpp>
 
- + Example
vector<int,int> v(1,2);
@@ -166,7 +166,7 @@
 assert(front(v) == 3);
 
- + See also
diff --git a/doc/html/fusion/functional/invocation/limits.html b/doc/html/fusion/functional/invocation/limits.html index 875c940b..4586eeff 100644 --- a/doc/html/fusion/functional/invocation/limits.html +++ b/doc/html/fusion/functional/invocation/limits.html @@ -27,13 +27,13 @@ Limits
- + Header
#include <boost/fusion/functional/invocation/limits.hpp>
 
- + Macros

diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke.html b/doc/html/fusion/functional/invocation/metafunctions/invoke.html index 681eb928..2d82d8e6 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke.html @@ -27,14 +27,14 @@ invoke

- + Description

Returns the result type of invoke.

- + Synopsis
namespace result_of
@@ -50,7 +50,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html b/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html index 905ca670..e08e8740 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html @@ -28,14 +28,14 @@ invoke_function_object
- + Description

Returns the result type of invoke_function_object.

- + Synopsis
namespace result_of
@@ -51,7 +51,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html b/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html index 2fa37579..f659990f 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html @@ -28,14 +28,14 @@ invoke_procedure
- + Description

Returns the result type of invoke_procedure.

- + Synopsis
namespace result_of
@@ -51,7 +51,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/introduction.html b/doc/html/fusion/introduction.html index 0d0a307b..ea4ca2eb 100644 --- a/doc/html/fusion/introduction.html +++ b/doc/html/fusion/introduction.html @@ -117,7 +117,7 @@ sequences are fully compatible with Fusion. You can work with Fusion sequences on MPL if you wish to work solely on types - [1] + [1] . In MPL, Fusion sequences follow MPL's sequence-type preserving semantics (i.e. algorithms preserve the original sequence @@ -132,7 +132,7 @@



-

[1] +

[1] Choose MPL over fusion when doing pure type calculations. Once the static type calculation is finished, you can instantiate a fusion sequence (see Conversion) diff --git a/doc/html/fusion/iterator.html b/doc/html/fusion/iterator.html index f4065466..69f8727b 100644 --- a/doc/html/fusion/iterator.html +++ b/doc/html/fusion/iterator.html @@ -81,7 +81,7 @@ Sequence.

- + Header

#include <boost/fusion/iterator.hpp>
diff --git a/doc/html/fusion/iterator/concepts/associative_iterator.html b/doc/html/fusion/iterator/concepts/associative_iterator.html
index b801e5ca..a1ef3489 100644
--- a/doc/html/fusion/iterator/concepts/associative_iterator.html
+++ b/doc/html/fusion/iterator/concepts/associative_iterator.html
@@ -28,7 +28,7 @@
         Iterator
 
- + Description

@@ -50,7 +50,7 @@

- + Refinement of
@@ -61,7 +61,7 @@ Access Iterator

- + Expression requirements
@@ -113,7 +113,7 @@
- + Meta Expressions
@@ -174,7 +174,7 @@
- + Models
    diff --git a/doc/html/fusion/iterator/concepts/bidirectional_iterator.html b/doc/html/fusion/iterator/concepts/bidirectional_iterator.html index 51e9e315..786c690d 100644 --- a/doc/html/fusion/iterator/concepts/bidirectional_iterator.html +++ b/doc/html/fusion/iterator/concepts/bidirectional_iterator.html @@ -28,7 +28,7 @@ Iterator
- + Description

@@ -58,7 +58,7 @@

- + Refinement of
@@ -66,7 +66,7 @@ Forward Iterator

- + Expression requirements
@@ -173,7 +173,7 @@
- + Meta Expressions
@@ -208,7 +208,7 @@
- + Expression Semantics
@@ -248,7 +248,7 @@
- + Invariants

@@ -264,7 +264,7 @@

- + Models
    diff --git a/doc/html/fusion/iterator/concepts/forward_iterator.html b/doc/html/fusion/iterator/concepts/forward_iterator.html index 061c4bd9..31281da4 100644 --- a/doc/html/fusion/iterator/concepts/forward_iterator.html +++ b/doc/html/fusion/iterator/concepts/forward_iterator.html @@ -28,7 +28,7 @@ Iterator
- + Description

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

- + Expression requirements
@@ -239,7 +239,7 @@
- + Meta Expressions
@@ -350,7 +350,7 @@
- + Expression Semantics
@@ -476,7 +476,7 @@
- + Invariants

@@ -500,7 +500,7 @@

- + Models
    diff --git a/doc/html/fusion/iterator/concepts/random_access_iterator.html b/doc/html/fusion/iterator/concepts/random_access_iterator.html index 10327133..5630c5a9 100644 --- a/doc/html/fusion/iterator/concepts/random_access_iterator.html +++ b/doc/html/fusion/iterator/concepts/random_access_iterator.html @@ -28,7 +28,7 @@ Access Iterator
- + Description

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

- + Refinement of
@@ -70,7 +70,7 @@ Iterator

- + Expression requirements
@@ -177,7 +177,7 @@
- + Meta Expressions
@@ -240,7 +240,7 @@
- + Models
    diff --git a/doc/html/fusion/iterator/functions/advance.html b/doc/html/fusion/iterator/functions/advance.html index 962d126d..ef47d317 100644 --- a/doc/html/fusion/iterator/functions/advance.html +++ b/doc/html/fusion/iterator/functions/advance.html @@ -27,14 +27,14 @@ advance
- + Description

Moves an iterator by a specified distance.

- + Synopsis
template<
@@ -44,7 +44,7 @@
 typename result_of::advance<I, M>::type advance(I const& i);
 
-

Table 1.6. Parameters

+

Table 1.6. Parameters

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

- + Expression Semantics
@@ -128,14 +128,14 @@ may be negative.

- + Header
#include <boost/fusion/iterator/advance.hpp>
 #include <boost/fusion/include/advance.hpp>
 
- + Example
typedef vector<int,int,int> vec;
diff --git a/doc/html/fusion/iterator/functions/advance_c.html b/doc/html/fusion/iterator/functions/advance_c.html
index 8214f469..f753bb8f 100644
--- a/doc/html/fusion/iterator/functions/advance_c.html
+++ b/doc/html/fusion/iterator/functions/advance_c.html
@@ -27,14 +27,14 @@
 advance_c
 
 
- + Description

Moves an iterator by a specified distance.

- + Synopsis
template<
@@ -44,7 +44,7 @@
 typename result_of::advance_c<I, N>::type advance_c(I const& i);
 
-

Table 1.7. Parameters

+

Table 1.7. Parameters

@@ -108,7 +108,7 @@

- + Expression Semantics
@@ -127,14 +127,14 @@ may be negative.

- + Header
#include <boost/fusion/iterator/advance.hpp>
 #include <boost/fusion/include/advance.hpp>
 
- + Example
typedef vector<int,int,int> vec;
diff --git a/doc/html/fusion/iterator/functions/deref.html b/doc/html/fusion/iterator/functions/deref.html
index e359d41d..4b8b3560 100644
--- a/doc/html/fusion/iterator/functions/deref.html
+++ b/doc/html/fusion/iterator/functions/deref.html
@@ -27,14 +27,14 @@
 deref
 
 
- + Description

Deferences an iterator.

- + Synopsis
template<
@@ -43,7 +43,7 @@
 typename result_of::deref<I>::type deref(I const& i);
 
-

Table 1.2. Parameters

+

Table 1.2. Parameters

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

- + Expression Semantics
@@ -102,14 +102,14 @@ i.

- + Header
#include <boost/fusion/iterator/deref.hpp>
 #include <boost/fusion/include/deref.hpp>
 
- + Example
typedef vector<int,int&> vec;
diff --git a/doc/html/fusion/iterator/functions/deref_data.html b/doc/html/fusion/iterator/functions/deref_data.html
index 75da8d04..0571e46c 100644
--- a/doc/html/fusion/iterator/functions/deref_data.html
+++ b/doc/html/fusion/iterator/functions/deref_data.html
@@ -27,7 +27,7 @@
 deref_data
 
 
- + Description

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

- + Synopsis
template<
@@ -44,7 +44,7 @@
 typename result_of::deref_data<I>::type deref(I const& i);
 
-

Table 1.8. Parameters

+

Table 1.8. Parameters

@@ -89,7 +89,7 @@

- + Expression Semantics
@@ -103,14 +103,14 @@ associated with the element referenced by an associative iterator i.

- + Header
#include <boost/fusion/iterator/deref_data.hpp>
 #include <boost/fusion/include/deref_data.hpp>
 
- + Example
typedef map<pair<float,int&> > map;
diff --git a/doc/html/fusion/iterator/functions/distance.html b/doc/html/fusion/iterator/functions/distance.html
index 33e2368e..d020ee9b 100644
--- a/doc/html/fusion/iterator/functions/distance.html
+++ b/doc/html/fusion/iterator/functions/distance.html
@@ -27,14 +27,14 @@
 distance
 
 
- + Description

Returns the distance between 2 iterators.

- + Synopsis
template<
@@ -44,7 +44,7 @@
 typename result_of::distance<I, J>::type distance(I const& i, J const& j);
 
-

Table 1.5. Parameters

+

Table 1.5. Parameters

@@ -89,7 +89,7 @@

- + Expression Semantics
@@ -103,14 +103,14 @@ iterators i and j.

- + Header
#include <boost/fusion/iterator/distance.hpp>
 #include <boost/fusion/include/distance.hpp>
 
- + Example
typedef vector<int,int,int> vec;
diff --git a/doc/html/fusion/iterator/functions/next.html b/doc/html/fusion/iterator/functions/next.html
index 55d4b0f6..d4a23dac 100644
--- a/doc/html/fusion/iterator/functions/next.html
+++ b/doc/html/fusion/iterator/functions/next.html
@@ -27,14 +27,14 @@
 next
 
 
- + Description

Moves an iterator 1 position forwards.

- + Synopsis
template<
@@ -43,7 +43,7 @@
 typename result_of::next<I>::type next(I const& i);
 
-

Table 1.3. Parameters

+

Table 1.3. Parameters

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

- + Expression Semantics
@@ -103,14 +103,14 @@ next element after i.

- + Header
#include <boost/fusion/iterator/next.hpp>
 #include <boost/fusion/include/next.hpp>
 
- + Example
typedef vector<int,int,int> vec;
diff --git a/doc/html/fusion/iterator/functions/prior.html b/doc/html/fusion/iterator/functions/prior.html
index 21080162..e8cf97aa 100644
--- a/doc/html/fusion/iterator/functions/prior.html
+++ b/doc/html/fusion/iterator/functions/prior.html
@@ -27,14 +27,14 @@
 prior
 
 
- + Description

Moves an iterator 1 position backwards.

- + Synopsis
template<
@@ -43,7 +43,7 @@
 typename result_of::prior<I>::type prior(I const& i);
 
-

Table 1.4. Parameters

+

Table 1.4. Parameters

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

- + Expression Semantics
@@ -103,14 +103,14 @@ element prior to i.

- + Header
#include <boost/fusion/iterator/prior.hpp>
 #include <boost/fusion/include/prior.hpp>
 
- + Example
typedef vector<int,int> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/advance.html b/doc/html/fusion/iterator/metafunctions/advance.html
index 99be19e1..8ccb489a 100644
--- a/doc/html/fusion/iterator/metafunctions/advance.html
+++ b/doc/html/fusion/iterator/metafunctions/advance.html
@@ -27,14 +27,14 @@
 advance
 
 
- + Description

Moves an iterator a specified distance.

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

Table 1.18. Parameters

+

Table 1.18. Parameters

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

- + Expression Semantics
@@ -130,14 +130,14 @@ may be negative.

- + Header
#include <boost/fusion/iterator/advance.hpp>
 #include <boost/fusion/include/advance.hpp>
 
- + Example
typedef vector<int,double,char> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/advance_c.html b/doc/html/fusion/iterator/metafunctions/advance_c.html
index 98a84ef4..4517ef6d 100644
--- a/doc/html/fusion/iterator/metafunctions/advance_c.html
+++ b/doc/html/fusion/iterator/metafunctions/advance_c.html
@@ -27,14 +27,14 @@
 advance_c
 
 
- + Description

Moves an iterator by a specified distance.

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

Table 1.19. Parameters

+

Table 1.19. Parameters

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

- + Expression Semantics
@@ -129,14 +129,14 @@ may be negative. Equivalent to result_of::advance<I, boost::mpl::int_<N> >::type.

- + Header
#include <boost/fusion/iterator/advance.hpp>
 #include <boost/fusion/include/advance.hpp>
 
- + Example
typedef vector<int,double,char> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/deref.html b/doc/html/fusion/iterator/metafunctions/deref.html
index 74b4df06..05669f95 100644
--- a/doc/html/fusion/iterator/metafunctions/deref.html
+++ b/doc/html/fusion/iterator/metafunctions/deref.html
@@ -27,14 +27,14 @@
 deref
 
 
- + Description

Returns the type that will be returned by dereferencing an iterator.

- + Synposis
template<
@@ -46,7 +46,7 @@
 };
 
-

Table 1.13. Parameters

+

Table 1.13. Parameters

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

- + Expression Semantics
@@ -105,14 +105,14 @@ an iterator of type I.

- + Header
#include <boost/fusion/iterator/deref.hpp>
 #include <boost/fusion/include/deref.hpp>
 
- + Example
typedef vector<int,int&> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/deref_data.html b/doc/html/fusion/iterator/metafunctions/deref_data.html
index 1a12dca3..2cdc0d97 100644
--- a/doc/html/fusion/iterator/metafunctions/deref_data.html
+++ b/doc/html/fusion/iterator/metafunctions/deref_data.html
@@ -27,7 +27,7 @@
 deref_data
 
 
- + Description

@@ -35,7 +35,7 @@ referenced by an associative iterator.

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

Table 1.22. Parameters

+

Table 1.22. Parameters

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

- + Expression Semantics
@@ -106,14 +106,14 @@ the data property referenced by an associative iterator of type I.

- + Header
#include <boosta/fusion/iterator/deref_data.hpp>
 #include <boost/fusion/include/deref_data.hpp>
 
- + Example
typedef map<pair<float,int> > map;
diff --git a/doc/html/fusion/iterator/metafunctions/distance.html b/doc/html/fusion/iterator/metafunctions/distance.html
index a77e7877..064d8098 100644
--- a/doc/html/fusion/iterator/metafunctions/distance.html
+++ b/doc/html/fusion/iterator/metafunctions/distance.html
@@ -27,14 +27,14 @@
 distance
 
 
- + Description

Returns the distance between two iterators.

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

Table 1.17. Parameters

+

Table 1.17. Parameters

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

- + Expression Semantics
@@ -108,14 +108,14 @@ J.

- + Header
#include <boost/fusion/iterator/distance.hpp>
 #include <boost/fusion/include/distance.hpp>
 
- + Example
typedef vector<int,double,char> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/equal_to.html b/doc/html/fusion/iterator/metafunctions/equal_to.html
index 9c56ac5e..97749d0c 100644
--- a/doc/html/fusion/iterator/metafunctions/equal_to.html
+++ b/doc/html/fusion/iterator/metafunctions/equal_to.html
@@ -27,7 +27,7 @@
 equal_to
 
 
- + Description

@@ -36,7 +36,7 @@ and J are equal.

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

Table 1.16. Parameters

+

Table 1.16. Parameters

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

- + Expression Semantics
@@ -109,14 +109,14 @@ Returns boost::mpl::false_ otherwise.

- + Header
#include <boost/fusion/iterator/equal_to.hpp>
 #include <boost/fusion/include/equal_to.hpp>
 
- + Example
typedef vector<int,double> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/key_of.html b/doc/html/fusion/iterator/metafunctions/key_of.html
index cf95f4d8..059aaa16 100644
--- a/doc/html/fusion/iterator/metafunctions/key_of.html
+++ b/doc/html/fusion/iterator/metafunctions/key_of.html
@@ -27,7 +27,7 @@
 key_of
 
 
- + Description

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

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

Table 1.20. Parameters

+

Table 1.20. Parameters

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

- + Expression Semantics
@@ -106,14 +106,14 @@ with the element referenced by an associative iterator I.

- + Header
#include <boost/fusion/iterator/key_of.hpp>
 #include <boost/fusion/include/key_of.hpp>
 
- + Example
typedef map<pair<float,int> > vec;
diff --git a/doc/html/fusion/iterator/metafunctions/next.html b/doc/html/fusion/iterator/metafunctions/next.html
index cb02eff3..5f7148f0 100644
--- a/doc/html/fusion/iterator/metafunctions/next.html
+++ b/doc/html/fusion/iterator/metafunctions/next.html
@@ -27,14 +27,14 @@
 next
 
 
- + Description

Returns the type of the next iterator in a sequence.

- + Synposis
template<
@@ -46,7 +46,7 @@
 };
 
-

Table 1.14. Parameters

+

Table 1.14. Parameters

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

- + Expression Semantics
@@ -106,14 +106,14 @@ next element in the sequence after I.

- + Header
#include <boost/fusion/iterator/next.hpp>
 #include <boost/fusion/include/next.hpp>
 
- + Example
typedef vector<int,double> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/prior.html b/doc/html/fusion/iterator/metafunctions/prior.html
index cdaa37bd..31d91aac 100644
--- a/doc/html/fusion/iterator/metafunctions/prior.html
+++ b/doc/html/fusion/iterator/metafunctions/prior.html
@@ -27,14 +27,14 @@
 prior
 
 
- + Description

Returns the type of the previous iterator in a sequence.

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

Table 1.15. Parameters

+

Table 1.15. Parameters

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

- + Expression Semantics
@@ -106,14 +106,14 @@ previous element in the sequence before I.

- + Header
#include <boost/fusion/iterator/prior.hpp>
 #include <boost/fusion/include/prior.hpp>
 
- + Example
typedef vector<int,double> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/value_of.html b/doc/html/fusion/iterator/metafunctions/value_of.html
index 61c2e513..3d6f027f 100644
--- a/doc/html/fusion/iterator/metafunctions/value_of.html
+++ b/doc/html/fusion/iterator/metafunctions/value_of.html
@@ -27,14 +27,14 @@
 value_of
 
 
- + Description

Returns the type stored at the position of an iterator.

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

Table 1.12. Parameters

+

Table 1.12. Parameters

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

- + Expression Semantics
@@ -105,14 +105,14 @@ a sequence at iterator position I.

- + Header
#include <boost/fusion/iterator/value_of.hpp>
 #include <boost/fusion/include/value_of.hpp>
 
- + Example
typedef vector<int,int&,const int&> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/value_of_data.html b/doc/html/fusion/iterator/metafunctions/value_of_data.html
index 4f0e122c..de0860e4 100644
--- a/doc/html/fusion/iterator/metafunctions/value_of_data.html
+++ b/doc/html/fusion/iterator/metafunctions/value_of_data.html
@@ -27,7 +27,7 @@
 value_of_data
 
 
- + Description

@@ -35,7 +35,7 @@ by an associative iterator references.

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

Table 1.21. Parameters

+

Table 1.21. Parameters

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

- + Expression Semantics
@@ -107,14 +107,14 @@ I.

- + Header
#include <boost/fusion/iterator/value_of_data.hpp>
 #include <boost/fusion/include/value_of_data.hpp>
 
- + Example
typedef map<pair<float,int> > vec;
diff --git a/doc/html/fusion/iterator/operator/operator_equality.html b/doc/html/fusion/iterator/operator/operator_equality.html
index 6e5dec26..cda467a7 100644
--- a/doc/html/fusion/iterator/operator/operator_equality.html
+++ b/doc/html/fusion/iterator/operator/operator_equality.html
@@ -28,14 +28,14 @@
         ==
 
 
- + Description

Compares 2 iterators for equality.

- + Synopsis
template<
@@ -45,7 +45,7 @@
 unspecified operator==(I const& i, J const& i);
 
-

Table 1.10. Parameters

+

Table 1.10. Parameters

@@ -89,7 +89,7 @@

- + Expression Semantics
@@ -104,7 +104,7 @@ and j respectively.

- + Header
#include <boost/fusion/iterator/equal_to.hpp>
diff --git a/doc/html/fusion/iterator/operator/operator_inequality.html b/doc/html/fusion/iterator/operator/operator_inequality.html
index a369b84f..7d335e31 100644
--- a/doc/html/fusion/iterator/operator/operator_inequality.html
+++ b/doc/html/fusion/iterator/operator/operator_inequality.html
@@ -28,14 +28,14 @@
         !=
 
 
- + Description

Compares 2 iterators for inequality.

- + Synopsis
template<
@@ -45,7 +45,7 @@
 unspecified operator==(I const& i, J const& i);
 
-

Table 1.11. Parameters

+

Table 1.11. Parameters

@@ -89,7 +89,7 @@

- + Expression Semantics
@@ -102,7 +102,7 @@ and j respectively.

- + Header
#include <boost/fusion/iterator/equal_to.hpp>
diff --git a/doc/html/fusion/iterator/operator/operator_unary_star.html b/doc/html/fusion/iterator/operator/operator_unary_star.html
index 5d58808f..2d83eb63 100644
--- a/doc/html/fusion/iterator/operator/operator_unary_star.html
+++ b/doc/html/fusion/iterator/operator/operator_unary_star.html
@@ -28,14 +28,14 @@
         *
 
 
- + Description

Dereferences an iterator.

- + Synopsis
template<
@@ -44,7 +44,7 @@
 typename result_of::deref<I>::type operator*(unspecified<I> const& i);
 
-

Table 1.9. Parameters

+

Table 1.9. Parameters

@@ -89,7 +89,7 @@

- + Expression Semantics
@@ -103,14 +103,14 @@ Semantics: Equivalent to deref(i).

- + Header
#include <boost/fusion/iterator/deref.hpp>
 #include <boost/fusion/include/deref.hpp>
 
- + Example
typedef vector<int,int&> vec;
diff --git a/doc/html/fusion/notes.html b/doc/html/fusion/notes.html
index ac2ed77f..136b2755 100644
--- a/doc/html/fusion/notes.html
+++ b/doc/html/fusion/notes.html
@@ -27,7 +27,7 @@
 Notes
 
 

- + Recursive Inlined Functions

@@ -40,7 +40,7 @@ remains linear.

- + Overloaded Functions

@@ -50,7 +50,7 @@ given a key, k.

- + Tag Dispatching

@@ -101,7 +101,7 @@

- + Extensibility

@@ -136,7 +136,7 @@ it very cheap to pass around.

- + Element Conversion

@@ -158,7 +158,7 @@

Array arguments are deduced to reference to const types. For example - [10] + [10] :

make_list("Donald", "Daisy")
@@ -187,7 +187,7 @@
 
list<void (*)(int)>
 

- + boost::ref

@@ -227,7 +227,7 @@



-

[10] +

[10] Note that the type of a string literal is an array of const characters, not const char*. To get make_list to create a list with an element of a non-const array type one must use the ref diff --git a/doc/html/fusion/organization.html b/doc/html/fusion/organization.html index 834b365b..cc9d17eb 100644 --- a/doc/html/fusion/organization.html +++ b/doc/html/fusion/organization.html @@ -35,7 +35,7 @@ The library is organized in three layers:

- + Layers

@@ -66,7 +66,7 @@ against.

- + Directory

    @@ -187,7 +187,7 @@

- + Example

@@ -202,12 +202,12 @@

The first includes all containers The second includes only list - [4] + [4] .



-

[4] +

[4] Modules may contain smaller components. Header file information for each component will be provided as part of the component's documentation.

diff --git a/doc/html/fusion/preface.html b/doc/html/fusion/preface.html index 8c75a16a..12b1ada6 100644 --- a/doc/html/fusion/preface.html +++ b/doc/html/fusion/preface.html @@ -45,7 +45,7 @@

- + Description

@@ -63,7 +63,7 @@ of compile time metaprogramming with runtime programming.

- + Motivation

@@ -89,7 +89,7 @@ an instant AHA! moment.

- + How to use this manual

@@ -97,7 +97,7 @@ icons precede some text to indicate:

-

Table 1.1. Icons

+

Table 1.1. Icons

@@ -200,7 +200,7 @@ Tools.

- + Support

diff --git a/doc/html/fusion/quick_start.html b/doc/html/fusion/quick_start.html index 84a8f8c0..30db5d86 100644 --- a/doc/html/fusion/quick_start.html +++ b/doc/html/fusion/quick_start.html @@ -34,7 +34,7 @@

For starters, we shall include all of Fusion's Sequence(s) - [2] + [2] :

#include <boost/fusion/sequence.hpp>
@@ -42,7 +42,7 @@
 

Let's begin with a vector - [3] + [3] :

vector<int, char, std::string> stuff(1, 'x', "howdy");
@@ -59,7 +59,7 @@
       Let's see some examples.
     

- + Print the vector as XML

@@ -114,7 +114,7 @@ print just about any Fusion Sequence.

- + Print only pointers

@@ -146,7 +146,7 @@ Easy, right?

- + Associative tuples

@@ -218,7 +218,7 @@ a dog or a whole alternate_universe.

- + Tip of the Iceberg

@@ -229,12 +229,12 @@



-

[2] +

[2] There are finer grained header files available if you wish to have more control over which components to include (see section Orgainization for details).

-

[3] +

[3] Unless otherwise noted, components are in namespace boost::fusion. For the sake of simplicity, code in this quick start implies using directives for the fusion components we will be using. diff --git a/doc/html/fusion/sequence.html b/doc/html/fusion/sequence.html index 9ac77d61..0237b02f 100644 --- a/doc/html/fusion/sequence.html +++ b/doc/html/fusion/sequence.html @@ -60,7 +60,7 @@ type that can be used to iterate through the Sequence's elements.

- + Header

#include <boost/fusion/sequence.hpp>
diff --git a/doc/html/fusion/sequence/concepts.html b/doc/html/fusion/sequence/concepts.html
index 8c9d4416..e03744c4 100644
--- a/doc/html/fusion/sequence/concepts.html
+++ b/doc/html/fusion/sequence/concepts.html
@@ -40,7 +40,7 @@
         Fusion Sequences are organized into a hierarchy of concepts.
       

- + Traversal

@@ -53,7 +53,7 @@ Sequence. These concepts pertain to sequence traversal.

- + Associativity

diff --git a/doc/html/fusion/sequence/concepts/associative_sequence.html b/doc/html/fusion/sequence/concepts/associative_sequence.html index 25e0d5bb..112128d7 100644 --- a/doc/html/fusion/sequence/concepts/associative_sequence.html +++ b/doc/html/fusion/sequence/concepts/associative_sequence.html @@ -28,7 +28,7 @@ Sequence

- + Description

@@ -64,7 +64,7 @@

- + Valid Expressions
@@ -173,7 +173,7 @@
- + Result Type Expressions
@@ -248,7 +248,7 @@

- + Expression Semantics
@@ -303,7 +303,7 @@
- + Models
    diff --git a/doc/html/fusion/sequence/concepts/bidirectional_sequence.html b/doc/html/fusion/sequence/concepts/bidirectional_sequence.html index 132d9916..90ff6fe9 100644 --- a/doc/html/fusion/sequence/concepts/bidirectional_sequence.html +++ b/doc/html/fusion/sequence/concepts/bidirectional_sequence.html @@ -28,7 +28,7 @@ Sequence
- + Description

@@ -37,7 +37,7 @@ Iterator.

- + Refinement of
@@ -66,7 +66,7 @@
- + Valid Expressions
@@ -198,7 +198,7 @@
- + Result Type Expressions
@@ -259,7 +259,7 @@
- + Expression Semantics
@@ -299,7 +299,7 @@
- + Models
    diff --git a/doc/html/fusion/sequence/concepts/forward_sequence.html b/doc/html/fusion/sequence/concepts/forward_sequence.html index 6a05ae7c..eabae2b3 100644 --- a/doc/html/fusion/sequence/concepts/forward_sequence.html +++ b/doc/html/fusion/sequence/concepts/forward_sequence.html @@ -28,7 +28,7 @@ Sequence
- + Description

@@ -60,7 +60,7 @@

- + Valid Expressions
@@ -235,7 +235,7 @@
- + Result Type Expressions
@@ -320,7 +320,7 @@
- + Expression Semantics
@@ -408,7 +408,7 @@
- + Invariants

@@ -434,7 +434,7 @@

- + Models
    diff --git a/doc/html/fusion/sequence/concepts/random_access_sequence.html b/doc/html/fusion/sequence/concepts/random_access_sequence.html index 60a8d941..11e427a8 100644 --- a/doc/html/fusion/sequence/concepts/random_access_sequence.html +++ b/doc/html/fusion/sequence/concepts/random_access_sequence.html @@ -28,7 +28,7 @@ Access Sequence
- + Description

@@ -38,7 +38,7 @@ sequence elements.

- + Refinement of
@@ -73,7 +73,7 @@
- + Valid Expressions
@@ -205,7 +205,7 @@
- + Result Type Expressions
@@ -291,7 +291,7 @@

- + Expression Semantics
@@ -331,7 +331,7 @@
- + Models
    diff --git a/doc/html/fusion/sequence/intrinsic.html b/doc/html/fusion/sequence/intrinsic.html index 6d30ff33..c6533810 100644 --- a/doc/html/fusion/sequence/intrinsic.html +++ b/doc/html/fusion/sequence/intrinsic.html @@ -37,11 +37,11 @@ Intrinsic functions, unlike Algorithms, are not generic across the full Sequence repertoire. They need to be implemented for each Fusion Sequence - [5] + [5] .

    - + Header
    #include <boost/fusion/sequence/intrinsic.hpp>
    @@ -49,7 +49,7 @@
     


    -

    [5] +

    [5] In practice, many of intrinsic functions have default implementations that will work in majority of cases

    diff --git a/doc/html/fusion/sequence/intrinsic/functions/at.html b/doc/html/fusion/sequence/intrinsic/functions/at.html index a4045cb7..6b238d34 100644 --- a/doc/html/fusion/sequence/intrinsic/functions/at.html +++ b/doc/html/fusion/sequence/intrinsic/functions/at.html @@ -27,14 +27,14 @@ at
- + Description

Returns the N-th element from the beginning of the sequence.

- + Synopsis
template <typename N, typename Sequence>
@@ -46,7 +46,7 @@
 at(Sequence const& seq);
 
- + Parameters
@@ -112,7 +112,7 @@
- + Expression Semantics
@@ -138,14 +138,14 @@
deref(advance<N>(begin(s)))
 
- + Header
#include <boost/fusion/sequence/intrinsic/at.hpp>
 #include <boost/fusion/include/at.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/at_c.html b/doc/html/fusion/sequence/intrinsic/functions/at_c.html
index 13e30a8b..460e4a86 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/at_c.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/at_c.html
@@ -27,14 +27,14 @@
 at_c
 
 
- + Description

Returns the N-th element from the beginning of the sequence.

- + Synopsis
template <int N, typename Sequence>
@@ -46,7 +46,7 @@
 at_c(Sequence const& seq);
 
- + Parameters
@@ -111,7 +111,7 @@
- + Expression Semantics
@@ -138,14 +138,14 @@
deref(advance<N>(begin(s)))
 
- + Header
#include <boost/fusion/sequence/intrinsic/at_c.hpp>
 #include <boost/fusion/include/at_c.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/at_key.html b/doc/html/fusion/sequence/intrinsic/functions/at_key.html
index ee965e59..71d1473a 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/at_key.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/at_key.html
@@ -27,14 +27,14 @@
 at_key
 
 
- + Description

Returns the element associated with a Key from the sequence.

- + Synopsis
template <typename Key, typename Sequence>
@@ -46,7 +46,7 @@
 at_key(Sequence const& seq);
 
- + Parameters
@@ -111,7 +111,7 @@
- + Expression Semantics
@@ -134,14 +134,14 @@ with Key.

- + Header
#include <boost/fusion/sequence/intrinsic/at_key.hpp>
 #include <boost/fusion/include/at_key.hpp>
 
- + Example
set<int, char, bool> s(1, 'x', true);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/back.html b/doc/html/fusion/sequence/intrinsic/functions/back.html
index 31a0119a..1b90a50b 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/back.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/back.html
@@ -27,14 +27,14 @@
 back
 
 
- + Description

Returns the last element in the sequence.

- + Synopsis
template <typename Sequence>
@@ -46,7 +46,7 @@
 back(Sequence const& seq);
 
- + Parameters
@@ -92,7 +92,7 @@
- + Expression Semantics
@@ -115,14 +115,14 @@ in the sequence.

- + Header
#include <boost/fusion/sequence/intrinsic/back.hpp>
 #include <boost/fusion/include/back.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/begin.html b/doc/html/fusion/sequence/intrinsic/functions/begin.html
index 12791c47..0fecc065 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/begin.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/begin.html
@@ -27,14 +27,14 @@
 begin
 
 
- + Description

Returns an iterator pointing to the first element in the sequence.

- + Synopsis
template <typename Sequence>
@@ -46,7 +46,7 @@
 begin(Sequence const& seq);
 
- + Parameters
@@ -92,7 +92,7 @@
- + Expression Semantics
@@ -126,14 +126,14 @@ to the first element in the sequence.

- + Header
#include <boost/fusion/sequence/intrinsic/begin.hpp>
 #include <boost/fusion/include/begin.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/empty.html b/doc/html/fusion/sequence/intrinsic/functions/empty.html
index 964ef5cd..189ac4ed 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/empty.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/empty.html
@@ -27,7 +27,7 @@
 empty
 
 
- + Description

@@ -36,7 +36,7 @@ the sequence is empty, else, evaluates to false.

- + Synopsis
template <typename Sequence>
@@ -44,7 +44,7 @@
 empty(Sequence const& seq);
 
- + Parameters
@@ -90,7 +90,7 @@
- + Expression Semantics
@@ -104,14 +104,14 @@ to false.

- + Header
#include <boost/fusion/sequence/intrinsic/empty.hpp>
 #include <boost/fusion/include/empty.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/end.html b/doc/html/fusion/sequence/intrinsic/functions/end.html
index 2a7c7d79..198059b4 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/end.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/end.html
@@ -27,14 +27,14 @@
 end
 
 
- + Description

Returns an iterator pointing to one element past the end of the sequence.

- + Synopsis
template <typename Sequence>
@@ -46,7 +46,7 @@
 end(Sequence const& seq);
 
- + Parameters
@@ -92,7 +92,7 @@
- + Expression Semantics
@@ -126,14 +126,14 @@ to one element past the end of the sequence.

- + Header
#include <boost/fusion/sequence/intrinsic/end.hpp>
 #include <boost/fusion/include/end.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/front.html b/doc/html/fusion/sequence/intrinsic/functions/front.html
index 60488cc8..e4952117 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/front.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/front.html
@@ -27,14 +27,14 @@
 front
 
 
- + Description

Returns the first element in the sequence.

- + Synopsis
template <typename Sequence>
@@ -46,7 +46,7 @@
 front(Sequence const& seq);
 
- + Parameters
@@ -92,7 +92,7 @@
- + Expression Semantics
@@ -115,14 +115,14 @@ in the sequence.

- + Header
#include <boost/fusion/sequence/intrinsic/front.hpp>
 #include <boost/fusion/include/front.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/has_key.html b/doc/html/fusion/sequence/intrinsic/functions/has_key.html
index 3cb7858d..a0deb313 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/has_key.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/has_key.html
@@ -27,7 +27,7 @@
 has_key
 
 
- + Description

@@ -37,7 +37,7 @@ to false.

- + Synopsis
template <typename Key, typename Sequence>
@@ -45,7 +45,7 @@
 has_key(Sequence const& seq);
 
- + Parameters
@@ -110,7 +110,7 @@
- + Expression Semantics
@@ -124,14 +124,14 @@ associated with Key, else, evaluates to false.

- + Header
#include <boost/fusion/sequence/intrinsic/has_key.hpp>
 #include <boost/fusion/include/has_key.hpp>
 
- + Example
set<int, char, bool> s(1, 'x', true);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/size.html b/doc/html/fusion/sequence/intrinsic/functions/size.html
index c2d8f23a..01053c63 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/size.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/size.html
@@ -27,7 +27,7 @@
 size
 
 
- + Description

@@ -35,7 +35,7 @@ that evaluates the number of elements in the sequence.

- + Synopsis
template <typename Sequence>
@@ -43,7 +43,7 @@
 size(Sequence const& seq);
 
- + Parameters
@@ -89,7 +89,7 @@
- + Expression Semantics
@@ -103,14 +103,14 @@ in the sequence.

- + Header
#include <boost/fusion/sequence/intrinsic/size.hpp>
 #include <boost/fusion/include/size.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/swap.html b/doc/html/fusion/sequence/intrinsic/functions/swap.html
index fbdecfa1..45fd0915 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/swap.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/swap.html
@@ -27,21 +27,21 @@
 swap
 
 
- + Description

Performs an element by element swap of the elements in 2 sequences.

- + Synopsis
template<typename Seq1, typename Seq2>
 void swap(Seq1& seq1, Seq2& seq2);
 
- + Parameters
@@ -87,7 +87,7 @@
- + Expression Semantics
@@ -106,7 +106,7 @@ /sequence/intrinsic/swap.hpp>

- + Example
vector<int, std::string> v1(1, "hello"), v2(2, "world");
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/at.html b/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
index 7e11d1b8..beaaa059 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
@@ -27,16 +27,16 @@
 at
 
 
- + Description

Returns the result type of at - [6] + [6] .

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

Table 1.29. Parameters

+

Table 1.29. Parameters

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

- + Expression Semantics
@@ -127,14 +127,14 @@ using at to access the Nth element of Seq.

- + Header
#include <boost/fusion/sequence/intrinsic/at.hpp>
 #include <boost/fusion/include/at.hpp>
 
- + Example
typedef vector<int,float,char> vec;
@@ -142,7 +142,7 @@
 


-

[6] +

[6] result_of::at reflects the actual return type of the function at. Sequence(s) typically return references to its elements via the at function. If you want diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html b/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html index bc220490..eceb3bb3 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html @@ -27,16 +27,16 @@ at_c

- + Description

Returns the result type of at_c - [7] + [7] .

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

Table 1.30. Parameters

+

Table 1.30. Parameters

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

- + Expression Semantics
@@ -126,14 +126,14 @@ using at_c to access the Mth element of Seq.

- + Header
#include <boost/fusion/sequence/intrinsic/at.hpp>
 #include <boost/fusion/include/at.hpp>
 
- + Example
typedef vector<int,float,char> vec;
@@ -141,7 +141,7 @@
 


-

[7] +

[7] result_of::at_c reflects the actual return type of the function at_c. Sequence(s) typically return references to its elements via the at_c function. If you want diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html b/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html index ebc90bb5..afe9657d 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html @@ -27,16 +27,16 @@ at_key

- + Description

Returns the result type of at_key - [8] + [8] .

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

Table 1.34. Parameters

+

Table 1.34. Parameters

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

- + Expression Semantics
@@ -128,14 +128,14 @@ Seq.

- + Header
#include <boost/fusion/sequence/intrinsic/at_key.hpp>
 #include <boost/fusion/include/at_key.hpp>
 
- + Example
typedef map<pair<int, char>, pair<char, char>, pair<double, char> > mymap;
@@ -143,7 +143,7 @@
 


-

[8] +

[8] result_of::at_key reflects the actual return type of the function at_key. _sequence_s typically return references to its elements via the at_key function. If you diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/back.html b/doc/html/fusion/sequence/intrinsic/metafunctions/back.html index c30cd59c..9313c5f2 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/back.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/back.html @@ -27,14 +27,14 @@ back

- + Description

Returns the result type of back.

- + Synopsis
template<typename Seq>
@@ -44,7 +44,7 @@
 };
 
-

Table 1.27. Parameters

+

Table 1.27. Parameters

@@ -89,7 +89,7 @@

- + Expression Semantics
@@ -103,14 +103,14 @@ an iterator to the last element in the sequence. Equivalent to result_of::deref<result_of::prior<result_of::end<Seq>::type>::type>::type.

- + Header
#include <boost/fusion/sequence/intrinsic/back.hpp>
 #include <boost/fusion/include/back.hpp>
 
- + Example
typedef vector<int,char> vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html b/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html
index 8087c7c5..0439f6e4 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html
@@ -27,14 +27,14 @@
 begin
 
 
- + Description

Returns the result type of begin.

- + Synopsis
template<typename Seq>
@@ -44,7 +44,7 @@
 };
 
-

Table 1.23. Parameters

+

Table 1.23. Parameters

@@ -89,7 +89,7 @@

- + Expression Semantics
@@ -123,14 +123,14 @@ to the first element of Seq.

- + Header
#include <boost/fusion/sequence/intrinsic/begin.hpp>
 #include <boost/fusion/include/begin.hpp>
 
- + Example
typedef vector<int> vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html b/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html
index 117214ea..bf5780f8 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html
@@ -27,14 +27,14 @@
 empty
 
 
- + Description

Returns the result type of empty.

- + Synopsis
template<typename Seq>
@@ -44,7 +44,7 @@
 };
 
-

Table 1.25. Parameters

+

Table 1.25. Parameters

@@ -89,7 +89,7 @@

- + Expression Semantics
@@ -105,14 +105,14 @@ mpl::false_ otherwise.

- + Header
#include <boost/fusion/sequence/intrinsic/empty.hpp>
 #include <boost/fusion/include/empty.hpp>
 
- + Example
typedef vector<> empty_vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/end.html b/doc/html/fusion/sequence/intrinsic/metafunctions/end.html
index e7904a43..e0bf04ac 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/end.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/end.html
@@ -27,14 +27,14 @@
 end
 
 
- + Description

Returns the result type of end.

- + Synopsis
template<typename Seq>
@@ -44,7 +44,7 @@
 };
 
-

Table 1.24. Parameters

+

Table 1.24. Parameters

@@ -89,7 +89,7 @@

- + Expression Semantics
@@ -123,14 +123,14 @@ one past the end of Seq.

- + Header
#include <boost/fusion/sequence/intrinsic/end.hpp>
 #include <boost/fusion/include/end.hpp>
 
- + Example
typedef vector<int> vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/front.html b/doc/html/fusion/sequence/intrinsic/metafunctions/front.html
index 5c5422aa..f124c135 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/front.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/front.html
@@ -27,14 +27,14 @@
 front
 
 
- + Description

Returns the result type of front.

- + Synopsis
template<typename Seq>
@@ -44,7 +44,7 @@
 };
 
-

Table 1.26. Parameters

+

Table 1.26. Parameters

@@ -89,7 +89,7 @@

- + Expression Semantics
@@ -104,14 +104,14 @@ Equivalent to result_of::deref<result_of::begin<Seq>::type>::type.

- + Header
#include <boost/fusion/sequence/intrinsic/front.hpp>
 #include <boost/fusion/include/front.hpp>
 
- + Example
typedef vector<int,char> vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/has_key.html b/doc/html/fusion/sequence/intrinsic/metafunctions/has_key.html
index f0647c90..fc2958f6 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/has_key.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/has_key.html
@@ -27,14 +27,14 @@
 has_key
 
 
- + Description

Returns the result type of has_key.

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

Table 1.33. Parameters

+

Table 1.33. Parameters

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

- + Expression Semantics
@@ -127,14 +127,14 @@ mpl::false_ otherwise.

- + Header
#include <boost/fusion/sequence/intrinsic/has_key.hpp>
 #include <boost/fusion/include/has_key.hpp>
 
- + Example
typedef map<pair<int, char>, pair<char, char>, pair<double, char> > mymap;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/size.html b/doc/html/fusion/sequence/intrinsic/metafunctions/size.html
index cf1e6e0b..239501e2 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/size.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/size.html
@@ -27,14 +27,14 @@
 size
 
 
- + Description

Returns the result type of size.

- + Synopsis
template<typename Seq>
@@ -44,7 +44,7 @@
 };
 
-

Table 1.28. Parameters

+

Table 1.28. Parameters

@@ -89,7 +89,7 @@

- + Expression Semantics
@@ -104,14 +104,14 @@ in Seq.

- + Header
#include <boost/fusion/sequence/intrinsic/size.hpp>
 #include <boost/fusion/include/size.hpp>
 
- + Example
typedef vector<int,float,char> vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/swap.html b/doc/html/fusion/sequence/intrinsic/metafunctions/swap.html
index 454dc76e..2b238078 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/swap.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/swap.html
@@ -27,14 +27,14 @@
 swap
 
 
- + Description

Returns the return type of swap.

- + Synopsis
template<typename Seq1, typename Seq2>
@@ -44,7 +44,7 @@
 };
 
-

Table 1.36. Parameters

+

Table 1.36. Parameters

@@ -89,7 +89,7 @@

- + Expression Semantics
@@ -102,7 +102,7 @@ Semantics: Always returns void.

- + Header
#include <boost/fusion/sequence/intrinsic/swap.hpp>
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html
index 3dea78bd..9b9f23a0 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html
@@ -27,14 +27,14 @@
 value_at
 
 
- + Description

Returns the actual type at a given index from the Sequence.

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

Table 1.31. Parameters

+

Table 1.31. Parameters

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

- + Expression Semantics
@@ -125,14 +125,14 @@ the Nth element of Seq.

- + Header
#include <boost/fusion/sequence/intrinsic/value_at.hpp>
 #include <boost/fusion/include/value_at.hpp>
 
- + Example
typedef vector<int,float,char> vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_c.html b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_c.html
index 84fb61dc..60556106 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_c.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_c.html
@@ -27,14 +27,14 @@
 value_at_c
 
 
- + Description

Returns the actual type at a given index from the Sequence.

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

Table 1.32. Parameters

+

Table 1.32. Parameters

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

- + Expression Semantics
@@ -124,14 +124,14 @@ the Mth element of Seq.

- + Header
#include <boost/fusion/sequence/intrinsic/value_at.hpp>
 #include <boost/fusion/include/value_at.hpp>
 
- + Example
typedef vector<int,float,char> vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_key.html b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_key.html
index 0f1cc0bd..191e89f1 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_key.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_key.html
@@ -27,14 +27,14 @@
 value_at_key
 
 
- + Description

Returns the actual element type associated with a Key from the Sequence.

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

Table 1.35. Parameters

+

Table 1.35. Parameters

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

- + Expression Semantics
@@ -125,14 +125,14 @@ in Seq.

- + Header
#include <boost/fusion/sequence/intrinsic/value_at_key.hpp>
 #include <boost/fusion/include/value_at_key.hpp>
 
- + Example
typedef map<pair<int, char>, pair<char, char>, pair<double, char> > mymap;
diff --git a/doc/html/fusion/sequence/operator/comparison.html b/doc/html/fusion/sequence/operator/comparison.html
index 45064312..0596082b 100644
--- a/doc/html/fusion/sequence/operator/comparison.html
+++ b/doc/html/fusion/sequence/operator/comparison.html
@@ -49,7 +49,7 @@
           only until the result is clear.
         

- + Header
#include <boost/fusion/sequence/comparison.hpp>
diff --git a/doc/html/fusion/sequence/operator/comparison/equal.html b/doc/html/fusion/sequence/operator/comparison/equal.html
index 6f1b1ac7..fab7b475 100644
--- a/doc/html/fusion/sequence/operator/comparison/equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/equal.html
@@ -27,14 +27,14 @@
 equal
 
 
- + Description

Compare two sequences for equality.

- + Synopsis
template <typename Seq1, typename Seq2>
@@ -42,7 +42,7 @@
 operator==(Seq1 const& a, Seq2 const& b);
 
- + Parameters
@@ -88,7 +88,7 @@
- + Expression Semantics
@@ -123,14 +123,14 @@ true.

- + Header
#include <boost/fusion/sequence/comparison/equal_to.hpp>
 #include <boost/fusion/include/equal_to.hpp>
 
- + Example
vector<int, char> v1(5, 'a');
diff --git a/doc/html/fusion/sequence/operator/comparison/greater_than.html b/doc/html/fusion/sequence/operator/comparison/greater_than.html
index 50566866..58d0cc85 100644
--- a/doc/html/fusion/sequence/operator/comparison/greater_than.html
+++ b/doc/html/fusion/sequence/operator/comparison/greater_than.html
@@ -31,7 +31,7 @@
             Lexicographically compare two sequences.
           

- + Synopsis
template <typename Seq1, typename Seq2>
@@ -39,7 +39,7 @@
 operator>(Seq1 const& a, Seq2 const& b);
 
- + Parameters
@@ -85,7 +85,7 @@
- + Expression Semantics
@@ -112,14 +112,14 @@ Semantics: Returns b < a.

- + Header
#include <boost/fusion/sequence/comparison/less_equal.hpp>
 #include <boost/fusion/include/less_equal.hpp>
 
- + Example
vector<int, float> v1(4, 3.3f);
diff --git a/doc/html/fusion/sequence/operator/comparison/greater_than_equal.html b/doc/html/fusion/sequence/operator/comparison/greater_than_equal.html
index e5518b0d..e7c3d51f 100644
--- a/doc/html/fusion/sequence/operator/comparison/greater_than_equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/greater_than_equal.html
@@ -31,7 +31,7 @@
             Lexicographically compare two sequences.
           

- + Synopsis
template <typename Seq1, typename Seq2>
@@ -39,7 +39,7 @@
 operator>=(Seq1 const& a, Seq2 const& b);
 
- + Parameters
@@ -85,7 +85,7 @@
- + Expression Semantics
@@ -112,14 +112,14 @@ Semantics: Returns !(a < b).

- + Header
#include <boost/fusion/sequence/comparison/greater_equal.hpp>
 #include <boost/fusion/include/greater_equal.hpp>
 
- + Example
vector<int, float> v1(4, 3.3f);
diff --git a/doc/html/fusion/sequence/operator/comparison/less_than.html b/doc/html/fusion/sequence/operator/comparison/less_than.html
index 2ca2f506..34e2931f 100644
--- a/doc/html/fusion/sequence/operator/comparison/less_than.html
+++ b/doc/html/fusion/sequence/operator/comparison/less_than.html
@@ -31,7 +31,7 @@
             Lexicographically compare two sequences.
           

- + Synopsis
template <typename Seq1, typename Seq2>
@@ -39,7 +39,7 @@
 operator<(Seq1 const& a, Seq2 const& b);
 
- + Parameters
@@ -85,7 +85,7 @@
- + Expression Semantics
@@ -114,14 +114,14 @@ and b.

- + Header
#include <boost/fusion/sequence/comparison/less.hpp>
 #include <boost/fusion/include/less.hpp>
 
- + Example
vector<int, float> v1(4, 3.3f);
diff --git a/doc/html/fusion/sequence/operator/comparison/less_than_equal.html b/doc/html/fusion/sequence/operator/comparison/less_than_equal.html
index 773ee7ff..557372eb 100644
--- a/doc/html/fusion/sequence/operator/comparison/less_than_equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/less_than_equal.html
@@ -31,7 +31,7 @@
             Lexicographically compare two sequences.
           

- + Synopsis
template <typename Seq1, typename Seq2>
@@ -39,7 +39,7 @@
 operator<=(Seq1 const& a, Seq2 const& b);
 
- + Parameters
@@ -85,7 +85,7 @@
- + Expression Semantics
@@ -112,14 +112,14 @@ Semantics: Returns !(b < a).

- + Header
#include <boost/fusion/sequence/comparison/less_equal.hpp>
 #include <boost/fusion/include/less_equal.hpp>
 
- + Example
vector<int, float> v1(4, 3.3f);
diff --git a/doc/html/fusion/sequence/operator/comparison/not_equal.html b/doc/html/fusion/sequence/operator/comparison/not_equal.html
index 181eeb50..d0415d0c 100644
--- a/doc/html/fusion/sequence/operator/comparison/not_equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/not_equal.html
@@ -31,7 +31,7 @@
             Compare two sequences for inequality.
           

- + Synopsis
template <typename Seq1, typename Seq2>
@@ -39,7 +39,7 @@
 operator!=(Seq1 const& a, Seq2 const& b);
 
- + Parameters
@@ -85,7 +85,7 @@
- + Expression Semantics
@@ -115,14 +115,14 @@ Returns !(a == b).

- + Header
#include <boost/fusion/sequence/comparison/not_equal_to.hpp>
 #include <boost/fusion/include/not_equal_to.hpp>
 
- + Example
vector<int, char> v3(5, 'b');
diff --git a/doc/html/fusion/sequence/operator/i_o.html b/doc/html/fusion/sequence/operator/i_o.html
index 20259656..c9ca2dfb 100644
--- a/doc/html/fusion/sequence/operator/i_o.html
+++ b/doc/html/fusion/sequence/operator/i_o.html
@@ -113,7 +113,7 @@
           representation may not be unambiguously parseable.
         

- + Header
#include <boost/fusion/sequence/io.hpp>
diff --git a/doc/html/fusion/sequence/operator/i_o/in.html b/doc/html/fusion/sequence/operator/i_o/in.html
index 3456c76e..e033e261 100644
--- a/doc/html/fusion/sequence/operator/i_o/in.html
+++ b/doc/html/fusion/sequence/operator/i_o/in.html
@@ -27,7 +27,7 @@
 in
 
 
- + Description

@@ -35,7 +35,7 @@ stream.

- + Synopsis
template <typename IStream, typename Sequence>
@@ -43,7 +43,7 @@
 operator>>(IStream& is, Sequence& seq);
 
- + Parameters
@@ -107,7 +107,7 @@
- + Expression Semantics
@@ -122,14 +122,14 @@ e.

- + Header
#include <boost/fusion/sequence/io/in.hpp>
 #include <boost/fusion/include/in.hpp>
 
- + Example
vector<int, std::string, char> v;
diff --git a/doc/html/fusion/sequence/operator/i_o/out.html b/doc/html/fusion/sequence/operator/i_o/out.html
index d10028d7..c072f10d 100644
--- a/doc/html/fusion/sequence/operator/i_o/out.html
+++ b/doc/html/fusion/sequence/operator/i_o/out.html
@@ -27,7 +27,7 @@
 out
 
 
- + Description

@@ -35,7 +35,7 @@ stream.

- + Synopsis
template <typename OStream, typename Sequence>
@@ -43,7 +43,7 @@
 operator<<(OStream& os, Sequence& seq);
 
- + Parameters
@@ -107,7 +107,7 @@
- + Expression Semantics
@@ -122,14 +122,14 @@ e.

- + Header
#include <boost/fusion/sequence/io/out.hpp>
 #include <boost/fusion/include/out.hpp>
 
- + Example
std::cout << make_vector(123, "Hello", 'x') << std::endl;
diff --git a/doc/html/fusion/support/category_of.html b/doc/html/fusion/support/category_of.html
index bdf03321..35b6a7c4 100644
--- a/doc/html/fusion/support/category_of.html
+++ b/doc/html/fusion/support/category_of.html
@@ -27,7 +27,7 @@
 category_of
 
 
- + Description

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

- + Synopsis
namespace traits
@@ -50,7 +50,7 @@
 }
 
- + Parameters
@@ -95,7 +95,7 @@
- + Expression Semantics
@@ -137,14 +137,14 @@ of a particular Sequence or Iterator.

- + Header
#include <boost/fusion/support/category_of.hpp>
 #include <boost/fusion/include/category_of.hpp>
 
- + Example
using boost::is_base_of;
diff --git a/doc/html/fusion/support/deduce.html b/doc/html/fusion/support/deduce.html
index 0ced20dc..445dde39 100644
--- a/doc/html/fusion/support/deduce.html
+++ b/doc/html/fusion/support/deduce.html
@@ -27,7 +27,7 @@
 deduce
 
 
- + Description

@@ -40,14 +40,14 @@ Reference wrappers are removed (see boost::ref).

- + Header
#include <boost/fusion/support/deduce.hpp>
 #include <boost/fusion/include/deduce.hpp>
 
- + Synopsis
namespace traits
@@ -60,7 +60,7 @@
 }
 
- + Example
template <typename T>
@@ -80,7 +80,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/support/deduce_sequence.html b/doc/html/fusion/support/deduce_sequence.html index 114ca428..0cb9780a 100644 --- a/doc/html/fusion/support/deduce_sequence.html +++ b/doc/html/fusion/support/deduce_sequence.html @@ -27,7 +27,7 @@ deduce_sequence
- + Description

@@ -38,14 +38,14 @@ original type as its argument.

- + Header
#include <boost/fusion/support/deduce_sequence.hpp>
 #include <boost/fusion/include/deduce_sequence.hpp>
 
- + Synopsis
namespace traits
@@ -58,7 +58,7 @@
 }
 
- + Example
template <class Seq>
@@ -80,7 +80,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/support/is_sequence.html b/doc/html/fusion/support/is_sequence.html index 708b115a..9d079dba 100644 --- a/doc/html/fusion/support/is_sequence.html +++ b/doc/html/fusion/support/is_sequence.html @@ -27,7 +27,7 @@ is_sequence
- + Description

@@ -38,7 +38,7 @@ conforming sequences.

- + Synopsis
namespace traits
@@ -51,7 +51,7 @@
 }
 
- + Parameters
@@ -96,7 +96,7 @@
- + Expression Semantics
@@ -113,14 +113,14 @@ otherwise.

- + Header
#include <boost/fusion/support/is_sequence.hpp>
 #include <boost/fusion/include/is_sequence.hpp>
 
- + Example
BOOST_MPL_ASSERT_NOT(( traits::is_sequence< std::vector<int> > ));
diff --git a/doc/html/fusion/support/is_view.html b/doc/html/fusion/support/is_view.html
index 216b5d2e..def43dd5 100644
--- a/doc/html/fusion/support/is_view.html
+++ b/doc/html/fusion/support/is_view.html
@@ -27,7 +27,7 @@
 is_view
 
 
- + Description

@@ -41,7 +41,7 @@ specialized to accomodate clients providing Fusion conforming views.

- + Synopsis
namespace traits
@@ -54,7 +54,7 @@
 }
 
- + Parameters
@@ -99,7 +99,7 @@
- + Expression Semantics
typedef traits::is_view<T>::type c;
@@ -115,14 +115,14 @@
         otherwise.
       

- + Header
#include <boost/fusion/support/is_view.hpp>
 #include <boost/fusion/include/is_view.hpp>
 
- + Example
BOOST_MPL_ASSERT_NOT(( traits::is_view<std::vector<int> > ));
diff --git a/doc/html/fusion/support/pair.html b/doc/html/fusion/support/pair.html
index 5adbdcdd..9cd50ff1 100644
--- a/doc/html/fusion/support/pair.html
+++ b/doc/html/fusion/support/pair.html
@@ -27,7 +27,7 @@
 pair
 
 
- + Description

@@ -37,7 +37,7 @@ the first type does not have data. It is used as elements in maps, for example.

- + Synopsis
template <typename First, typename Second>
@@ -60,7 +60,7 @@
 make_pair(Second const &);
 
- + Template parameters
@@ -139,7 +139,7 @@
- + Expression Semantics
@@ -319,14 +319,14 @@
- + Header
#include <boost/fusion/support/pair.hpp>
 #include <boost/fusion/include/pair.hpp>
 
- + Example
pair<int, char> p('X');
diff --git a/doc/html/fusion/support/tag_of.html b/doc/html/fusion/support/tag_of.html
index 78cb89c8..2f86dc0e 100644
--- a/doc/html/fusion/support/tag_of.html
+++ b/doc/html/fusion/support/tag_of.html
@@ -27,7 +27,7 @@
 tag_of
 
 
- + Description

@@ -41,7 +41,7 @@ conforming sequences.

- + Synopsis
namespace traits
@@ -54,7 +54,7 @@
 }
 
- + Parameters
@@ -99,7 +99,7 @@
- + Expression Semantics
typedef traits::tag_of<T>::type tag;
@@ -112,14 +112,14 @@
         with T.
       

- + Header
#include <boost/fusion/support/tag_of.hpp>
 #include <boost/fusion/include/tag_of.hpp>
 
- + Example
typedef traits::tag_of<list<> >::type tag1;
diff --git a/doc/html/fusion/tuple/class_template_tuple.html b/doc/html/fusion/tuple/class_template_tuple.html
index 129aac49..26240320 100644
--- a/doc/html/fusion/tuple/class_template_tuple.html
+++ b/doc/html/fusion/tuple/class_template_tuple.html
@@ -48,7 +48,7 @@
         in future releases of fusion.
       

- + Synopsis
template<
diff --git a/doc/html/fusion/tuple/class_template_tuple/construction.html b/doc/html/fusion/tuple/class_template_tuple/construction.html
index 4743292c..1ff250e5 100644
--- a/doc/html/fusion/tuple/class_template_tuple/construction.html
+++ b/doc/html/fusion/tuple/class_template_tuple/construction.html
@@ -27,7 +27,7 @@
 Construction
 
 
- + Description

@@ -38,7 +38,7 @@ in this section.

- + Specification
diff --git a/doc/html/fusion/tuple/class_template_tuple/element_access.html b/doc/html/fusion/tuple/class_template_tuple/element_access.html index 9f3b58c8..9ffede05 100644 --- a/doc/html/fusion/tuple/class_template_tuple/element_access.html +++ b/doc/html/fusion/tuple/class_template_tuple/element_access.html @@ -28,7 +28,7 @@ access
- + Description

@@ -37,7 +37,7 @@ function to provide access to it's elements by zero based numeric index.

- + Specification
template<int I, T>
diff --git a/doc/html/fusion/tuple/class_template_tuple/relational_operators.html b/doc/html/fusion/tuple/class_template_tuple/relational_operators.html
index 1e30bda7..37a63135 100644
--- a/doc/html/fusion/tuple/class_template_tuple/relational_operators.html
+++ b/doc/html/fusion/tuple/class_template_tuple/relational_operators.html
@@ -28,7 +28,7 @@
         operators
 
 
- + Description

@@ -36,7 +36,7 @@ Tuple provides the standard boolean relational operators.

- + Specification
diff --git a/doc/html/fusion/tuple/class_template_tuple/tuple_creation_functions.html b/doc/html/fusion/tuple/class_template_tuple/tuple_creation_functions.html index cec7dafa..cee8a724 100644 --- a/doc/html/fusion/tuple/class_template_tuple/tuple_creation_functions.html +++ b/doc/html/fusion/tuple/class_template_tuple/tuple_creation_functions.html @@ -28,7 +28,7 @@ creation functions
- + Description

@@ -38,7 +38,7 @@ functions are described in this section.

- + Specification
template<typename T1, typename T2, ..., typename TN>
diff --git a/doc/html/fusion/tuple/class_template_tuple/tuple_helper_classes.html b/doc/html/fusion/tuple/class_template_tuple/tuple_helper_classes.html
index 18d50de3..de0c1263 100644
--- a/doc/html/fusion/tuple/class_template_tuple/tuple_helper_classes.html
+++ b/doc/html/fusion/tuple/class_template_tuple/tuple_helper_classes.html
@@ -28,7 +28,7 @@
         helper classes
 
 
- + Description

@@ -37,7 +37,7 @@ tuple size, and the element types.

- + Specification
tuple_size<T>::value
diff --git a/doc/html/fusion/tuple/pairs.html b/doc/html/fusion/tuple/pairs.html
index 8237240e..2235c77a 100644
--- a/doc/html/fusion/tuple/pairs.html
+++ b/doc/html/fusion/tuple/pairs.html
@@ -27,7 +27,7 @@
 Pairs
 
 
- + Description

@@ -36,7 +36,7 @@ as if it were a 2 element tuple.

- + Specification
tuple_size<std::pair<T1, T2> >::value
diff --git a/doc/html/fusion/view.html b/doc/html/fusion/view.html
index 15b23c4f..62a47552 100644
--- a/doc/html/fusion/view.html
+++ b/doc/html/fusion/view.html
@@ -46,7 +46,7 @@
       to copy and be passed around by value.
     

- + Header

#include <boost/fusion/view.hpp>
diff --git a/doc/html/fusion/view/filter_view.html b/doc/html/fusion/view/filter_view.html
index 92d650a2..262c3897 100644
--- a/doc/html/fusion/view/filter_view.html
+++ b/doc/html/fusion/view/filter_view.html
@@ -27,7 +27,7 @@
 filter_view
 
 
- + Description

@@ -38,21 +38,21 @@ only those elements for which its predicate evaluates to mpl::true_.

- + Header
#include <boost/fusion/view/filter_view.hpp>
 #include <boost/fusion/include/filter_view.hpp>
 
- + Synopsis
template <typename Sequence, typename Pred>
 struct filter_view;
 
- + Template parameters
@@ -115,7 +115,7 @@
- + Model of
    @@ -146,7 +146,7 @@
- + Expression Semantics

@@ -216,7 +216,7 @@

- + Example
using boost::mpl::_;
diff --git a/doc/html/fusion/view/iterator_range.html b/doc/html/fusion/view/iterator_range.html
index 5d666283..0be61bc0 100644
--- a/doc/html/fusion/view/iterator_range.html
+++ b/doc/html/fusion/view/iterator_range.html
@@ -27,7 +27,7 @@
 iterator_range
 
 
- + Description

@@ -35,21 +35,21 @@ sub-range of its underlying sequence delimited by a pair of iterators.

- + Header
#include <boost/fusion/view/iterator_range.hpp>
 #include <boost/fusion/include/iterator_range.hpp>
 
- + Synopsis
template <typename First, typename Last>
 struct iterator_range;
 
- + Template parameters
@@ -111,7 +111,7 @@
- + Model of
    @@ -154,7 +154,7 @@
- + Expression Semantics
@@ -227,7 +227,7 @@
- + Example
char const* s = "Ruby";
diff --git a/doc/html/fusion/view/joint_view.html b/doc/html/fusion/view/joint_view.html
index 75e99390..36e6aada 100644
--- a/doc/html/fusion/view/joint_view.html
+++ b/doc/html/fusion/view/joint_view.html
@@ -27,7 +27,7 @@
 joint_view
 
 
- + Description

@@ -35,21 +35,21 @@ which is a concatenation of two sequences.

- + Header
#include <boost/fusion/view/joint_view.hpp>
 #include <boost/fusion/include/joint_view.hpp>
 
- + Synopsis
template <typename Sequence1, typename Sequence2>
 struct joint_view;
 
- + Template parameters
@@ -113,7 +113,7 @@
- + Model of
    @@ -149,7 +149,7 @@
- + Expression Semantics

@@ -220,7 +220,7 @@

- + Example
vector<int, char> v1(3, 'x');
diff --git a/doc/html/fusion/view/nview.html b/doc/html/fusion/view/nview.html
index 2e55acc8..f5b3244d 100644
--- a/doc/html/fusion/view/nview.html
+++ b/doc/html/fusion/view/nview.html
@@ -27,7 +27,7 @@
 nview
 
 
- + Description

@@ -38,14 +38,14 @@ and a list of indicies specifying the elements to iterate over.

- + Header
#include <boost/fusion/view/nview.hpp>
 #include <boost/fusion/include/nview.hpp>
 
- + Synopsis
template <typename Sequence, typename Indicies>
@@ -56,7 +56,7 @@
 as_nview(Sequence& s);
 
- + Template parameters
@@ -137,7 +137,7 @@
- + Model of
  • @@ -164,7 +164,7 @@
- + Expression Semantics

@@ -240,7 +240,7 @@ of references to the elements of the original Fusion Sequence

- + Example
typedef vector<int, char, double> vec;
diff --git a/doc/html/fusion/view/reverse_view.html b/doc/html/fusion/view/reverse_view.html
index 5126fbba..10e85caa 100644
--- a/doc/html/fusion/view/reverse_view.html
+++ b/doc/html/fusion/view/reverse_view.html
@@ -32,21 +32,21 @@
         element will be its first.
       

- + Header
#include <boost/fusion/view/reverse_view.hpp>
 #include <boost/fusion/include/reverse_view.hpp>
 
- + Synopsis
template <typename Sequence>
 struct reverse_view;
 
- + Template parameters
@@ -91,7 +91,7 @@
- + Model of
    @@ -130,7 +130,7 @@
- + Expression Semantics
@@ -201,7 +201,7 @@
- + Example
typedef vector<int, short, double> vector_type;
diff --git a/doc/html/fusion/view/single_view.html b/doc/html/fusion/view/single_view.html
index 4ec49537..24ba1e14 100644
--- a/doc/html/fusion/view/single_view.html
+++ b/doc/html/fusion/view/single_view.html
@@ -31,21 +31,21 @@
         a value as a single element sequence.
       

- + Header
#include <boost/fusion/view/single_view.hpp>
 #include <boost/fusion/include/single_view.hpp>
 
- + Synopsis
template <typename T>
 struct single_view;
 
- + Template parameters
@@ -89,7 +89,7 @@
- + Model of
@@ -112,7 +112,7 @@
- + Expression Semantics

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

- + Example
single_view<int> view(3);
diff --git a/doc/html/fusion/view/transform_view.html b/doc/html/fusion/view/transform_view.html
index f1313e51..c2c4813a 100644
--- a/doc/html/fusion/view/transform_view.html
+++ b/doc/html/fusion/view/transform_view.html
@@ -36,14 +36,14 @@
         Traversal Concept) of its underlying sequence or sequences.
       

- + Header
#include <boost/fusion/view/transform_view.hpp>
 #include <boost/fusion/include/transform_view.hpp>
 
- + Synopsis

@@ -59,7 +59,7 @@ struct transform_view;

- + Template parameters
@@ -178,7 +178,7 @@
- + Model of
  • @@ -234,7 +234,7 @@
- + Expression Semantics
@@ -326,7 +326,7 @@
- + Example
struct square
diff --git a/doc/html/fusion/view/zip_view.html b/doc/html/fusion/view/zip_view.html
index cf398200..651b1f8a 100644
--- a/doc/html/fusion/view/zip_view.html
+++ b/doc/html/fusion/view/zip_view.html
@@ -27,7 +27,7 @@
 zip_view
 
 
- + Description

@@ -38,21 +38,21 @@ to the component _sequence_s.

- + Header
#include <boost/fusion/view/zip_view.hpp>
 #include <boost/fusion/include/zip_view.hpp>
 
- + Synopsis
template <typename Sequences>
 struct zip_view;
 
- + Template parameters
@@ -97,7 +97,7 @@
- + Model of
  • @@ -127,7 +127,7 @@
- + Expression Semantics

@@ -198,7 +198,7 @@

- + Example
typedef vector<int,int> vec1;
diff --git a/doc/html/index.html b/doc/html/index.html
index b9fc3d7a..c28936ec 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -34,7 +34,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)

@@ -247,7 +247,7 @@
- +

Last revised: December 11, 2009 at 10:57:59 GMT

Last revised: December 28, 2009 at 16:58:16 GMT


diff --git a/example/extension/detail/deref_data_impl.hpp b/example/extension/detail/deref_data_impl.hpp new file mode 100644 index 00000000..c9907d5c --- /dev/null +++ b/example/extension/detail/deref_data_impl.hpp @@ -0,0 +1,30 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + 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) +==============================================================================*/ + +#ifndef BOOST_FUSION_EXAMPLE_EXTENSION_DETAIL_DEREF_DATA_IMPL_HPP +#define BOOST_FUSION_EXAMPLE_EXTENSION_DETAIL_DEREF_DATA_IMPL_HPP + +namespace example +{ + struct example_struct_iterator_tag; +} + +namespace boost { namespace fusion { + + namespace extension + { + template + struct deref_data_impl; + + template<> + struct deref_data_impl + : deref_impl + {}; + } +}} + +#endif diff --git a/example/extension/detail/key_of_impl.hpp b/example/extension/detail/key_of_impl.hpp new file mode 100644 index 00000000..6a7a836d --- /dev/null +++ b/example/extension/detail/key_of_impl.hpp @@ -0,0 +1,42 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + 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) +==============================================================================*/ + +#ifndef BOOST_FUSION_EXAMPLE_EXTENSION_DETAIL_KEY_OF_IMPL_HPP +#define BOOST_FUSION_EXAMPLE_EXTENSION_DETAIL_KEY_OF_IMPL_HPP + +#include + +namespace fields +{ + struct name; + struct age; +} + +namespace example +{ + struct example_struct_iterator_tag; +} + +namespace boost { namespace fusion { + + namespace extension + { + template + struct key_of_impl; + + template<> + struct key_of_impl + { + template + struct apply + : mpl::if_c + {}; + }; + } +}} + +#endif diff --git a/example/extension/detail/value_of_data_impl.hpp b/example/extension/detail/value_of_data_impl.hpp new file mode 100644 index 00000000..94cdcc30 --- /dev/null +++ b/example/extension/detail/value_of_data_impl.hpp @@ -0,0 +1,30 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + 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) +==============================================================================*/ + +#ifndef BOOST_FUSION_EXAMPLE_EXTENSION_DETAIL_VALUE_OF_DATA_IMPL_HPP +#define BOOST_FUSION_EXAMPLE_EXTENSION_DETAIL_VALUE_OF_DATA_IMPL_HPP + +namespace example +{ + struct example_struct_iterator_tag; +} + +namespace boost { namespace fusion { + + namespace extension + { + template + struct value_of_data_impl; + + template<> + struct value_of_data_impl + : value_of_impl + {}; + } +}} + +#endif diff --git a/example/extension/example_struct_iterator.hpp b/example/extension/example_struct_iterator.hpp index 064c0d74..a6b1e6db 100644 --- a/example/extension/example_struct_iterator.hpp +++ b/example/extension/example_struct_iterator.hpp @@ -9,6 +9,7 @@ #define BOOST_FUSION_EXAMPLE_STRUCT_ITERATOR #include +#include #include #include #include @@ -21,6 +22,9 @@ #include "./detail/distance_impl.hpp" #include "./detail/value_of_impl.hpp" #include "./detail/equal_to_impl.hpp" +#include "./detail/key_of_impl.hpp" +#include "./detail/value_of_data_impl.hpp" +#include "./detail/deref_data_impl.hpp" namespace example { @@ -32,8 +36,6 @@ namespace example namespace boost { namespace fusion { - struct random_access_traversal_tag; - namespace traits { template @@ -52,7 +54,11 @@ namespace example { BOOST_STATIC_ASSERT(Pos >=0 && Pos < 3); typedef Struct struct_type; typedef boost::mpl::int_ index; - typedef boost::fusion::random_access_traversal_tag category; + + struct category + : boost::fusion::random_access_traversal_tag + , boost::fusion::associative_tag + {}; example_struct_iterator(Struct& str) : struct_(str) {} diff --git a/example/extension/test_example.cpp b/example/extension/test_example.cpp index 264d1854..7d87f21a 100644 --- a/example/extension/test_example.cpp +++ b/example/extension/test_example.cpp @@ -56,6 +56,9 @@ int main() BOOST_MPL_ASSERT((boost::is_same::type, std::string>)); BOOST_MPL_ASSERT((boost::is_same::type, int>)); + BOOST_TEST(deref_data(begin(bert)) == "bert"); + BOOST_TEST(deref_data(next(begin(bert))) == 99); + BOOST_TEST(size(bert) == 2); return boost::report_errors();