From fdb399e022cdfbf4fb7cf3356629fef58f5d0c45 Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Sun, 27 Sep 2009 16:36:53 +0000 Subject: [PATCH 01/36] Fusion: fixing regression tests [SVN r56435] --- test/Jamfile | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/Jamfile b/test/Jamfile index 406eedcf..f8bfe077 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -27,7 +27,6 @@ import testing ; [ run algorithm/insert.cpp : : : : ] [ run algorithm/insert_range.cpp : : : : ] [ run algorithm/none.cpp : : : : ] - [ run algorithm/nview.cpp : : : : ] [ run algorithm/pop_back.cpp : : : : ] [ run algorithm/pop_front.cpp : : : : ] [ run algorithm/push_back.cpp : : : : ] @@ -77,6 +76,7 @@ import testing ; [ run sequence/make_vector.cpp : : : : ] [ run sequence/map.cpp : : : : ] [ run sequence/map_tie.cpp : : : : ] + [ run sequence/nview.cpp : : : : ] [ run sequence/reverse_view.cpp : : : : ] [ run sequence/set.cpp : : : : ] [ run sequence/single_view.cpp : : : : ] From 7b89755a672aa141b5d171fcef5fee4a21ada9ef Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Tue, 29 Sep 2009 14:48:36 +0000 Subject: [PATCH 02/36] Fusion: fixed a couple of typos in docs [SVN r56472] --- doc/html/fusion/adapted.html | 2 +- doc/html/fusion/adapted/adapt_assoc.html | 10 ++++---- doc/html/fusion/adapted/adapt_struct.html | 10 ++++---- doc/html/fusion/adapted/boost__array.html | 8 +++---- doc/html/fusion/adapted/boost__tuple.html | 8 +++---- doc/html/fusion/adapted/mpl_sequence.html | 8 +++---- doc/html/fusion/adapted/std__pair.html | 8 +++---- doc/html/fusion/algorithm.html | 6 ++--- doc/html/fusion/algorithm/iteration.html | 2 +- .../iteration/functions/accumulate.html | 14 +++++------ .../algorithm/iteration/functions/fold.html | 14 +++++------ .../iteration/functions/for_each.html | 14 +++++------ .../iteration/metafunctions/accumulate.html | 12 +++++----- .../iteration/metafunctions/fold.html | 12 +++++----- .../iteration/metafunctions/for_each.html | 12 +++++----- doc/html/fusion/algorithm/query.html | 2 +- .../fusion/algorithm/query/functions/all.html | 14 +++++------ .../fusion/algorithm/query/functions/any.html | 14 +++++------ .../algorithm/query/functions/count.html | 14 +++++------ .../algorithm/query/functions/count_if.html | 14 +++++------ .../algorithm/query/functions/find.html | 14 +++++------ .../algorithm/query/functions/find_if.html | 12 +++++----- .../algorithm/query/functions/none.html | 14 +++++------ .../algorithm/query/metafunctions/all.html | 12 +++++----- .../algorithm/query/metafunctions/any.html | 12 +++++----- .../algorithm/query/metafunctions/count.html | 12 +++++----- .../query/metafunctions/count_if.html | 12 +++++----- .../algorithm/query/metafunctions/find.html | 12 +++++----- .../query/metafunctions/find_if.html | 12 +++++----- .../algorithm/query/metafunctions/none.html | 12 +++++----- doc/html/fusion/algorithm/transformation.html | 2 +- .../transformation/functions/clear.html | 14 +++++------ .../transformation/functions/erase.html | 14 +++++------ .../transformation/functions/erase_key.html | 14 +++++------ .../transformation/functions/filter.html | 14 +++++------ .../transformation/functions/filter_if.html | 14 +++++------ .../transformation/functions/insert.html | 14 +++++------ .../functions/insert_range.html | 14 +++++------ .../transformation/functions/join.html | 14 +++++------ .../transformation/functions/pop_back.html | 14 +++++------ .../transformation/functions/pop_front.html | 14 +++++------ .../transformation/functions/push_back.html | 14 +++++------ .../transformation/functions/push_front.html | 14 +++++------ .../transformation/functions/remove.html | 14 +++++------ .../transformation/functions/remove_if.html | 14 +++++------ .../transformation/functions/replace.html | 14 +++++------ .../transformation/functions/replace_if.html | 14 +++++------ .../transformation/functions/reverse.html | 14 +++++------ .../transformation/functions/transform.html | 18 +++++++------- .../transformation/functions/zip.html | 14 +++++------ .../transformation/metafunctions/clear.html | 12 +++++----- .../transformation/metafunctions/erase.html | 12 +++++----- .../metafunctions/erase_key.html | 12 +++++----- .../transformation/metafunctions/filter.html | 12 +++++----- .../metafunctions/filter_if.html | 12 +++++----- .../transformation/metafunctions/insert.html | 12 +++++----- .../metafunctions/insert_range.html | 12 +++++----- .../transformation/metafunctions/join.html | 10 ++++---- .../metafunctions/pop_back.html | 12 +++++----- .../metafunctions/pop_front.html | 10 ++++---- .../metafunctions/push_back.html | 10 ++++---- .../metafunctions/push_front.html | 10 ++++---- .../transformation/metafunctions/remove.html | 12 +++++----- .../metafunctions/remove_if.html | 12 +++++----- .../transformation/metafunctions/replace.html | 12 +++++----- .../metafunctions/replace_if.html | 12 +++++----- .../transformation/metafunctions/reverse.html | 12 +++++----- .../metafunctions/transform.html | 18 +++++++------- .../transformation/metafunctions/zip.html | 10 ++++---- doc/html/fusion/container.html | 2 +- doc/html/fusion/container/cons.html | 14 +++++------ doc/html/fusion/container/conversion.html | 2 +- .../conversion/functions/as_list.html | 12 +++++----- .../conversion/functions/as_map.html | 12 +++++----- .../conversion/functions/as_set.html | 12 +++++----- .../conversion/functions/as_vector.html | 12 +++++----- .../conversion/metafunctions/as_list.html | 12 +++++----- .../conversion/metafunctions/as_map.html | 12 +++++----- .../conversion/metafunctions/as_set.html | 12 +++++----- .../conversion/metafunctions/as_vector.html | 12 +++++----- doc/html/fusion/container/generation.html | 2 +- .../generation/functions/list_tie.html | 12 +++++----- .../generation/functions/make_cons.html | 14 +++++------ .../generation/functions/make_list.html | 14 +++++------ .../generation/functions/make_map.html | 14 +++++------ .../generation/functions/make_set.html | 14 +++++------ .../generation/functions/make_vector.html | 14 +++++------ .../generation/functions/map_tie.html | 12 +++++----- .../container/generation/functions/tiers.html | 6 ++--- .../generation/functions/vector_tie.html | 12 +++++----- .../generation/metafunctions/list_tie.html | 12 +++++----- .../generation/metafunctions/make_cons.html | 12 +++++----- .../generation/metafunctions/make_list.html | 12 +++++----- .../generation/metafunctions/make_map.html | 14 +++++------ .../generation/metafunctions/make_set.html | 12 +++++----- .../generation/metafunctions/make_vector.html | 12 +++++----- .../generation/metafunctions/map_tie.html | 12 +++++----- .../generation/metafunctions/vector_tie.html | 12 +++++----- doc/html/fusion/container/list.html | 14 +++++------ doc/html/fusion/container/map.html | 14 +++++------ doc/html/fusion/container/set.html | 14 +++++------ doc/html/fusion/container/vector.html | 14 +++++------ doc/html/fusion/extension/ext_full.html | 16 ++++++------- .../fusion/extension/iterator_facade.html | 14 +++++------ .../fusion/extension/sequence_facade.html | 14 +++++------ doc/html/fusion/functional.html | 8 +++---- .../fusion/functional/adapters/fused.html | 16 ++++++------- .../adapters/fused_function_object.html | 16 ++++++------- .../functional/adapters/fused_procedure.html | 16 ++++++------- .../fusion/functional/adapters/limits.html | 4 ++-- .../fusion/functional/adapters/unfused.html | 16 ++++++------- .../functional/adapters/unfused_typed.html | 16 ++++++------- .../fusion/functional/concepts/callable.html | 6 ++--- .../functional/concepts/def_callable.html | 10 ++++---- doc/html/fusion/functional/concepts/poly.html | 10 ++++---- .../functional/concepts/reg_callable.html | 10 ++++---- .../generation/functions/mk_fused.html | 14 +++++------ .../generation/functions/mk_fused_fobj.html | 14 +++++------ .../generation/functions/mk_fused_proc.html | 14 +++++------ .../generation/functions/mk_unfused.html | 14 +++++------ .../generation/metafunctions/mk_fused.html | 8 +++---- .../metafunctions/mk_fused_fobj.html | 8 +++---- .../metafunctions/mk_fused_proc.html | 8 +++---- .../generation/metafunctions/mk_unfused.html | 8 +++---- .../invocation/functions/invoke.html | 14 +++++------ .../invocation/functions/invoke_fobj.html | 14 +++++------ .../invocation/functions/invoke_proc.html | 14 +++++------ .../fusion/functional/invocation/limits.html | 4 ++-- .../invocation/metafunctions/invoke.html | 6 ++--- .../invocation/metafunctions/invoke_fobj.html | 6 ++--- .../invocation/metafunctions/invoke_proc.html | 6 ++--- doc/html/fusion/introduction.html | 4 ++-- doc/html/fusion/iterator.html | 2 +- .../concepts/bidirectional_iterator.html | 14 +++++------ .../iterator/concepts/forward_iterator.html | 12 +++++----- .../concepts/random_access_iterator.html | 10 ++++---- .../fusion/iterator/functions/advance.html | 12 +++++----- .../fusion/iterator/functions/advance_c.html | 12 +++++----- doc/html/fusion/iterator/functions/deref.html | 12 +++++----- .../fusion/iterator/functions/distance.html | 12 +++++----- doc/html/fusion/iterator/functions/next.html | 12 +++++----- doc/html/fusion/iterator/functions/prior.html | 12 +++++----- .../iterator/metafunctions/advance.html | 12 +++++----- .../iterator/metafunctions/advance_c.html | 12 +++++----- .../fusion/iterator/metafunctions/deref.html | 12 +++++----- .../iterator/metafunctions/distance.html | 12 +++++----- .../iterator/metafunctions/equal_to.html | 12 +++++----- .../fusion/iterator/metafunctions/next.html | 12 +++++----- .../fusion/iterator/metafunctions/prior.html | 12 +++++----- .../iterator/metafunctions/value_of.html | 12 +++++----- .../iterator/operator/operator_equality.html | 10 ++++---- .../operator/operator_inequality.html | 10 ++++---- .../operator/operator_unary_star.html | 12 +++++----- doc/html/fusion/notes.html | 16 ++++++------- doc/html/fusion/organization.html | 10 ++++---- doc/html/fusion/preface.html | 10 ++++---- doc/html/fusion/quick_start.html | 16 ++++++------- doc/html/fusion/sequence.html | 2 +- doc/html/fusion/sequence/concepts.html | 4 ++-- .../concepts/associative_sequence.html | 10 ++++---- .../concepts/bidirectional_sequence.html | 12 +++++----- .../sequence/concepts/forward_sequence.html | 12 +++++----- .../concepts/random_access_sequence.html | 12 +++++----- doc/html/fusion/sequence/intrinsic.html | 6 ++--- .../sequence/intrinsic/functions/at.html | 12 +++++----- .../sequence/intrinsic/functions/at_c.html | 12 +++++----- .../sequence/intrinsic/functions/at_key.html | 12 +++++----- .../sequence/intrinsic/functions/back.html | 12 +++++----- .../sequence/intrinsic/functions/begin.html | 12 +++++----- .../sequence/intrinsic/functions/empty.html | 12 +++++----- .../sequence/intrinsic/functions/end.html | 12 +++++----- .../sequence/intrinsic/functions/front.html | 12 +++++----- .../sequence/intrinsic/functions/has_key.html | 12 +++++----- .../sequence/intrinsic/functions/size.html | 12 +++++----- .../sequence/intrinsic/functions/swap.html | 10 ++++---- .../sequence/intrinsic/metafunctions/at.html | 14 +++++------ .../intrinsic/metafunctions/at_c.html | 14 +++++------ .../intrinsic/metafunctions/at_key.html | 14 +++++------ .../intrinsic/metafunctions/back.html | 10 ++++---- .../intrinsic/metafunctions/begin.html | 10 ++++---- .../intrinsic/metafunctions/empty.html | 10 ++++---- .../sequence/intrinsic/metafunctions/end.html | 10 ++++---- .../intrinsic/metafunctions/front.html | 10 ++++---- .../intrinsic/metafunctions/has_key.html | 10 ++++---- .../intrinsic/metafunctions/size.html | 10 ++++---- .../intrinsic/metafunctions/swap.html | 8 +++---- .../intrinsic/metafunctions/value_at.html | 10 ++++---- .../intrinsic/metafunctions/value_at_c.html | 10 ++++---- .../intrinsic/metafunctions/value_at_key.html | 10 ++++---- .../fusion/sequence/operator/comparison.html | 2 +- .../sequence/operator/comparison/equal.html | 12 +++++----- .../operator/comparison/greater_than.html | 10 ++++---- .../comparison/greater_than_equal.html | 10 ++++---- .../operator/comparison/less_than.html | 10 ++++---- .../operator/comparison/less_than_equal.html | 10 ++++---- .../operator/comparison/not_equal.html | 10 ++++---- doc/html/fusion/sequence/operator/i_o.html | 2 +- doc/html/fusion/sequence/operator/i_o/in.html | 12 +++++----- .../fusion/sequence/operator/i_o/out.html | 12 +++++----- doc/html/fusion/support/category_of.html | 12 +++++----- doc/html/fusion/support/deduce.html | 10 ++++---- doc/html/fusion/support/deduce_sequence.html | 10 ++++---- doc/html/fusion/support/is_sequence.html | 12 +++++----- doc/html/fusion/support/is_view.html | 12 +++++----- doc/html/fusion/support/pair.html | 12 +++++----- doc/html/fusion/support/tag_of.html | 12 +++++----- .../fusion/tuple/class_template_tuple.html | 2 +- .../class_template_tuple/construction.html | 4 ++-- .../class_template_tuple/element_access.html | 4 ++-- .../relational_operators.html | 4 ++-- .../tuple_creation_functions.html | 4 ++-- .../tuple_helper_classes.html | 4 ++-- doc/html/fusion/tuple/pairs.html | 4 ++-- doc/html/fusion/view.html | 2 +- doc/html/fusion/view/filter_view.html | 14 +++++------ doc/html/fusion/view/iterator_range.html | 14 +++++------ doc/html/fusion/view/joint_view.html | 14 +++++------ doc/html/fusion/view/nview.html | 24 +++++++++---------- doc/html/fusion/view/reverse_view.html | 12 +++++----- doc/html/fusion/view/single_view.html | 12 +++++----- doc/html/fusion/view/transform_view.html | 12 +++++----- doc/html/fusion/view/zip_view.html | 14 +++++------ doc/html/index.html | 4 ++-- doc/view.qbk | 8 +++---- 224 files changed, 1241 insertions(+), 1241 deletions(-) diff --git a/doc/html/fusion/adapted.html b/doc/html/fusion/adapted.html index 42a88489..092d31a7 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 67f9af9d..a15b8973 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 e414fc65..371f71dd 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 cce4727f..ef50847b 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 4ec2cd31..1d391b4b 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 1e6ac88a..768703e7 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 4ab9c86b..5bcbfe3a 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 d4d5cc44..d14c7812 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 f02d1d8e..a82a8d1e 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 2b0324b6..eb9ca358 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

@@ -38,7 +38,7 @@ and the previous state.

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

Table 1.34. Parameters

+

Table 1.34. Parameters

@@ -136,7 +136,7 @@

- + Expression Semantics
@@ -150,21 +150,21 @@ where e1 ...eN 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 66a1a810..e266f0f3 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 @@ and the previous state.

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

Table 1.33. Parameters

+

Table 1.33. Parameters

@@ -136,7 +136,7 @@

- + Expression Semantics
@@ -150,21 +150,21 @@ where e1 ...eN 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 e651e6c4..aa78fa40 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.35. Parameters

+

Table 1.35. 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 ae734e12..90ea13a2 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.37. Parameters

+

Table 1.37. Parameters

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

- + Expression Semantics
@@ -147,14 +147,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 07be49e4..1bf2a6a3 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.36. Parameters

+

Table 1.36. Parameters

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

- + Expression Semantics
@@ -147,14 +147,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 31fdca87..9ff50008 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.38. Parameters

+

Table 1.38. 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 27ac6e15..81960755 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 c558933d..8b696e11 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.40. Parameters

+

Table 1.40. 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 73a607e8..1e5a1a53 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.39. Parameters

+

Table 1.39. 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 c00ab814..284af260 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.44. Parameters

+

Table 1.44. 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 496314f3..6c31ef0e 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.45. Parameters

+

Table 1.45. 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 a4eb7fa7..1a5ea6b7 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.42. Parameters

+

Table 1.42. 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 3cb166b6..7ca805cc 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.43. Parameters

+

Table 1.43. Parameters

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

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

- + Complexity

@@ -145,7 +145,7 @@ /algorithm/query/find_if.hpp>

- + 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 a5f51845..a93362b3 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.41. Parameters

+

Table 1.41. 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 ebc6d2f6..2e34c969 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.47. Parameters

+

Table 1.47. 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 5bd7915b..c91cb670 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.46. Parameters

+

Table 1.46. 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 a594ab02..9d771d66 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.51. Parameters

+

Table 1.51. 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 cb66a18b..7a81368c 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.52. Parameters

+

Table 1.52. 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 845e8e5d..3172d49c 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 @@ given the sequence and search types.

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

Table 1.49. Parameters

+

Table 1.49. 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 7bb970bb..c05ecb3d 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 @@ given the sequence and predicate types.

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

Table 1.50. Parameters

+

Table 1.50. 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 55d13ad9..1bb5329e 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.48. Parameters

+

Table 1.48. 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 8cb7dc81..6c7283f0 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 9fd2865e..eb400f13 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.62. Parameters

+

Table 1.62. 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 00521d4d..b086ac00 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.63. Parameters

+

Table 1.63. Parameters

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

- + Expression Semantics
@@ -165,21 +165,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 696e3216..d121b4b0 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

@@ -38,7 +38,7 @@ with a given key.

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

Table 1.64. Parameters

+

Table 1.64. Parameters

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

- + Expression Semantics
@@ -128,21 +128,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 e6be28d8..a8234730 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.53. Parameters

+

Table 1.53. Parameters

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

- + Expression Semantics
@@ -126,21 +126,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 ccfb7b52..528ca4e0 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.54. Parameters

+

Table 1.54. Parameters

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

- + Expression Semantics
@@ -129,21 +129,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 000644ba..711d9965 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<
@@ -46,7 +46,7 @@
 unspecified insert(Sequence const& seq, Pos const& pos, T const& t);
 
-

Table 1.65. Parameters

+

Table 1.65. Parameters

@@ -128,7 +128,7 @@

- + Expression Semantics
@@ -146,21 +146,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 36c307a4..041574dc 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.66. Parameters

+

Table 1.66. Parameters

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

- + Expression Semantics
@@ -148,21 +148,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 d9c112b5..a49b802b 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.67. Parameters

+

Table 1.67. Parameters

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

- + Expression Semantics
@@ -126,21 +126,21 @@ The order of th 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 26769752..9d2dab07 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.69. Parameters

+

Table 1.69. Parameters

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

- + Expression Semantics
@@ -105,21 +105,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 ee0044b1..ad3177f2 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.70. Parameters

+

Table 1.70. Parameters

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

- + Expression Semantics
@@ -105,21 +105,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 6d2f55b7..15cc4b66 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.71. Parameters

+

Table 1.71. Parameters

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

- + Expression Semantics
@@ -126,21 +126,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 463bb25a..fc7d0540 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.72. Parameters

+

Table 1.72. Parameters

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

- + Expression Semantics
@@ -127,21 +127,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 2270a175..9150de0d 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.59. Parameters

+

Table 1.59. Parameters

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

- + Expression Semantics
@@ -126,21 +126,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 e1cd2231..f1a4161b 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.60. Parameters

+

Table 1.60. Parameters

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

- + Expression Semantics
@@ -128,21 +128,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 79887117..d11940a6 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.57. Parameters

+

Table 1.57. 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 1cfd3a31..cc1c3028 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.58. Parameters

+

Table 1.58. 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 5bb450d7..20727fe5 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.61. Parameters

+

Table 1.61. Parameters

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

- + Expression Semantics
@@ -104,21 +104,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 192b160e..d0084f29 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.55. Parameters

+

Table 1.55. 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.56. Parameters

+

Table 1.56. 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 4250d634..27b408b7 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.68. Parameters

+

Table 1.68. 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 72cba7b7..04778f69 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.82. Parameters

+

Table 1.82. 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 ac3be104..6b243133 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.83. Parameters

+

Table 1.83. Parameters

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

- + Expression Semantics
@@ -157,14 +157,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 51cf967b..6d7b1a9c 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.84. Parameters

+

Table 1.84. Parameters

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

- + Expression Semantics
@@ -128,14 +128,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 19f208c8..a93af175 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.73. Parameter

+

Table 1.73. Parameter

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

- + Expression Semantics
@@ -130,14 +130,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 63746ef3..dc9c45f0 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.74. Parameter

+

Table 1.74. Parameter

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

- + Expression Semantics
@@ -131,14 +131,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 9414aca7..983fd85d 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.85. Parameters

+

Table 1.85. Parameters

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

- + Expression Semantics
@@ -148,14 +148,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 54eaba72..10ec861a 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.86. Parameters

+

Table 1.86. Parameters

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

- + Expression Semantics
@@ -149,14 +149,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 b501be48..696245f9 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
@@ -64,14 +64,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 678e83f3..5859e925 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.87. Parameters

+

Table 1.87. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/tranformation/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 d7e311f0..c0577a61 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.88. Parameters

+

Table 1.88. Parameters

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

- + Expression Semantics
@@ -108,7 +108,7 @@ except the first element.

- + Complexity

diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html b/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html index 6f874b31..1ae0b42e 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.89. Parameters

+

Table 1.89. Parameters

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

- + Expression Semantics
@@ -129,7 +129,7 @@ added to the end.

- + Complexity

diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html b/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html index a71a1ec4..5a04893f 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.90. Parameters

+

Table 1.90. Parameters

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

- + Expression Semantics
@@ -129,7 +129,7 @@ added to the beginning.

- + Complexity

diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/remove.html b/doc/html/fusion/algorithm/transformation/metafunctions/remove.html index d6854d48..a4be10fb 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.79. Parameters

+

Table 1.79. Parameters

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

- + Expression Semantics
@@ -130,14 +130,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 d07bfbfb..b2118f07 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.80. Parameters

+

Table 1.80. Parameters

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

- + Expression Semantics
@@ -131,14 +131,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 0c0f7018..47c94e70 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.77. Parameters

+

Table 1.77. 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 a4f5434d..4bc21140 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.78. Parameters

+

Table 1.78. 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 33df8eb1..cb0f6d3b 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.81. Parameters

+

Table 1.81. Parameters

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

- + Expression Semantics
@@ -107,14 +107,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 8f12dcf7..260ef5c1 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.75. Parameters

+

Table 1.75. 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.76. Parameters

+

Table 1.76. 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/metafunctions/zip.html b/doc/html/fusion/algorithm/transformation/metafunctions/zip.html
index e7a4067a..cf8cbe7f 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 69e67eb5..5d1dcfe0 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 ef18bd1a..06583d06 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 7fb00d26..c07e740c 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 d890c2fa..eaaa3622 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 5d7389cd..8e5b0805 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 5a1479b8..fcfd963b 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 61c55a46..b59d43a1 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 b11ef071..8435de9c 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 d495ce45..e693b804 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 07b988c8..fe34db89 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 c4073e00..1ecb7790 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 1d408243..f58852ff 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 4e796d0d..d180c4f1 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 b467c208..cf5a3c38 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 23209f9c..60aab3b8 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 91722754..94213a43 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,14 +143,14 @@ key types.

- + Header
#include <boost/fusion/container/generation/make_map.hpp>
 #include <boost/fusion/include/make_map.hpp>
 
- + Example
make_map(
@@ -158,7 +158,7 @@
   , make_pair<double>("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 9041ed23..cd0c861b 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 83560943..bd059113 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 4e36f2f9..9d749875 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 95318853..310ff959 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 316df228..7279e1e8 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 76dc62bc..c74fa1d9 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 0d19137f..e68d831f 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 5d127390..ada2baea 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 43390211..e5d15e30 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 c6fcd998..de1c8492 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 616d05c0..2ddce229 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 65154492..a1f4280b 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 8a0fb75f..3c73cd32 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 45d8a047..a3a58ac3 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 5533eaae..c1450034 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 13a1ea6e..3fa2d7df 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 98d05dd8..23ddcf24 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 abc2bfc4..347f5d04 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
@@ -322,7 +322,7 @@

- + Implementing the remaining iterator functionality
@@ -373,7 +373,7 @@ are provided in the example code.

- + Implementing the intrinsic functions of the sequence
@@ -429,7 +429,7 @@ value_at_impl and at_impl.

- + Enabling our type as an associative container
@@ -496,7 +496,7 @@ of is_associative_impl.

- + Summary

diff --git a/doc/html/fusion/extension/iterator_facade.html b/doc/html/fusion/extension/iterator_facade.html index a355902d..4b4c8051 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.93. Parameters

+

Table 1.93. Parameters

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

-

Table 1.94. Key Expressions

+

Table 1.94. Key Expressions

@@ -365,14 +365,14 @@

- + 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 6206fb37..f10ccd8a 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.91. Parameters

+

Table 1.91. Parameters

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

-

Table 1.92. Key Expressions

+

Table 1.92. 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 26ab26a1..b5aa1a98 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 374745e6..e89cd756 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 5bc6549f..1b451376 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 4b70ac2c..b4e26c35 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 081d7a2e..d030481e 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 ab6005fc..b23bd833 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 ae3f6252..3a7dc880 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 a58cbddf..da141856 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 df54e7ef..71a883d9 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 3b93131a..591efe2e 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 6d330594..20381c5a 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 be0cac24..e0ccb4b3 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 e2cce602..58831fb8 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 70bfb9a3..478150c9 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 3a1d1af7..a048845a 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 d42a53de..e0b4125d 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 6bedd02f..94c70f83 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 2a98d3cf..3d1e02bb 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 3fe7a54c..d35c2ddc 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 68ae864f..a85e71d7 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 58b98bcb..ff2e8ed6 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 97874646..22821053 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 257bb9c1..35c77925 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 c85d2420..85882f1a 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 1d4ac953..2ea6cdfb 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 bc656738..b8db4987 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 d57c4e0a..8913f34b 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 f20cd656..edbf22b2 100644 --- a/doc/html/fusion/iterator.html +++ b/doc/html/fusion/iterator.html @@ -75,7 +75,7 @@ Sequence.

- + Header

#include <boost/fusion/iterator.hpp>
diff --git a/doc/html/fusion/iterator/concepts/bidirectional_iterator.html b/doc/html/fusion/iterator/concepts/bidirectional_iterator.html
index 15fd81e5..981795fb 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 6eb7dabb..08737d85 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 92780807..0ce05c90 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 0aa577ae..a1bcbf76 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 d8c1b578..2c6de9cc 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 9334c1a4..5c153249 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/distance.html b/doc/html/fusion/iterator/functions/distance.html
index fdb4836c..26818725 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 f9499e75..a6c19e9d 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 ef05f6b5..a1794c6b 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 59d1304d..83f9fcdc 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.17. Parameters

+

Table 1.17. 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 71e672bc..f2c47ebc 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.18. Parameters

+

Table 1.18. 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 0f7b551f..00b759df 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.12. Parameters

+

Table 1.12. 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/distance.html b/doc/html/fusion/iterator/metafunctions/distance.html
index 573ccd8e..31b11479 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.16. Parameters

+

Table 1.16. 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 d102c9e8..bf8a178a 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.15. Parameters

+

Table 1.15. 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/next.html b/doc/html/fusion/iterator/metafunctions/next.html
index 34ddd540..56e9d907 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.13. Parameters

+

Table 1.13. 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 f4c1b043..1ad91922 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.14. Parameters

+

Table 1.14. 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 5b3d8458..a9611130 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.11. Parameters

+

Table 1.11. 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/operator/operator_equality.html b/doc/html/fusion/iterator/operator/operator_equality.html
index 95817973..08f0ccc3 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.9. Parameters

+

Table 1.9. 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 882520f2..3c35818e 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.10. Parameters

+

Table 1.10. 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 924e7894..36299dca 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.8. Parameters

+

Table 1.8. 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 aa48c520..522e3fc6 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 2b5870c4..8177d5c5 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 c7906099..d7b5dbe8 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 42995d32..9f72ccdb 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 f96e9c5e..c4122959 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 123cbbfb..6e0609e5 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 f2c4ad9d..32cfa958 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

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

- + Valid Expressions
@@ -178,7 +178,7 @@
- + Result Type Expressions
@@ -253,7 +253,7 @@

- + Expression Semantics
@@ -308,7 +308,7 @@
- + Models
    diff --git a/doc/html/fusion/sequence/concepts/bidirectional_sequence.html b/doc/html/fusion/sequence/concepts/bidirectional_sequence.html index 58ff093c..244e27e3 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 58a411d1..7eae6fa9 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 004877a9..52e42ca3 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 e73accf6..3556b04f 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 28e17974..9b082f85 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 bf399fc2..672b860f 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 99be2ec7..ce74b346 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 f75a3a83..7fedb3db 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 b7c435c0..3d8627f4 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
@@ -115,14 +115,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 4e304557..accf602b 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 6f6dbded..1a002a1b 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
@@ -115,14 +115,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 24d8d029..a485719f 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 d6e588c6..1630c313 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 922a07f4..a7275245 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 984e915e..846e11c1 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 663b492e..99bea1fd 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.25. Parameters

+

Table 1.25. Parameters

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

- + Expression Semantics
@@ -130,7 +130,7 @@ /sequence/intrinsic/at.hpp>

- + Example
typedef vector<int,float,char> vec;
@@ -138,7 +138,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 b705c951..83f57d64 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.26. Parameters

+

Table 1.26. Parameters

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

- + Expression Semantics
@@ -129,7 +129,7 @@ /sequence/intrinsic/at.hpp>

- + Example
typedef vector<int,float,char> vec;
@@ -137,7 +137,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 3d6abc8f..018be677 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.30. Parameters

+

Table 1.30. Parameters

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

- + Expression Semantics
@@ -131,7 +131,7 @@ /sequence/intrinsic/at_key.hpp>

- + Example
typedef map<pair<int, char>, pair<char, char>, pair<double, char> > mymap;
@@ -139,7 +139,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 5d816b07..cc97fec5 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.23. Parameters

+

Table 1.23. Parameters

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

- + Expression Semantics
@@ -106,7 +106,7 @@ /sequence/intrinsic/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 7d9211c4..86bbb9d2 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.19. Parameters

+

Table 1.19. Parameters

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

- + Expression Semantics
@@ -107,7 +107,7 @@ /sequence/intrinsic/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 564361af..c40d5389 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.21. Parameters

+

Table 1.21. Parameters

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

- + Expression Semantics
@@ -108,7 +108,7 @@ /sequence/intrinsic/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 5a212278..d47b7db9 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.20. Parameters

+

Table 1.20. Parameters

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

- + Expression Semantics
@@ -107,7 +107,7 @@ /sequence/intrinsic/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 e8f89b48..e67c3bf1 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.22. Parameters

+

Table 1.22. Parameters

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

- + Expression Semantics
@@ -107,7 +107,7 @@ /sequence/intrinsic/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 9cab95bb..68a1a669 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.29. Parameters

+

Table 1.29. Parameters

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

- + Expression Semantics
@@ -130,7 +130,7 @@ /sequence/intrinsic/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 6f649cd3..4267ca0b 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.24. Parameters

+

Table 1.24. Parameters

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

- + Expression Semantics
@@ -107,7 +107,7 @@ /sequence/intrinsic/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 8ca0c52d..8c843266 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.32. Parameters

+

Table 1.32. Parameters

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

- + Expression Semantics
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html index 62c245f0..9d77c556 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.27. Parameters

+

Table 1.27. Parameters

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

- + Expression Semantics
@@ -128,7 +128,7 @@ /sequence/intrinsic/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 927d38eb..19596cc3 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.28. Parameters

+

Table 1.28. Parameters

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

- + Expression Semantics
@@ -127,7 +127,7 @@ /sequence/intrinsic/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 39645ef0..2e86a594 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.31. Parameters

+

Table 1.31. Parameters

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

- + Expression Semantics
@@ -128,7 +128,7 @@ /sequence/intrinsic/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 95b6340b..76e2f9d7 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 5c962d84..fded29fb 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 336ea1cb..3d65efc2 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 be57b062..f8e46421 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 af595df7..9adf5b5f 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 95e1fb45..66303246 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 4729b87c..f16d4ab1 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 8cf8a6a5..f6e009c7 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 8aedbd3f..16637f05 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 88b5f9e3..ff79fdd6 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 77291baf..8402b285 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
@@ -157,14 +157,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 34b49259..e0241734 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 a65174ed..dfaec85e 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 6da1a02c..cefb2073 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 fedafa53..5a9e1fb1 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 11a396b6..d488d98b 100644
--- a/doc/html/fusion/support/pair.html
+++ b/doc/html/fusion/support/pair.html
@@ -27,7 +27,7 @@
 pair
 
 
- + Description

@@ -38,7 +38,7 @@ for example.

- + Synopsis
template <typename First, typename Second>
@@ -61,7 +61,7 @@
 make_pair(Second const &);
 
- + Template parameters
@@ -140,7 +140,7 @@
- + Expression Semantics
@@ -320,14 +320,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 d03f9588..1d324467 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 bc63f584..663aec85 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 d733c61f..90fb7d32 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 8bee5e06..60288b37 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 cd6b0e9a..f1c5cd78 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 70bec6dc..5125a226 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 4d4b38e9..dda1f7aa 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 a242bb4f..0c0d0512 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 7cd8bc81..2dfa641a 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 b3ed28b8..f52663ac 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
@@ -138,7 +138,7 @@
- + Expression Semantics

@@ -209,7 +209,7 @@

- + Example
using boost::mpl::_;
diff --git a/doc/html/fusion/view/iterator_range.html b/doc/html/fusion/view/iterator_range.html
index 75b0de87..259037b1 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
  • @@ -145,7 +145,7 @@
- + Expression Semantics
@@ -219,7 +219,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 a48f5dee..bf3a51ea 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
@@ -140,7 +140,7 @@
- + Expression Semantics

@@ -212,7 +212,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 d28c039e..1d2684f3 100644
--- a/doc/html/fusion/view/nview.html
+++ b/doc/html/fusion/view/nview.html
@@ -27,25 +27,25 @@
 nview
 
 
- + Description

nview presents a view which iterates over a given Sequence in - a specified order. A nview + a specified order. An nview is constructed from an arbitrary Sequence 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

@@ -198,8 +198,8 @@

- Creates a nview given - a sequence and a list of indicies. + Creates an nview + given a sequence and a list of indicies.

@@ -211,7 +211,7 @@

- Copy constructs a nview + Copy constructs an nview from another nview, nv1.

@@ -226,7 +226,7 @@

- Assigns to a nview, + Assigns to an nview, nv1, from another nview, nv2.

@@ -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 2e7ce119..dacdc1da 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
- + Expression Semantics
@@ -187,7 +187,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 4026d9f6..9153a177 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 88eb9fd5..36cd83c9 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 ca053a6c..653cc549 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 b86db02a..83e07fad 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)

@@ -241,7 +241,7 @@
- +

Last revised: September 25, 2009 at 13:58:09 GMT

Last revised: September 29, 2009 at 14:44:20 GMT


diff --git a/doc/view.qbk b/doc/view.qbk index 6a7ddda6..313ff8cc 100644 --- a/doc/view.qbk +++ b/doc/view.qbk @@ -478,7 +478,7 @@ defined in __bidirectional_sequence__. [heading Description] `nview` presents a view which iterates over a given __sequence__ in a specified order. -A `nview` is constructed from an arbitrary __sequence__ and a list of indicies specifying +An `nview` is constructed from an arbitrary __sequence__ and a list of indicies specifying the elements to iterate over. [heading Header] @@ -524,9 +524,9 @@ defined in __random_access_sequence__. [table [[Expression] [Semantics]] - [[`NV(s)`] [Creates a `nview` given a sequence and a list of indicies.]] - [[`NV(nv1)`] [Copy constructs a `nview` from another `nview`, `nv1`.]] - [[`nv1 = nv2`] [Assigns to a `nview`, `nv1`, from another `nview`, `nv2`.]] + [[`NV(s)`] [Creates an `nview` given a sequence and a list of indicies.]] + [[`NV(nv1)`] [Copy constructs an `nview` from another `nview`, `nv1`.]] + [[`nv1 = nv2`] [Assigns to an `nview`, `nv1`, from another `nview`, `nv2`.]] ] The `nview` internally stores a Fusion __vector__ of references to the elements From 178973a05c1ded735be5188e7cf49592457ec7db Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Sun, 4 Oct 2009 16:59:37 +0000 Subject: [PATCH 03/36] BOOST_FUSION_ADAPT_CLASS [SVN r56575] --- include/boost/fusion/adapted/class.hpp | 28 +++++ .../adapted/class/adapt_assoc_class.hpp | 94 ++++++++++++++++ .../fusion/adapted/class/adapt_class.hpp | 104 +++++++++++++++++ .../fusion/adapted/class/class_iterator.hpp | 105 ++++++++++++++++++ .../fusion/adapted/class/detail/at_impl.hpp | 70 ++++++++++++ .../adapted/class/detail/at_key_impl.hpp | 54 +++++++++ .../adapted/class/detail/begin_impl.hpp | 40 +++++++ .../adapted/class/detail/category_of_impl.hpp | 35 ++++++ .../fusion/adapted/class/detail/end_impl.hpp | 48 ++++++++ .../adapted/class/detail/has_key_impl.hpp | 40 +++++++ .../adapted/class/detail/is_sequence_impl.hpp | 31 ++++++ .../adapted/class/detail/is_view_impl.hpp | 32 ++++++ .../fusion/adapted/class/detail/size_impl.hpp | 37 ++++++ .../adapted/class/detail/value_at_impl.hpp | 47 ++++++++ .../class/detail/value_at_key_impl.hpp | 39 +++++++ .../boost/fusion/adapted/class/extension.hpp | 68 ++++++++++++ include/boost/fusion/include/adapt_class.hpp | 12 ++ 17 files changed, 884 insertions(+) create mode 100644 include/boost/fusion/adapted/class.hpp create mode 100644 include/boost/fusion/adapted/class/adapt_assoc_class.hpp create mode 100644 include/boost/fusion/adapted/class/adapt_class.hpp create mode 100644 include/boost/fusion/adapted/class/class_iterator.hpp create mode 100644 include/boost/fusion/adapted/class/detail/at_impl.hpp create mode 100644 include/boost/fusion/adapted/class/detail/at_key_impl.hpp create mode 100644 include/boost/fusion/adapted/class/detail/begin_impl.hpp create mode 100644 include/boost/fusion/adapted/class/detail/category_of_impl.hpp create mode 100644 include/boost/fusion/adapted/class/detail/end_impl.hpp create mode 100644 include/boost/fusion/adapted/class/detail/has_key_impl.hpp create mode 100644 include/boost/fusion/adapted/class/detail/is_sequence_impl.hpp create mode 100644 include/boost/fusion/adapted/class/detail/is_view_impl.hpp create mode 100644 include/boost/fusion/adapted/class/detail/size_impl.hpp create mode 100644 include/boost/fusion/adapted/class/detail/value_at_impl.hpp create mode 100644 include/boost/fusion/adapted/class/detail/value_at_key_impl.hpp create mode 100644 include/boost/fusion/adapted/class/extension.hpp create mode 100644 include/boost/fusion/include/adapt_class.hpp diff --git a/include/boost/fusion/adapted/class.hpp b/include/boost/fusion/adapted/class.hpp new file mode 100644 index 00000000..be973831 --- /dev/null +++ b/include/boost/fusion/adapted/class.hpp @@ -0,0 +1,28 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_CLASS_OCTOBER_4_2009_839PM) +#define BOOST_FUSION_CLASS_OCTOBER_4_2009_839PM + +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/include/boost/fusion/adapted/class/adapt_assoc_class.hpp b/include/boost/fusion/adapted/class/adapt_assoc_class.hpp new file mode 100644 index 00000000..11f40ade --- /dev/null +++ b/include/boost/fusion/adapted/class/adapt_assoc_class.hpp @@ -0,0 +1,94 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2007 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_ADAPT_ASSOC_CLASS_OCTOBER_4_2009_840PM) +#define BOOST_FUSION_ADAPT_ASSOC_CLASS_OCTOBER_4_2009_840PM + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace extension { + template + struct class_assoc_member; +}}} + + +#define BOOST_FUSION_ADAPT_ASSOC_CLASS(name, bseq) \ + BOOST_FUSION_ADAPT_ASSOC_CLASS_I( \ + name, BOOST_PP_CAT(BOOST_FUSION_ADAPT_ASSOC_CLASS_X bseq, 0)) \ + /***/ + +#define BOOST_FUSION_ADAPT_ASSOC_CLASS_X(x, y, z) ((x, y, z)) BOOST_FUSION_ADAPT_ASSOC_CLASS_Y +#define BOOST_FUSION_ADAPT_ASSOC_CLASS_Y(x, y, z) ((x, y, z)) BOOST_FUSION_ADAPT_ASSOC_CLASS_X +#define BOOST_FUSION_ADAPT_ASSOC_CLASS_X0 +#define BOOST_FUSION_ADAPT_ASSOC_CLASS_Y0 + +// BOOST_FUSION_ADAPT_ASSOC_CLASS_I generates the overarching structure and uses +// SEQ_FOR_EACH_I to generate the "linear" substructures. +// Thanks to Paul Mensonides for the PP macro help + +#define BOOST_FUSION_ADAPT_ASSOC_CLASS_I(name, seq) \ + namespace boost { namespace fusion { namespace traits \ + { \ + template <> \ + struct tag_of \ + { \ + typedef class_tag type; \ + }; \ + }}} \ + namespace boost { namespace fusion { namespace extension \ + { \ + template <> \ + struct class_size : mpl::int_ {}; \ + BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_ASSOC_CLASS_C, name, seq) \ + }}} \ + /***/ + +#define BOOST_FUSION_ADAPT_ASSOC_CLASS_C(r, name, i, xy) \ + template <> \ + struct class_member \ + { \ + typedef BOOST_PP_TUPLE_ELEM(3, 0, xy) type; \ + static type& call(name& class_) \ + { \ + return class_.BOOST_PP_TUPLE_ELEM(3, 1, xy); \ + }; \ + }; \ + template<> \ + struct class_assoc_member \ + { \ + typedef BOOST_PP_TUPLE_ELEM(3, 0, xy) type; \ + static type& call(name& class_) \ + { \ + return class_.BOOST_PP_TUPLE_ELEM(3, 1, xy); \ + }; \ + }; + /***/ + +#endif diff --git a/include/boost/fusion/adapted/class/adapt_class.hpp b/include/boost/fusion/adapted/class/adapt_class.hpp new file mode 100644 index 00000000..c4e5c29f --- /dev/null +++ b/include/boost/fusion/adapted/class/adapt_class.hpp @@ -0,0 +1,104 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_ADAPT_CLASS_OCTOBER_4_2009_840PM) +#define BOOST_FUSION_ADAPT_CLASS_OCTOBER_4_2009_840PM + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BOOST_FUSION_ADAPT_CLASS(name, bseq) \ + BOOST_FUSION_ADAPT_CLASS_I( \ + name, BOOST_PP_CAT(BOOST_FUSION_ADAPT_CLASS_X bseq, 0)) \ + /***/ + +#define BOOST_FUSION_ADAPT_CLASS_X(w, x, y, z) ((w, x, y, z)) BOOST_FUSION_ADAPT_CLASS_Y +#define BOOST_FUSION_ADAPT_CLASS_Y(w, x, y, z) ((w, x, y, z)) BOOST_FUSION_ADAPT_CLASS_X +#define BOOST_FUSION_ADAPT_CLASS_X0 +#define BOOST_FUSION_ADAPT_CLASS_Y0 + +// BOOST_FUSION_ADAPT_CLASS_I generates the overarching structure and uses +// SEQ_FOR_EACH_I to generate the "linear" substructures. +// Thanks to Paul Mensonides for the PP macro help + +#define BOOST_FUSION_ADAPT_CLASS_I(name, seq) \ + namespace boost { namespace fusion { namespace traits \ + { \ + template <> \ + struct tag_of \ + { \ + typedef class_tag type; \ + }; \ + }}} \ + namespace boost { namespace fusion { namespace extension \ + { \ + template <> \ + struct class_size : mpl::int_ {}; \ + BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_CLASS_C, name, seq) \ + }}} \ + /***/ + +#define BOOST_FUSION_ADAPT_CLASS_C(r, name, i, xy) \ + template <> \ + struct class_member \ + { \ + typedef BOOST_PP_TUPLE_ELEM(4, 0, xy) type; \ + typedef BOOST_PP_TUPLE_ELEM(4, 1, xy) get_type; \ + struct proxy \ + { \ + typedef BOOST_PP_TUPLE_ELEM(4, 0, xy) type; \ + typedef BOOST_PP_TUPLE_ELEM(4, 1, xy) get_type; \ + typedef \ + add_reference::type>::type \ + cref_type; \ + \ + proxy(name& obj) : obj(obj) {} \ + name& obj; \ + \ + proxy& operator=(cref_type val) \ + { \ + BOOST_PP_TUPLE_ELEM(4, 3, xy); \ + return *this; \ + } \ + \ + operator get_type() \ + { \ + return BOOST_PP_TUPLE_ELEM(4, 2, xy); \ + } \ + }; \ + \ + static get_type call(name const& obj) \ + { \ + return BOOST_PP_TUPLE_ELEM(4, 2, xy); \ + }; \ + \ + static proxy call(name& obj) \ + { \ + return proxy(obj); \ + }; \ + }; \ + /***/ + +#endif diff --git a/include/boost/fusion/adapted/class/class_iterator.hpp b/include/boost/fusion/adapted/class/class_iterator.hpp new file mode 100644 index 00000000..639ee927 --- /dev/null +++ b/include/boost/fusion/adapted/class/class_iterator.hpp @@ -0,0 +1,105 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(FUSION_CLASS_ITERATOR_OCTOBER_4_2009_839M) +#define FUSION_CLASS_ITERATOR_OCTOBER_4_2009_839M + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct random_access_traversal_tag; + + template + struct class_iterator + : iterator_facade, random_access_traversal_tag> + { + BOOST_MPL_ASSERT_RELATION(N_, >=, 0); + BOOST_MPL_ASSERT_RELATION(N_, <=, extension::class_size::value); + + typedef mpl::int_ index; + typedef Class class_type; + + class_iterator(Class& class_) + : class_(class_) {} + Class& class_; + + template + struct value_of + : extension::class_member + { + }; + + template + struct deref + { + typedef typename + mpl::if_< + is_const + , typename extension::class_member::get_type + , typename extension::class_member::proxy + >::type + type; + + static type + call(Iterator const& iter) + { + return extension::class_member:: + call(iter.class_); + } + }; + + template + struct advance + { + typedef typename Iterator::index index; + typedef typename Iterator::class_type class_type; + typedef class_iterator type; + + static type + call(Iterator const& iter) + { + return type(iter.class_); + } + }; + + template + struct next : advance > {}; + + template + struct prior : advance > {}; + + template + struct distance : mpl::minus + { + typedef typename + mpl::minus< + typename I2::index, typename I1::index + >::type + type; + + static type + call(I1 const&, I2 const&) + { + return type(); + } + }; + }; +}} + +#endif + + diff --git a/include/boost/fusion/adapted/class/detail/at_impl.hpp b/include/boost/fusion/adapted/class/detail/at_impl.hpp new file mode 100644 index 00000000..12b5171f --- /dev/null +++ b/include/boost/fusion/adapted/class/detail/at_impl.hpp @@ -0,0 +1,70 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_AT_IMPL_OCTOBER_4_2009_920PM) +#define BOOST_FUSION_AT_IMPL_OCTOBER_4_2009_920PM + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct class_tag; + + namespace extension + { + template + struct at_impl; + + template + struct class_member; + + template + struct class_size; + + template <> + struct at_impl + { + template + struct apply + { + static int const n_value = N::value; + BOOST_MPL_ASSERT_RELATION( + n_value, <=, extension::class_size::value); + + typedef typename + extension::class_member + element; + + typedef typename + mpl::if_< + is_const + , typename class_member::get_type + , typename class_member::proxy + >::type + type; + + static type + call(Sequence& seq) + { + return extension:: + class_member::call(seq); + } + + //~ static typename class_member::get_type + //~ call(Sequence const& seq) + //~ { + //~ return extension:: + //~ class_member::call(seq); + //~ } + }; + }; + } +}} + +#endif diff --git a/include/boost/fusion/adapted/class/detail/at_key_impl.hpp b/include/boost/fusion/adapted/class/detail/at_key_impl.hpp new file mode 100644 index 00000000..9df985bf --- /dev/null +++ b/include/boost/fusion/adapted/class/detail/at_key_impl.hpp @@ -0,0 +1,54 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2007 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_AT_KEY_IMPL_OCTOBER_4_2009_920PM) +#define BOOST_FUSION_AT_KEY_IMPL_OCTOBER_4_2009_920PM + +#include + +namespace boost { namespace fusion +{ + struct class_tag; + + namespace extension + { + template + struct at_key_impl; + + template + struct class_assoc_member; + + template <> + struct at_key_impl + { + template + struct apply + { + typedef typename + extension::class_assoc_member + element; + + typedef typename + mpl::eval_if< + is_const + , detail::cref_result + , detail::ref_result + >::type + type; + + static type + call(Sequence& seq) + { + return extension:: + class_assoc_member::call(seq); + } + }; + }; + } +}} + +#endif diff --git a/include/boost/fusion/adapted/class/detail/begin_impl.hpp b/include/boost/fusion/adapted/class/detail/begin_impl.hpp new file mode 100644 index 00000000..4fadac4e --- /dev/null +++ b/include/boost/fusion/adapted/class/detail/begin_impl.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_BEGIN_IMPL_OCTOBER_4_2009_920PM) +#define BOOST_FUSION_BEGIN_IMPL_OCTOBER_4_2009_920PM + +#include + +namespace boost { namespace fusion +{ + struct class_tag; + + namespace extension + { + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef class_iterator type; + + static type + call(Sequence& v) + { + return type(v); + } + }; + }; + } +}} + +#endif diff --git a/include/boost/fusion/adapted/class/detail/category_of_impl.hpp b/include/boost/fusion/adapted/class/detail/category_of_impl.hpp new file mode 100644 index 00000000..821cf38b --- /dev/null +++ b/include/boost/fusion/adapted/class/detail/category_of_impl.hpp @@ -0,0 +1,35 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_CATEGORY_OF_IMPL_OCTOBER_4_2009_919PM) +#define BOOST_FUSION_CATEGORY_OF_IMPL_OCTOBER_4_2009_919PM + +#include + +namespace boost { namespace fusion +{ + struct class_tag; + struct random_access_traversal_tag; + + namespace extension + { + template + struct category_of_impl; + + template<> + struct category_of_impl + { + template + struct apply + { + typedef random_access_traversal_tag type; + }; + }; + } +}} + +#endif diff --git a/include/boost/fusion/adapted/class/detail/end_impl.hpp b/include/boost/fusion/adapted/class/detail/end_impl.hpp new file mode 100644 index 00000000..81c02c30 --- /dev/null +++ b/include/boost/fusion/adapted/class/detail/end_impl.hpp @@ -0,0 +1,48 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_END_IMPL_OCTOBER_4_2009_919PM) +#define BOOST_FUSION_END_IMPL_OCTOBER_4_2009_919PM + +#include + +namespace boost { namespace fusion +{ + struct class_tag; + + namespace extension + { + template + struct end_impl; + + template + struct class_size; + + template <> + struct end_impl + { + template + struct apply + { + typedef + class_iterator< + Sequence + , class_size::value + > + type; + + static type + call(Sequence& v) + { + return type(v); + } + }; + }; + } +}} + +#endif diff --git a/include/boost/fusion/adapted/class/detail/has_key_impl.hpp b/include/boost/fusion/adapted/class/detail/has_key_impl.hpp new file mode 100644 index 00000000..27f1adce --- /dev/null +++ b/include/boost/fusion/adapted/class/detail/has_key_impl.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2007 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_HAS_KEY_IMPL_OCTOBER_4_2009_919PM) +#define BOOST_FUSION_HAS_KEY_IMPL_OCTOBER_4_2009_919PM + +#include +#include + +namespace boost { namespace fusion { + + struct class_tag; + + namespace extension + { + struct no_such_member; + + template + struct has_key_impl; + + template + struct class_assoc_member; + + template<> + struct has_key_impl + { + template + struct apply + : mpl::not_::type> > + { + }; + }; + } +}} + +#endif diff --git a/include/boost/fusion/adapted/class/detail/is_sequence_impl.hpp b/include/boost/fusion/adapted/class/detail/is_sequence_impl.hpp new file mode 100644 index 00000000..c1d35de1 --- /dev/null +++ b/include/boost/fusion/adapted/class/detail/is_sequence_impl.hpp @@ -0,0 +1,31 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_IS_SEQUENCE_IMPL_OCTOBER_4_2009_919PM) +#define BOOST_FUSION_IS_SEQUENCE_IMPL_OCTOBER_4_2009_919PM + +#include + +namespace boost { namespace fusion +{ + struct class_tag; + + namespace extension + { + template + struct is_sequence_impl; + + template<> + struct is_sequence_impl + { + template + struct apply : mpl::true_ {}; + }; + } +}} + +#endif diff --git a/include/boost/fusion/adapted/class/detail/is_view_impl.hpp b/include/boost/fusion/adapted/class/detail/is_view_impl.hpp new file mode 100644 index 00000000..86ce0074 --- /dev/null +++ b/include/boost/fusion/adapted/class/detail/is_view_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_IS_VIEW_IMPL_OCTOBER_4_2009_919PM) +#define BOOST_FUSION_IS_VIEW_IMPL_OCTOBER_4_2009_919PM + +#include + +namespace boost { namespace fusion +{ + struct class_tag; + + namespace extension + { + template + struct is_view_impl; + + template<> + struct is_view_impl + { + template + struct apply : mpl::false_ + {}; + }; + } +}} + +#endif diff --git a/include/boost/fusion/adapted/class/detail/size_impl.hpp b/include/boost/fusion/adapted/class/detail/size_impl.hpp new file mode 100644 index 00000000..de34a3b1 --- /dev/null +++ b/include/boost/fusion/adapted/class/detail/size_impl.hpp @@ -0,0 +1,37 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_SIZE_IMPL_OCTOBER_4_2009_919PM) +#define BOOST_FUSION_SIZE_IMPL_OCTOBER_4_2009_919PM + +#include + +namespace boost { namespace fusion +{ + namespace extension + { + template + struct class_size; + } + + struct class_tag; + + namespace extension + { + template + struct size_impl; + + template <> + struct size_impl + { + template + struct apply : extension::class_size {}; + }; + } +}} + +#endif diff --git a/include/boost/fusion/adapted/class/detail/value_at_impl.hpp b/include/boost/fusion/adapted/class/detail/value_at_impl.hpp new file mode 100644 index 00000000..64d2fc3a --- /dev/null +++ b/include/boost/fusion/adapted/class/detail/value_at_impl.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_VALUE_AT_IMPL_OCTOBER_4_2009_918PM) +#define BOOST_FUSION_VALUE_AT_IMPL_OCTOBER_4_2009_918PM + +#include +#include + +namespace boost { namespace fusion +{ + struct class_tag; + + namespace extension + { + template + struct value_at_impl; + + template + struct class_member; + + template + struct class_size; + + template <> + struct value_at_impl + { + template + struct apply + { + static int const n_value = N::value; + BOOST_MPL_ASSERT_RELATION( + n_value, <=, extension::class_size::value); + + typedef typename + extension::class_member::type + type; + }; + }; + } +}} + +#endif diff --git a/include/boost/fusion/adapted/class/detail/value_at_key_impl.hpp b/include/boost/fusion/adapted/class/detail/value_at_key_impl.hpp new file mode 100644 index 00000000..f9adc104 --- /dev/null +++ b/include/boost/fusion/adapted/class/detail/value_at_key_impl.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2007 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_VALUE_AT_KEY_IMPL_OCTOBER_4_2009_918PM) +#define BOOST_FUSION_VALUE_AT_KEY_IMPL_OCTOBER_4_2009_918PM + +#include + +namespace boost { namespace fusion +{ + struct class_tag; + + namespace extension + { + template + struct value_at_key_impl; + + template + struct class_assoc_member; + + template <> + struct value_at_key_impl + { + template + struct apply + { + typedef typename + extension::class_assoc_member::type + type; + }; + }; + } +}} + +#endif diff --git a/include/boost/fusion/adapted/class/extension.hpp b/include/boost/fusion/adapted/class/extension.hpp new file mode 100644 index 00000000..28d0a223 --- /dev/null +++ b/include/boost/fusion/adapted/class/extension.hpp @@ -0,0 +1,68 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(FUSION_CLASS_EXTENSION_OCTOBER_4_2009_839PM) +#define FUSION_CLASS_EXTENSION_OCTOBER_4_2009_839PM + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct class_member; + + template + struct class_size; + + template + struct class_member : class_member {}; + //~ { + //~ typedef typename class_member::type type; + //~ typedef typename class_member::get_type get_type; + //~ typedef typename class_member::proxy proxy; + + //~ static get_type& + //~ call(Class const& class_) + //~ { + //~ return class_member::call( + //~ const_cast(class_)); + //~ } + //~ }; + + template + struct class_size + : class_size + {}; + + struct no_such_member; + + template + struct class_assoc_member + { + typedef no_such_member type; + }; + + template + struct class_assoc_member + { + typedef typename + add_const::type>::type + type; + + static type& + call(Class const& class_) + { + return class_assoc_member::call( + const_cast(class_)); + } + }; + +}}} + +#endif + + diff --git a/include/boost/fusion/include/adapt_class.hpp b/include/boost/fusion/include/adapt_class.hpp new file mode 100644 index 00000000..7c32768e --- /dev/null +++ b/include/boost/fusion/include/adapt_class.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ADAPT_CLASS) +#define FUSION_INCLUDE_ADAPT_CLASS + +#include + +#endif From 9a1bc7d6774b4e978ca7e31fc32488210fea7552 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Sun, 4 Oct 2009 16:59:50 +0000 Subject: [PATCH 04/36] BOOST_FUSION_ADAPT_CLASS [SVN r56576] --- doc/container.qbk | 4 +- test/sequence/adapt_class.cpp | 118 +++++++++++++++++++++++++ test/sequence/test_deduce_sequence.cpp | 16 ++++ 3 files changed, 135 insertions(+), 3 deletions(-) create mode 100644 test/sequence/adapt_class.cpp create mode 100644 test/sequence/test_deduce_sequence.cpp diff --git a/doc/container.qbk b/doc/container.qbk index c859e4ae..226d3da1 100644 --- a/doc/container.qbk +++ b/doc/container.qbk @@ -716,9 +716,7 @@ default. Example: [heading Example] - make_map( - __fusion_make_pair__('X') - , __fusion_make_pair__("Men")) + make_map('X', "Men") [heading See also] diff --git a/test/sequence/adapt_class.cpp b/test/sequence/adapt_class.cpp new file mode 100644 index 00000000..fd9b38c5 --- /dev/null +++ b/test/sequence/adapt_class.cpp @@ -0,0 +1,118 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + + 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) +==============================================================================*/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace ns +{ + class point + { + public: + + point() : x(0), y(0) {} + point(int x, int y) : x(x), y(y) {} + + int get_x() const { return x; } + int get_y() const { return y; } + void set_x(int x_) { x = x_; } + void set_y(int y_) { y = y_; } + + private: + + int x; + int y; + }; +} + +BOOST_FUSION_ADAPT_CLASS( + ns::point, + (int, int, obj.get_x(), obj.set_x(val)) + (int, int, obj.get_y(), obj.set_y(val)) +) + +int +main() +{ + using namespace boost::fusion; + using namespace boost; + using namespace std; + + std::cout << tuple_open('['); + std::cout << tuple_close(']'); + std::cout << tuple_delimiter(", "); + + { + BOOST_MPL_ASSERT_NOT((traits::is_view)); + ns::point p(123, 456); + + std::cout << at_c<0>(p) << std::endl; + std::cout << at_c<1>(p) << std::endl; + std::cout << p << std::endl; + BOOST_TEST(p == make_vector(123, 456)); + + at_c<0>(p) = 6; + at_c<1>(p) = 9; + BOOST_TEST(p == make_vector(6, 9)); + + BOOST_STATIC_ASSERT(result_of::size::value == 2); + BOOST_STATIC_ASSERT(!result_of::empty::value); + + BOOST_TEST(front(p) == 6); + BOOST_TEST(back(p) == 9); + } + + { + fusion::vector v1(4, 2); + ns::point v2(5, 3); + fusion::vector v3(5, 4); + BOOST_TEST(v1 < v2); + BOOST_TEST(v1 <= v2); + BOOST_TEST(v2 > v1); + BOOST_TEST(v2 >= v1); + BOOST_TEST(v2 < v3); + BOOST_TEST(v2 <= v3); + BOOST_TEST(v3 > v2); + BOOST_TEST(v3 >= v2); + } + + { + // conversion from ns::point to vector + ns::point p(5, 3); + fusion::vector v(p); + v = p; + } + + { + // conversion from ns::point to list + ns::point p(5, 3); + fusion::list l(p); + l = p; + } + + return boost::report_errors(); +} + diff --git a/test/sequence/test_deduce_sequence.cpp b/test/sequence/test_deduce_sequence.cpp new file mode 100644 index 00000000..d137cd30 --- /dev/null +++ b/test/sequence/test_deduce_sequence.cpp @@ -0,0 +1,16 @@ + +#include +#include + +typedef boost::fusion::traits::deduce_sequence < + +boost::mpl::vector + +>::type seq1_t; + + +typedef boost::fusion::traits::deduce_sequence < + +boost::fusion::vector + +>::type seq2_t; From 959b0b08393c661520d4728f94cc68de52094d3b Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Mon, 5 Oct 2009 21:36:55 +0000 Subject: [PATCH 05/36] Fusion: fixing mismatch in default parameter to nview [SVN r56604] --- include/boost/fusion/view/nview/detail/nview_impl.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/fusion/view/nview/detail/nview_impl.hpp b/include/boost/fusion/view/nview/detail/nview_impl.hpp index c0179597..044094ff 100644 --- a/include/boost/fusion/view/nview/detail/nview_impl.hpp +++ b/include/boost/fusion/view/nview/detail/nview_impl.hpp @@ -29,7 +29,7 @@ namespace boost { namespace fusion { namespace result_of { template + , BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT(FUSION_MAX_VECTOR_SIZE, int I, LONG_MAX)> struct as_nview { typedef mpl::vector_c< From a110ea93045b88c6d2744f49b704898b6e595311 Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Mon, 5 Oct 2009 22:00:09 +0000 Subject: [PATCH 06/36] Fixing mismatch of default parameter values [SVN r56607] --- .../fusion/view/nview/detail/nview_impl.hpp | 20 ++++++++++++++----- 1 file changed, 15 insertions(+), 5 deletions(-) diff --git a/include/boost/fusion/view/nview/detail/nview_impl.hpp b/include/boost/fusion/view/nview/detail/nview_impl.hpp index 044094ff..deee9ded 100644 --- a/include/boost/fusion/view/nview/detail/nview_impl.hpp +++ b/include/boost/fusion/view/nview/detail/nview_impl.hpp @@ -10,7 +10,7 @@ #if !defined(BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM) #define BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM -#include +//#include #include #include #include @@ -23,8 +23,6 @@ "boost/fusion/view/nview/detail/nview_impl.hpp")) \ /**/ -#include BOOST_PP_ITERATE() - /////////////////////////////////////////////////////////////////////////////// namespace boost { namespace fusion { namespace result_of { @@ -35,12 +33,12 @@ namespace boost { namespace fusion { namespace result_of typedef mpl::vector_c< int, BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, I) > index_type; - typedef nview type; }; - }}} +#include BOOST_PP_ITERATE() + #endif /////////////////////////////////////////////////////////////////////////////// @@ -50,6 +48,18 @@ namespace boost { namespace fusion { namespace result_of #define N BOOST_PP_ITERATION() +#if N < FUSION_MAX_VECTOR_SIZE +namespace boost { namespace fusion { namespace result_of +{ + template + struct as_nview + { + typedef mpl::vector_c index_type; + typedef nview type; + }; +}}} +#endif + namespace boost { namespace fusion { template From 9ebe273fb32298cdee67dd1085c018af77c2d663 Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Mon, 5 Oct 2009 22:29:10 +0000 Subject: [PATCH 07/36] Fusion: fixing nview tests [SVN r56609] --- test/sequence/nview.cpp | 32 +++++++++++++++++--------------- 1 file changed, 17 insertions(+), 15 deletions(-) diff --git a/test/sequence/nview.cpp b/test/sequence/nview.cpp index b8729cea..e8110f79 100644 --- a/test/sequence/nview.cpp +++ b/test/sequence/nview.cpp @@ -28,48 +28,48 @@ BOOST_FUSION_ADAPT_STRUCT( (double, double_) ); -using namespace boost::fusion; +namespace fusion = boost::fusion; template -bool check_size(Sequence& s, int seqsize) +bool check_size(Sequence const& s, int seqsize) { - return size(s) == seqsize; + return fusion::size(s) == seqsize; } template -bool check_deref_begin(Sequence& s, T val) +bool check_deref_begin(Sequence const& s, T val) { - return deref(begin(s)) == val; + return fusion::deref(fusion::begin(s)) == val; } template -bool check_deref_next(Sequence& s, T val) +bool check_deref_next(Sequence const& s, T val) { - return deref(next(begin(s))) == val; + return fusion::deref(fusion::next(fusion::begin(s))) == val; } template -bool check_deref_advance(Sequence& s, T val) +bool check_deref_advance(Sequence const& s, T val) { - return deref(advance_c(begin(s))) == val; + return fusion::deref(fusion::advance_c(fusion::begin(s))) == val; } template -bool check_deref_prior(Sequence& s, T val) +bool check_deref_prior(Sequence const& s, T val) { - return deref(prior(end(s))) == val; + return fusion::deref(fusion::prior(fusion::end(s))) == val; } template -bool check_at(Sequence& s, T val) +bool check_at(Sequence const& s, T val) { - return at_c(s) == val; + return fusion::at_c(s) == val; } template -bool check_distance(Sequence& s, int val) +bool check_distance(Sequence const& s, int val) { - return distance(begin(s), end(s)) == val; + return fusion::distance(fusion::begin(s), fusion::end(s)) == val; } int main() @@ -79,6 +79,8 @@ int main() t.string_ = "test"; t.double_ = 2.0; + using fusion::as_nview; + // check size() { BOOST_TEST(check_size(as_nview<0>(t), 1)); From e26d26d511559225159ab053e8fec6aced27e1f3 Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Mon, 5 Oct 2009 22:30:23 +0000 Subject: [PATCH 08/36] Fusion: added size_impl for nview [SVN r56610] --- .../fusion/view/nview/detail/nview_impl.hpp | 2 +- .../fusion/view/nview/detail/size_impl.hpp | 38 +++++++++++++++++++ .../fusion/view/nview/nview_iterator.hpp | 1 + 3 files changed, 40 insertions(+), 1 deletion(-) create mode 100644 include/boost/fusion/view/nview/detail/size_impl.hpp diff --git a/include/boost/fusion/view/nview/detail/nview_impl.hpp b/include/boost/fusion/view/nview/detail/nview_impl.hpp index deee9ded..03aa49f4 100644 --- a/include/boost/fusion/view/nview/detail/nview_impl.hpp +++ b/include/boost/fusion/view/nview/detail/nview_impl.hpp @@ -10,7 +10,7 @@ #if !defined(BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM) #define BOOST_FUSION_NVIEW_IMPL_SEP_23_2009_1017PM -//#include +#include #include #include #include diff --git a/include/boost/fusion/view/nview/detail/size_impl.hpp b/include/boost/fusion/view/nview/detail/size_impl.hpp new file mode 100644 index 00000000..0c834026 --- /dev/null +++ b/include/boost/fusion/view/nview/detail/size_impl.hpp @@ -0,0 +1,38 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_NVIEW_SIZE_IMPL_OCT_06_2009_0525PM) +#define FUSION_NVIEW_SIZE_IMPL_OCT_06_2009_0525PM + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct nview_tag; + + namespace extension + { + template + struct size_impl; + + template <> + struct size_impl + { + template + struct apply + : result_of::distance< + typename result_of::begin::type + , typename result_of::end::type> + {}; + }; + } +}} + +#endif + + diff --git a/include/boost/fusion/view/nview/nview_iterator.hpp b/include/boost/fusion/view/nview/nview_iterator.hpp index 12580749..60895093 100644 --- a/include/boost/fusion/view/nview/nview_iterator.hpp +++ b/include/boost/fusion/view/nview/nview_iterator.hpp @@ -13,6 +13,7 @@ #include #include +#include #include #include #include From d978cec6b628df0ed91d9ca16d94b065ce0d83c4 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Sun, 11 Oct 2009 04:00:00 +0000 Subject: [PATCH 09/36] Fix default construction of vector [SVN r56709] --- include/boost/fusion/adapted/class/extension.hpp | 12 ------------ .../fusion/container/vector/detail/vector_n.hpp | 2 +- 2 files changed, 1 insertion(+), 13 deletions(-) diff --git a/include/boost/fusion/adapted/class/extension.hpp b/include/boost/fusion/adapted/class/extension.hpp index 28d0a223..b827e7ff 100644 --- a/include/boost/fusion/adapted/class/extension.hpp +++ b/include/boost/fusion/adapted/class/extension.hpp @@ -20,18 +20,6 @@ namespace boost { namespace fusion { namespace extension template struct class_member : class_member {}; - //~ { - //~ typedef typename class_member::type type; - //~ typedef typename class_member::get_type get_type; - //~ typedef typename class_member::proxy proxy; - - //~ static get_type& - //~ call(Class const& class_) - //~ { - //~ return class_member::call( - //~ const_cast(class_)); - //~ } - //~ }; template struct class_size diff --git a/include/boost/fusion/container/vector/detail/vector_n.hpp b/include/boost/fusion/container/vector/detail/vector_n.hpp index 01981ab3..2d9ac128 100644 --- a/include/boost/fusion/container/vector/detail/vector_n.hpp +++ b/include/boost/fusion/container/vector/detail/vector_n.hpp @@ -9,7 +9,7 @@ #if !defined(FUSION_MACRO_05042005) #define FUSION_MACRO_05042005 -#define FUSION_MEMBER_DEFAULT_INIT(z, n, _) m##n(T##n()) +#define FUSION_MEMBER_DEFAULT_INIT(z, n, _) m##n() #define FUSION_MEMBER_INIT(z, n, _) m##n(_##n) #define FUSION_COPY_INIT(z, n, _) m##n(other.m##n) #define FUSION_MEMBER_DECL(z, n, _) T##n m##n; From 43f861ca8741be5089f2dadbcdc9e150a971f2c7 Mon Sep 17 00:00:00 2001 From: "Troy D. Straszheim" Date: Sat, 17 Oct 2009 02:07:38 +0000 Subject: [PATCH 10/36] rm cmake from trunk. I'm not entirely sure this is necessary to satisfy the inspect script, but I'm not taking any chances, and it is easy to put back [SVN r56942] --- CMakeLists.txt | 29 ----------------------------- module.cmake | 1 - 2 files changed, 30 deletions(-) delete mode 100644 CMakeLists.txt delete mode 100644 module.cmake diff --git a/CMakeLists.txt b/CMakeLists.txt deleted file mode 100644 index 2a91cc15..00000000 --- a/CMakeLists.txt +++ /dev/null @@ -1,29 +0,0 @@ -# -# Copyright Troy D. Straszheim -# -# Distributed under the Boost Software License, Version 1.0. -# See http://www.boost.org/LICENSE_1_0.txt -# -#---------------------------------------------------------------------------- -# This file was automatically generated from the original CMakeLists.txt file -# Add a variable to hold the headers for the library -set (lib_headers - fusion -) - -# Add a library target to the build system -boost_library_project( - fusion - # SRCDIRS - # TESTDIRS - HEADERS ${lib_headers} - # DOCDIRS - DESCRIPTION "Library for working with tuples, including various containers, algorithms, etc." - MODULARIZED - AUTHORS "Joel de Guzman " - "Dan Marsden " - "Tobias Schwinger " - # MAINTAINERS -) - - diff --git a/module.cmake b/module.cmake deleted file mode 100644 index fa210eb3..00000000 --- a/module.cmake +++ /dev/null @@ -1 +0,0 @@ -boost_module (fusion DEPENDS function_types) \ No newline at end of file From 35e469e2d53cb0a3bcd65c890b94fc8890018520 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Sat, 24 Oct 2009 10:59:01 +0000 Subject: [PATCH 11/36] fix for #2355: discrepancy between std::accumulate and fusion::accumulate [SVN r57125] --- changelist.txt | 4 +- doc/algorithm.qbk | 24 ++--- doc/html/fusion/acknowledgements.html | 2 +- doc/html/fusion/adapted.html | 4 +- doc/html/fusion/adapted/adapt_assoc.html | 12 +-- doc/html/fusion/adapted/adapt_struct.html | 12 +-- doc/html/fusion/adapted/boost__array.html | 10 +- doc/html/fusion/adapted/boost__tuple.html | 10 +- doc/html/fusion/adapted/mpl_sequence.html | 10 +- doc/html/fusion/adapted/std__pair.html | 10 +- doc/html/fusion/algorithm.html | 8 +- doc/html/fusion/algorithm/iteration.html | 4 +- .../fusion/algorithm/iteration/functions.html | 2 +- .../iteration/functions/accumulate.html | 50 +++++----- .../algorithm/iteration/functions/fold.html | 47 ++++----- .../iteration/functions/for_each.html | 16 ++-- .../algorithm/iteration/metafunctions.html | 2 +- .../iteration/metafunctions/accumulate.html | 20 ++-- .../iteration/metafunctions/fold.html | 20 ++-- .../iteration/metafunctions/for_each.html | 14 +-- doc/html/fusion/algorithm/query.html | 4 +- .../fusion/algorithm/query/functions.html | 2 +- .../fusion/algorithm/query/functions/all.html | 16 ++-- .../fusion/algorithm/query/functions/any.html | 16 ++-- .../algorithm/query/functions/count.html | 16 ++-- .../algorithm/query/functions/count_if.html | 16 ++-- .../algorithm/query/functions/find.html | 16 ++-- .../algorithm/query/functions/find_if.html | 14 +-- .../algorithm/query/functions/none.html | 16 ++-- .../fusion/algorithm/query/metafunctions.html | 2 +- .../algorithm/query/metafunctions/all.html | 14 +-- .../algorithm/query/metafunctions/any.html | 14 +-- .../algorithm/query/metafunctions/count.html | 14 +-- .../query/metafunctions/count_if.html | 14 +-- .../algorithm/query/metafunctions/find.html | 14 +-- .../query/metafunctions/find_if.html | 14 +-- .../algorithm/query/metafunctions/none.html | 14 +-- doc/html/fusion/algorithm/transformation.html | 4 +- .../algorithm/transformation/functions.html | 2 +- .../transformation/functions/clear.html | 16 ++-- .../transformation/functions/erase.html | 16 ++-- .../transformation/functions/erase_key.html | 16 ++-- .../transformation/functions/filter.html | 16 ++-- .../transformation/functions/filter_if.html | 16 ++-- .../transformation/functions/insert.html | 16 ++-- .../functions/insert_range.html | 16 ++-- .../transformation/functions/join.html | 16 ++-- .../transformation/functions/pop_back.html | 16 ++-- .../transformation/functions/pop_front.html | 16 ++-- .../transformation/functions/push_back.html | 16 ++-- .../transformation/functions/push_front.html | 16 ++-- .../transformation/functions/remove.html | 16 ++-- .../transformation/functions/remove_if.html | 16 ++-- .../transformation/functions/replace.html | 16 ++-- .../transformation/functions/replace_if.html | 16 ++-- .../transformation/functions/reverse.html | 16 ++-- .../transformation/functions/transform.html | 20 ++-- .../transformation/functions/zip.html | 16 ++-- .../transformation/metafunctions.html | 2 +- .../transformation/metafunctions/clear.html | 14 +-- .../transformation/metafunctions/erase.html | 14 +-- .../metafunctions/erase_key.html | 14 +-- .../transformation/metafunctions/filter.html | 14 +-- .../metafunctions/filter_if.html | 14 +-- .../transformation/metafunctions/insert.html | 14 +-- .../metafunctions/insert_range.html | 14 +-- .../transformation/metafunctions/join.html | 12 +-- .../metafunctions/pop_back.html | 14 +-- .../metafunctions/pop_front.html | 12 +-- .../metafunctions/push_back.html | 12 +-- .../metafunctions/push_front.html | 12 +-- .../transformation/metafunctions/remove.html | 14 +-- .../metafunctions/remove_if.html | 14 +-- .../transformation/metafunctions/replace.html | 14 +-- .../metafunctions/replace_if.html | 14 +-- .../transformation/metafunctions/reverse.html | 14 +-- .../metafunctions/transform.html | 20 ++-- .../transformation/metafunctions/zip.html | 12 +-- doc/html/fusion/change_log.html | 2 +- doc/html/fusion/container.html | 4 +- doc/html/fusion/container/cons.html | 16 ++-- doc/html/fusion/container/conversion.html | 4 +- .../container/conversion/functions.html | 2 +- .../conversion/functions/as_list.html | 14 +-- .../conversion/functions/as_map.html | 14 +-- .../conversion/functions/as_set.html | 14 +-- .../conversion/functions/as_vector.html | 14 +-- .../container/conversion/metafunctions.html | 2 +- .../conversion/metafunctions/as_list.html | 14 +-- .../conversion/metafunctions/as_map.html | 14 +-- .../conversion/metafunctions/as_set.html | 14 +-- .../conversion/metafunctions/as_vector.html | 14 +-- doc/html/fusion/container/generation.html | 4 +- .../container/generation/functions.html | 2 +- .../generation/functions/list_tie.html | 14 +-- .../generation/functions/make_cons.html | 16 ++-- .../generation/functions/make_list.html | 16 ++-- .../generation/functions/make_map.html | 20 ++-- .../generation/functions/make_set.html | 16 ++-- .../generation/functions/make_vector.html | 16 ++-- .../generation/functions/map_tie.html | 14 +-- .../container/generation/functions/tiers.html | 8 +- .../generation/functions/vector_tie.html | 14 +-- .../container/generation/metafunctions.html | 2 +- .../generation/metafunctions/list_tie.html | 14 +-- .../generation/metafunctions/make_cons.html | 14 +-- .../generation/metafunctions/make_list.html | 14 +-- .../generation/metafunctions/make_map.html | 16 ++-- .../generation/metafunctions/make_set.html | 14 +-- .../generation/metafunctions/make_vector.html | 14 +-- .../generation/metafunctions/map_tie.html | 14 +-- .../generation/metafunctions/vector_tie.html | 14 +-- doc/html/fusion/container/list.html | 16 ++-- doc/html/fusion/container/map.html | 16 ++-- doc/html/fusion/container/set.html | 16 ++-- doc/html/fusion/container/vector.html | 16 ++-- doc/html/fusion/extension.html | 2 +- doc/html/fusion/extension/ext_full.html | 18 ++-- .../fusion/extension/iterator_facade.html | 16 ++-- .../fusion/extension/sequence_facade.html | 16 ++-- doc/html/fusion/functional.html | 10 +- doc/html/fusion/functional/adapters.html | 2 +- .../fusion/functional/adapters/fused.html | 18 ++-- .../adapters/fused_function_object.html | 18 ++-- .../functional/adapters/fused_procedure.html | 18 ++-- .../fusion/functional/adapters/limits.html | 6 +- .../fusion/functional/adapters/unfused.html | 18 ++-- .../functional/adapters/unfused_typed.html | 18 ++-- doc/html/fusion/functional/concepts.html | 2 +- .../fusion/functional/concepts/callable.html | 8 +- .../functional/concepts/def_callable.html | 12 +-- doc/html/fusion/functional/concepts/poly.html | 12 +-- .../functional/concepts/reg_callable.html | 12 +-- doc/html/fusion/functional/generation.html | 2 +- .../functional/generation/functions.html | 2 +- .../generation/functions/mk_fused.html | 16 ++-- .../generation/functions/mk_fused_fobj.html | 16 ++-- .../generation/functions/mk_fused_proc.html | 16 ++-- .../generation/functions/mk_unfused.html | 16 ++-- .../functional/generation/metafunctions.html | 2 +- .../generation/metafunctions/mk_fused.html | 10 +- .../metafunctions/mk_fused_fobj.html | 10 +- .../metafunctions/mk_fused_proc.html | 10 +- .../generation/metafunctions/mk_unfused.html | 10 +- doc/html/fusion/functional/invocation.html | 2 +- .../functional/invocation/functions.html | 2 +- .../invocation/functions/invoke.html | 16 ++-- .../invocation/functions/invoke_fobj.html | 16 ++-- .../invocation/functions/invoke_proc.html | 16 ++-- .../fusion/functional/invocation/limits.html | 6 +- .../functional/invocation/metafunctions.html | 2 +- .../invocation/metafunctions/invoke.html | 8 +- .../invocation/metafunctions/invoke_fobj.html | 8 +- .../invocation/metafunctions/invoke_proc.html | 8 +- doc/html/fusion/introduction.html | 6 +- doc/html/fusion/iterator.html | 4 +- doc/html/fusion/iterator/concepts.html | 2 +- .../concepts/bidirectional_iterator.html | 16 ++-- .../iterator/concepts/forward_iterator.html | 14 +-- .../concepts/random_access_iterator.html | 12 +-- doc/html/fusion/iterator/functions.html | 2 +- .../fusion/iterator/functions/advance.html | 14 +-- .../fusion/iterator/functions/advance_c.html | 14 +-- doc/html/fusion/iterator/functions/deref.html | 14 +-- .../fusion/iterator/functions/distance.html | 14 +-- doc/html/fusion/iterator/functions/next.html | 14 +-- doc/html/fusion/iterator/functions/prior.html | 14 +-- doc/html/fusion/iterator/metafunctions.html | 2 +- .../iterator/metafunctions/advance.html | 14 +-- .../iterator/metafunctions/advance_c.html | 14 +-- .../fusion/iterator/metafunctions/deref.html | 14 +-- .../iterator/metafunctions/distance.html | 14 +-- .../iterator/metafunctions/equal_to.html | 14 +-- .../fusion/iterator/metafunctions/next.html | 14 +-- .../fusion/iterator/metafunctions/prior.html | 14 +-- .../iterator/metafunctions/value_of.html | 14 +-- doc/html/fusion/iterator/operator.html | 2 +- .../iterator/operator/operator_equality.html | 12 +-- .../operator/operator_inequality.html | 12 +-- .../operator/operator_unary_star.html | 14 +-- doc/html/fusion/notes.html | 18 ++-- doc/html/fusion/organization.html | 12 +-- doc/html/fusion/preface.html | 12 +-- doc/html/fusion/quick_start.html | 18 ++-- doc/html/fusion/references.html | 2 +- doc/html/fusion/sequence.html | 4 +- doc/html/fusion/sequence/concepts.html | 6 +- .../concepts/associative_sequence.html | 12 +-- .../concepts/bidirectional_sequence.html | 14 +-- .../sequence/concepts/forward_sequence.html | 14 +-- .../concepts/random_access_sequence.html | 14 +-- doc/html/fusion/sequence/intrinsic.html | 8 +- .../fusion/sequence/intrinsic/functions.html | 2 +- .../sequence/intrinsic/functions/at.html | 14 +-- .../sequence/intrinsic/functions/at_c.html | 14 +-- .../sequence/intrinsic/functions/at_key.html | 14 +-- .../sequence/intrinsic/functions/back.html | 14 +-- .../sequence/intrinsic/functions/begin.html | 14 +-- .../sequence/intrinsic/functions/empty.html | 14 +-- .../sequence/intrinsic/functions/end.html | 14 +-- .../sequence/intrinsic/functions/front.html | 14 +-- .../sequence/intrinsic/functions/has_key.html | 14 +-- .../sequence/intrinsic/functions/size.html | 14 +-- .../sequence/intrinsic/functions/swap.html | 12 +-- .../sequence/intrinsic/metafunctions.html | 2 +- .../sequence/intrinsic/metafunctions/at.html | 16 ++-- .../intrinsic/metafunctions/at_c.html | 16 ++-- .../intrinsic/metafunctions/at_key.html | 16 ++-- .../intrinsic/metafunctions/back.html | 12 +-- .../intrinsic/metafunctions/begin.html | 12 +-- .../intrinsic/metafunctions/empty.html | 12 +-- .../sequence/intrinsic/metafunctions/end.html | 12 +-- .../intrinsic/metafunctions/front.html | 12 +-- .../intrinsic/metafunctions/has_key.html | 12 +-- .../intrinsic/metafunctions/size.html | 12 +-- .../intrinsic/metafunctions/swap.html | 10 +- .../intrinsic/metafunctions/value_at.html | 12 +-- .../intrinsic/metafunctions/value_at_c.html | 12 +-- .../intrinsic/metafunctions/value_at_key.html | 12 +-- doc/html/fusion/sequence/operator.html | 2 +- .../fusion/sequence/operator/comparison.html | 4 +- .../sequence/operator/comparison/equal.html | 14 +-- .../operator/comparison/greater_than.html | 12 +-- .../comparison/greater_than_equal.html | 12 +-- .../operator/comparison/less_than.html | 12 +-- .../operator/comparison/less_than_equal.html | 12 +-- .../operator/comparison/not_equal.html | 12 +-- doc/html/fusion/sequence/operator/i_o.html | 4 +- doc/html/fusion/sequence/operator/i_o/in.html | 14 +-- .../fusion/sequence/operator/i_o/out.html | 14 +-- doc/html/fusion/support.html | 2 +- doc/html/fusion/support/category_of.html | 14 +-- doc/html/fusion/support/deduce.html | 12 +-- doc/html/fusion/support/deduce_sequence.html | 12 +-- doc/html/fusion/support/is_sequence.html | 14 +-- doc/html/fusion/support/is_view.html | 14 +-- doc/html/fusion/support/pair.html | 14 +-- doc/html/fusion/support/tag_of.html | 14 +-- doc/html/fusion/tuple.html | 2 +- .../fusion/tuple/class_template_tuple.html | 4 +- .../class_template_tuple/construction.html | 6 +- .../class_template_tuple/element_access.html | 6 +- .../relational_operators.html | 6 +- .../tuple_creation_functions.html | 6 +- .../tuple_helper_classes.html | 6 +- doc/html/fusion/tuple/pairs.html | 6 +- doc/html/fusion/view.html | 4 +- doc/html/fusion/view/filter_view.html | 16 ++-- doc/html/fusion/view/iterator_range.html | 16 ++-- doc/html/fusion/view/joint_view.html | 16 ++-- doc/html/fusion/view/nview.html | 16 ++-- doc/html/fusion/view/reverse_view.html | 14 +-- doc/html/fusion/view/single_view.html | 14 +-- doc/html/fusion/view/transform_view.html | 14 +-- doc/html/fusion/view/zip_view.html | 16 ++-- doc/html/index.html | 6 +- example/performance/accumulate.cpp | 4 +- example/performance/inner_product2.cpp | 4 +- .../algorithm/iteration/detail/fold.hpp | 96 +++++++++---------- .../fusion/sequence/intrinsic/ext_/size_s.hpp | 4 +- .../view/detail/strictest_traversal.hpp | 4 +- test/algorithm/fold.cpp | 36 +++---- test/compile_time/fold.cpp | 2 +- test/functional/make_unfused.cpp | 2 +- test/functional/unfused.cpp | 2 +- test/functional/unfused_typed.cpp | 4 +- 266 files changed, 1625 insertions(+), 1614 deletions(-) mode change 100755 => 100644 include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp diff --git a/changelist.txt b/changelist.txt index eb272413..fb2cb9d0 100644 --- a/changelist.txt +++ b/changelist.txt @@ -3,5 +3,5 @@ Interface Changes - June 12, 2009: vector0 is now vector0<> as per Boost Trac Ticket #1608 to follow MPL more closely. - September 24, 2009: added nview and friends - - +- October 12, 2009: the accumulator is the first argument to the functor of + fold and accumulate. Fixes Boost Trac Ticket #2355. diff --git a/doc/algorithm.qbk b/doc/algorithm.qbk index cfaf92b7..8b68343b 100644 --- a/doc/algorithm.qbk +++ b/doc/algorithm.qbk @@ -62,7 +62,7 @@ a sequence repeatedly applying an operation to its elements. [section fold] [heading Description] -For a sequence `Seq`, initial state, and binary function object or function pointer `f`, fold repeatedly applies binary `f` to each element of `Seq` and the previous state. +For a sequence `seq`, initial state `initial_state`, and binary function object or function pointer `f`, fold returns the result of the repeated application of binary `f` to the result of the previous `f` invocation (`inital_state` if it is the first call) and each element of `seq`. [heading Synopsis] template< @@ -75,9 +75,9 @@ For a sequence `Seq`, initial state, and binary function object or function poin [table Parameters [[Parameter][Requirement][Description]] - [[`seq`][A model of __forward_sequence__,`f(e,s)` must be a valid expression for each element `e` in `seq`, and current state `s`][Operation's argument]] + [[`seq`][A model of __forward_sequence__, `f(s,e)` must be a valid expression for current state `s`, and each element `e` in `seq`][Operation's argument]] [[`initial_state`][Any type][Initial state]] - [[`f`][`__boost_result_of_call__::type` is the return type of `f(e,s)` for each element `e` of type `E` in `seq`, and current state `s` of type `S`][Operation's argument]] + [[`f`][`__boost_result_of_call__::type` is the return type of `f(s,e)` current state `s` of type `S`, and for each element `e` of type `E` in `seq`][Operation's argument]] ] [heading Expression Semantics] @@ -85,7 +85,7 @@ For a sequence `Seq`, initial state, and binary function object or function poin [*Return type]: Any type -[*Semantics]: Equivalent to `f(eN ....f(e2,f(e1,initial_state)))` where `e1 ...eN` are the elements of `seq`. +[*Semantics]: Equivalent to `f(... f(f(initial_state,e1),e2) ...eN)` where `e1 ...eN` are the elements of `seq`. [heading Complexity] Linear, exactly `__result_of_size__::value` applications of `f`. @@ -101,7 +101,7 @@ Linear, exactly `__result_of_size__::value` applications of `f`. typedef std::string result_type; template - std::string operator()(const T& t, const std::string& str) const + std::string operator()(const std::string& str, const T& t) const { return str + boost::lexical_cast(t); } @@ -115,7 +115,7 @@ Linear, exactly `__result_of_size__::value` applications of `f`. [section accumulate] [heading Description] -For a sequence `Seq`, initial state, and binary function object or function pointer `f`, accumulate repeatedly applies binary `f` to each element of `Seq` and the previous state. +For a sequence `seq`, initial state `initial_state`, and binary function object or function pointer `f`, accumulate returns the result of the repeated application of binary `f` to the result of the previous `f` invocation (`inital_state` if it is the first call) and each element of `seq`. [heading Synopsis] template< @@ -128,9 +128,9 @@ For a sequence `Seq`, initial state, and binary function object or function poin [table Parameters [[Parameter][Requirement][Description]] - [[`seq`][A model of __forward_sequence__, `f(eN ....f(e2,f(e1,initial_state)))` must be a valid expression for each element `e1` to `eN` in `seq`][Operation's argument]] + [[`seq`][A model of __forward_sequence__, `f(s,e)` must be a valid expression for current state `s`, and each element `e` in `seq`][Operation's argument]] [[`initial_state`][Any type][Initial state]] - [[`f`][`__boost_result_of_call__::type` is the return type of `f(e,s)` for each element `e` of type `E` in `seq`, and current state `s` of type `S`][Operation's argument]] + [[`f`][`__boost_result_of_call__::type` is the return type of `f(s,e)` current state `s` of type `S`, and for each element `e` of type `E` in `seq`][Operation's argument]] ] [heading Expression Semantics] @@ -138,7 +138,7 @@ For a sequence `Seq`, initial state, and binary function object or function poin [*Return type]: Any type -[*Semantics]: Equivalent to `f(eN ....f(e2,f(e1,initial_state)))` where `e1 ...eN` are the elements of `seq`. +[*Semantics]: Equivalent to `f(... f(f(initial_state,e1),e2) ...eN)` where `e1 ...eN` are the elements of `seq`. [heading Complexity] Linear, exactly `__result_of_size__::value` applications of `f`. @@ -154,7 +154,7 @@ Linear, exactly `__result_of_size__::value` applications of `f`. typedef std::string result_type; template - std::string operator()(const T& t, const std::string& str) const + std::string operator()(const std::string& str, const T& t) const { return str + boost::lexical_cast(t); } @@ -238,7 +238,7 @@ Returns the result type of __fold__. [[Parameter] [Requirement] [Description]] [[`Sequence`] [A model of __forward_sequence__] [The sequence to iterate]] [[`State`] [Any type] [The initial state for the first application of `F`]] - [[`F`] [`__boost_result_of_call__::type` is the return type of `f(e,s)` for each element `e` of type `E` in `seq`, and current state `s` of type `S`] [The operation to be applied on forward traversal]] + [[`F`] [`__boost_result_of_call__::type` is the return type of `f(s,e)` for current state `s` of type `S`, and for each element `e` of type `E` in `seq`] [The operation to be applied on forward traversal]] ] [heading Expression Semantics] @@ -278,7 +278,7 @@ Returns the result type of __accumulate__. [[Parameter] [Requirement] [Description]] [[`Sequence`] [A model of __forward_sequence__] [The sequence to iterate]] [[`State`] [Any type] [The initial state for the first application of `F`]] - [[`F`] [`__boost_result_of_call__::type` is the return type of `f(e,s)` for each element `e` of type `E` in `seq`, and current state `s` of type `S`] [The operation to be applied on forward traversal]] + [[`F`] [`__boost_result_of_call__::type` is the return type of `f(s,e)` for current state `s` of type `S`, and for each element `e` of type `E` in `seq`] [The operation to be applied on forward traversal]] ] [heading Expression Semantics] diff --git a/doc/html/fusion/acknowledgements.html b/doc/html/fusion/acknowledgements.html index 10e477dc..c6731325 100644 --- a/doc/html/fusion/acknowledgements.html +++ b/doc/html/fusion/acknowledgements.html @@ -3,7 +3,7 @@ Acknowledgements - + diff --git a/doc/html/fusion/adapted.html b/doc/html/fusion/adapted.html index 092d31a7..f166e963 100644 --- a/doc/html/fusion/adapted.html +++ b/doc/html/fusion/adapted.html @@ -3,7 +3,7 @@ Adapted - + @@ -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 a15b8973..7c792cca 100644
--- a/doc/html/fusion/adapted/adapt_assoc.html
+++ b/doc/html/fusion/adapted/adapt_assoc.html
@@ -3,7 +3,7 @@
 
 BOOST_FUSION_ADAPT_ASSOC_STRUCT
 
-
+
 
 
 
@@ -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 371f71dd..a0e6fb49 100644
--- a/doc/html/fusion/adapted/adapt_struct.html
+++ b/doc/html/fusion/adapted/adapt_struct.html
@@ -3,7 +3,7 @@
 
 BOOST_FUSION_ADAPT_STRUCT
 
-
+
 
 
 
@@ -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 ef50847b..62f1b863 100644
--- a/doc/html/fusion/adapted/boost__array.html
+++ b/doc/html/fusion/adapted/boost__array.html
@@ -3,7 +3,7 @@
 
 boost::array
 
-
+
 
 
 
@@ -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 1d391b4b..27abf9d7 100644 --- a/doc/html/fusion/adapted/boost__tuple.html +++ b/doc/html/fusion/adapted/boost__tuple.html @@ -3,7 +3,7 @@ boost::tuple - + @@ -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 768703e7..3258ab23 100644 --- a/doc/html/fusion/adapted/mpl_sequence.html +++ b/doc/html/fusion/adapted/mpl_sequence.html @@ -3,7 +3,7 @@ mpl sequence - + @@ -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 5bcbfe3a..ac3bef8f 100644 --- a/doc/html/fusion/adapted/std__pair.html +++ b/doc/html/fusion/adapted/std__pair.html @@ -3,7 +3,7 @@ std::pair - + @@ -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 d14c7812..56ead030 100644 --- a/doc/html/fusion/algorithm.html +++ b/doc/html/fusion/algorithm.html @@ -3,7 +3,7 @@ Algorithm - + @@ -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 a82a8d1e..f7d44766 100644
--- a/doc/html/fusion/algorithm/iteration.html
+++ b/doc/html/fusion/algorithm/iteration.html
@@ -3,7 +3,7 @@
 
 Iteration
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/algorithm/iteration/functions.html
index 9b310aee..fd0ac4fc 100644
--- a/doc/html/fusion/algorithm/iteration/functions.html
+++ b/doc/html/fusion/algorithm/iteration/functions.html
@@ -3,7 +3,7 @@
 
 Functions
 
-
+
 
 
 
diff --git a/doc/html/fusion/algorithm/iteration/functions/accumulate.html b/doc/html/fusion/algorithm/iteration/functions/accumulate.html
index eb9ca358..c7fda069 100644
--- a/doc/html/fusion/algorithm/iteration/functions/accumulate.html
+++ b/doc/html/fusion/algorithm/iteration/functions/accumulate.html
@@ -3,7 +3,7 @@
 
 accumulate
 
-
+
 
 
 
@@ -27,18 +27,21 @@
 accumulate
 
 
- + Description

- For a sequence Seq, initial - state, and binary function object or function pointer f, - accumulate repeatedly applies binary f - to each element of Seq - and the previous state. + For a sequence seq, initial + state initial_state, + and binary function object or function pointer f, + accumulate returns the result of the repeated application of binary + f to the result of the + previous f invocation + (inital_state if it is + the first call) and each element of seq.

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

Table 1.34. Parameters

+

Table 1.34. Parameters

@@ -84,10 +87,10 @@

A model of Forward - Sequence, f(eN - ....f(e2,f(e1,initial_state))) must be a valid expression for - each element e1 - to eN in seq + Sequence, f(s,e) must be a valid expression for + current state s, + and each element e + in seq

@@ -121,9 +124,11 @@

- boost::result_of<F(E,S)>::type is the return type of f(e,s) + boost::result_of<F(S,E)>::type is the return type of f(s,e) + current state s + of type S, and for each element e - of type E in seq, and current state s of type S + of type E in seq

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

- + Expression Semantics
@@ -146,25 +151,26 @@ Return type: Any type

- Semantics: Equivalent to f(eN ....f(e2,f(e1,initial_state))) - where e1 ...eN are the elements of seq. + Semantics: Equivalent to f(... f(f(initial_state,e1),e2) ...eN) where e1 + ...eN + 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
@@ -172,7 +178,7 @@
     typedef std::string result_type;
 
     template<typename T>
-    std::string operator()(const T& t, const std::string& str) const
+    std::string operator()(const std::string& str, const T& t) const
     {
         return str + boost::lexical_cast<std::string>(t);
     }
diff --git a/doc/html/fusion/algorithm/iteration/functions/fold.html b/doc/html/fusion/algorithm/iteration/functions/fold.html
index e266f0f3..c10ea7bc 100644
--- a/doc/html/fusion/algorithm/iteration/functions/fold.html
+++ b/doc/html/fusion/algorithm/iteration/functions/fold.html
@@ -3,7 +3,7 @@
 
 fold
 
-
+
 
 
 
@@ -27,18 +27,18 @@
 fold
 
 
- + Description

- For a sequence Seq, initial - state, and binary function object or function pointer f, - fold repeatedly applies binary f - to each element of Seq - and the previous state. + For a sequence seq, initial + state initial_state, + and binary function object or function pointer f, + fold returns the result of the repeated application of binary f to the result of the previous f invocation (inital_state + 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.33. Parameters

+

Table 1.33. Parameters

@@ -84,10 +84,10 @@

A model of Forward - Sequence,f(e,s) must be a valid expression for - each element e - in seq, and current - state s + Sequence, f(s,e) must be a valid expression for + current state s, + and each element e + in seq

@@ -121,9 +121,11 @@

- boost::result_of<F(E,S)>::type is the return type of f(e,s) + boost::result_of<F(S,E)>::type is the return type of f(s,e) + current state s + of type S, and for each element e - of type E in seq, and current state s of type S + of type E in seq

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

- + Expression Semantics
@@ -146,25 +148,26 @@ Return type: Any type

- Semantics: Equivalent to f(eN ....f(e2,f(e1,initial_state))) - where e1 ...eN are the elements of seq. + Semantics: Equivalent to f(... f(f(initial_state,e1),e2) ...eN) where e1 + ...eN + 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
@@ -172,7 +175,7 @@
     typedef std::string result_type;
 
     template<typename T>
-    std::string operator()(const T& t, const std::string& str) const
+    std::string operator()(const std::string& str, const T& t) const
     {
         return str + boost::lexical_cast<std::string>(t);
     }
diff --git a/doc/html/fusion/algorithm/iteration/functions/for_each.html b/doc/html/fusion/algorithm/iteration/functions/for_each.html
index aa78fa40..55e7f5b0 100644
--- a/doc/html/fusion/algorithm/iteration/functions/for_each.html
+++ b/doc/html/fusion/algorithm/iteration/functions/for_each.html
@@ -3,7 +3,7 @@
 
 for_each
 
-
+
 
 
 
@@ -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.35. Parameters

+

Table 1.35. 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.html b/doc/html/fusion/algorithm/iteration/metafunctions.html
index f49150fd..916bb66c 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions.html
@@ -3,7 +3,7 @@
 
 Metafunctions
 
-
+
 
 
 
diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html
index 90ea13a2..b888c1fa 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html
@@ -3,7 +3,7 @@
 
 accumulate
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 accumulate
 
 
- + Description

Returns the result type of accumulate.

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

Table 1.37. Parameters

+

Table 1.37. Parameters

@@ -115,9 +115,11 @@

- boost::result_of<F(E,S)>::type is the return type of f(e,s) + boost::result_of<F(S,E)>::type is the return type of f(s,e) + for current state s + of type S, and for each element e - of type E in seq, and current state s of type S + of type E in seq

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

- + Expression Semantics
@@ -147,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 1bf2a6a3..12be554b 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html
@@ -3,7 +3,7 @@
 
 fold
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 fold
 
 
- + Description

Returns the result type of fold.

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

Table 1.36. Parameters

+

Table 1.36. Parameters

@@ -115,9 +115,11 @@

- boost::result_of<F(E,S)>::type is the return type of f(e,s) + boost::result_of<F(S,E)>::type is the return type of f(s,e) + for current state s + of type S, and for each element e - of type E in seq, and current state s of type S + of type E in seq

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

- + Expression Semantics
@@ -147,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 9ff50008..fbfe8143 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html
@@ -3,7 +3,7 @@
 
 for_each
 
-
+
 
 
 
@@ -31,11 +31,11 @@
             return type of for_each is always void.
           

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

Table 1.38. Parameters

+

Table 1.38. 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 81960755..d2443b8e 100644
--- a/doc/html/fusion/algorithm/query.html
+++ b/doc/html/fusion/algorithm/query.html
@@ -3,7 +3,7 @@
 
 Query
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/algorithm/query/functions.html
index f1d19357..a8aee297 100644
--- a/doc/html/fusion/algorithm/query/functions.html
+++ b/doc/html/fusion/algorithm/query/functions.html
@@ -3,7 +3,7 @@
 
 Functions
 
-
+
 
 
 
diff --git a/doc/html/fusion/algorithm/query/functions/all.html b/doc/html/fusion/algorithm/query/functions/all.html
index 8b696e11..a10464e3 100644
--- a/doc/html/fusion/algorithm/query/functions/all.html
+++ b/doc/html/fusion/algorithm/query/functions/all.html
@@ -3,7 +3,7 @@
 
 all
 
-
+
 
 
 
@@ -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.40. Parameters

+

Table 1.40. 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 1e5a1a53..0f8adb33 100644
--- a/doc/html/fusion/algorithm/query/functions/any.html
+++ b/doc/html/fusion/algorithm/query/functions/any.html
@@ -3,7 +3,7 @@
 
 any
 
-
+
 
 
 
@@ -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.39. Parameters

+

Table 1.39. 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 284af260..82e45462 100644
--- a/doc/html/fusion/algorithm/query/functions/count.html
+++ b/doc/html/fusion/algorithm/query/functions/count.html
@@ -3,7 +3,7 @@
 
 count
 
-
+
 
 
 
@@ -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.44. Parameters

+

Table 1.44. 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 6c31ef0e..39b582ff 100644
--- a/doc/html/fusion/algorithm/query/functions/count_if.html
+++ b/doc/html/fusion/algorithm/query/functions/count_if.html
@@ -3,7 +3,7 @@
 
 count_if
 
-
+
 
 
 
@@ -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.45. Parameters

+

Table 1.45. 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 1a5ea6b7..7dedfef1 100644
--- a/doc/html/fusion/algorithm/query/functions/find.html
+++ b/doc/html/fusion/algorithm/query/functions/find.html
@@ -3,7 +3,7 @@
 
 find
 
-
+
 
 
 
@@ -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.42. Parameters

+

Table 1.42. 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 7ca805cc..a13da9ed 100644
--- a/doc/html/fusion/algorithm/query/functions/find_if.html
+++ b/doc/html/fusion/algorithm/query/functions/find_if.html
@@ -3,7 +3,7 @@
 
 find_if
 
-
+
 
 
 
@@ -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.43. Parameters

+

Table 1.43. Parameters

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

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

- + Complexity

@@ -145,7 +145,7 @@ /algorithm/query/find_if.hpp>

- + 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 a93362b3..668cbd72 100644
--- a/doc/html/fusion/algorithm/query/functions/none.html
+++ b/doc/html/fusion/algorithm/query/functions/none.html
@@ -3,7 +3,7 @@
 
 none
 
-
+
 
 
 
@@ -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.41. Parameters

+

Table 1.41. 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.html b/doc/html/fusion/algorithm/query/metafunctions.html
index f6b639c1..4f07c2f6 100644
--- a/doc/html/fusion/algorithm/query/metafunctions.html
+++ b/doc/html/fusion/algorithm/query/metafunctions.html
@@ -3,7 +3,7 @@
 
 Metafunctions
 
-
+
 
 
 
diff --git a/doc/html/fusion/algorithm/query/metafunctions/all.html b/doc/html/fusion/algorithm/query/metafunctions/all.html
index 2e34c969..cf345642 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/all.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/all.html
@@ -3,7 +3,7 @@
 
 all
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 all
 
 
- + Description

A metafunction returning the result type of all.

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

Table 1.47. Parameters

+

Table 1.47. 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 c91cb670..4a7a8932 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/any.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/any.html
@@ -3,7 +3,7 @@
 
 any
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 any
 
 
- + Description

A metafunction returning the result type of any.

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

Table 1.46. Parameters

+

Table 1.46. 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 9d771d66..67750074 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/count.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/count.html
@@ -3,7 +3,7 @@
 
 count
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 count
 
 
- + Description

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

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

Table 1.51. Parameters

+

Table 1.51. 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 7a81368c..5f2208aa 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/count_if.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/count_if.html
@@ -3,7 +3,7 @@
 
 count_if
 
-
+
 
 
 
@@ -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.52. Parameters

+

Table 1.52. 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 3172d49c..775c2c37 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/find.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/find.html
@@ -3,7 +3,7 @@
 
 find
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 find
 
 
- + Description

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

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

Table 1.49. Parameters

+

Table 1.49. 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 c05ecb3d..b0a87bf1 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/find_if.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/find_if.html
@@ -3,7 +3,7 @@
 
 find_if
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 find_if
 
 
- + Description

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

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

Table 1.50. Parameters

+

Table 1.50. 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 1bb5329e..3146a46d 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/none.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/none.html
@@ -3,7 +3,7 @@
 
 none
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 none
 
 
- + Description

A metafunction returning the result type of none.

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

Table 1.48. Parameters

+

Table 1.48. 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 6c7283f0..5be2503f 100644
--- a/doc/html/fusion/algorithm/transformation.html
+++ b/doc/html/fusion/algorithm/transformation.html
@@ -3,7 +3,7 @@
 
 Transformation
 
-
+
 
 
 
@@ -47,7 +47,7 @@
         

- + Header
#include <boost/fusion/algorithm/transformation.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/functions.html b/doc/html/fusion/algorithm/transformation/functions.html
index 0ce466d5..46108785 100644
--- a/doc/html/fusion/algorithm/transformation/functions.html
+++ b/doc/html/fusion/algorithm/transformation/functions.html
@@ -3,7 +3,7 @@
 
 Functions
 
-
+
 
 
 
diff --git a/doc/html/fusion/algorithm/transformation/functions/clear.html b/doc/html/fusion/algorithm/transformation/functions/clear.html
index eb400f13..da109a5d 100644
--- a/doc/html/fusion/algorithm/transformation/functions/clear.html
+++ b/doc/html/fusion/algorithm/transformation/functions/clear.html
@@ -3,7 +3,7 @@
 
 clear
 
-
+
 
 
 
@@ -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.62. Parameters

+

Table 1.62. 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 b086ac00..9f705b7c 100644
--- a/doc/html/fusion/algorithm/transformation/functions/erase.html
+++ b/doc/html/fusion/algorithm/transformation/functions/erase.html
@@ -3,7 +3,7 @@
 
 erase
 
-
+
 
 
 
@@ -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.63. Parameters

+

Table 1.63. Parameters

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

- + Expression Semantics
@@ -165,21 +165,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 d121b4b0..5597f11e 100644
--- a/doc/html/fusion/algorithm/transformation/functions/erase_key.html
+++ b/doc/html/fusion/algorithm/transformation/functions/erase_key.html
@@ -3,7 +3,7 @@
 
 erase_key
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 erase_key
 
 
- + Description

@@ -38,7 +38,7 @@ with a given key.

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

Table 1.64. Parameters

+

Table 1.64. Parameters

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

- + Expression Semantics
@@ -128,21 +128,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 a8234730..f7c61012 100644
--- a/doc/html/fusion/algorithm/transformation/functions/filter.html
+++ b/doc/html/fusion/algorithm/transformation/functions/filter.html
@@ -3,7 +3,7 @@
 
 filter
 
-
+
 
 
 
@@ -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.53. Parameters

+

Table 1.53. Parameters

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

- + Expression Semantics
@@ -126,21 +126,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 528ca4e0..7e116090 100644
--- a/doc/html/fusion/algorithm/transformation/functions/filter_if.html
+++ b/doc/html/fusion/algorithm/transformation/functions/filter_if.html
@@ -3,7 +3,7 @@
 
 filter_if
 
-
+
 
 
 
@@ -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.54. Parameters

+

Table 1.54. Parameters

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

- + Expression Semantics
@@ -129,21 +129,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 711d9965..611f2903 100644
--- a/doc/html/fusion/algorithm/transformation/functions/insert.html
+++ b/doc/html/fusion/algorithm/transformation/functions/insert.html
@@ -3,7 +3,7 @@
 
 insert
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 insert
 
 
- + Description

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

- + Synposis
template<
@@ -46,7 +46,7 @@
 unspecified insert(Sequence const& seq, Pos const& pos, T const& t);
 
-

Table 1.65. Parameters

+

Table 1.65. Parameters

@@ -128,7 +128,7 @@

- + Expression Semantics
@@ -146,21 +146,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 041574dc..80182ca2 100644
--- a/doc/html/fusion/algorithm/transformation/functions/insert_range.html
+++ b/doc/html/fusion/algorithm/transformation/functions/insert_range.html
@@ -3,7 +3,7 @@
 
 insert_range
 
-
+
 
 
 
@@ -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.66. Parameters

+

Table 1.66. Parameters

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

- + Expression Semantics
@@ -148,21 +148,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 a49b802b..7fafdc6b 100644
--- a/doc/html/fusion/algorithm/transformation/functions/join.html
+++ b/doc/html/fusion/algorithm/transformation/functions/join.html
@@ -3,7 +3,7 @@
 
 join
 
-
+
 
 
 
@@ -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.67. Parameters

+

Table 1.67. Parameters

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

- + Expression Semantics
@@ -126,21 +126,21 @@ The order of th 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 9d2dab07..aa16c821 100644
--- a/doc/html/fusion/algorithm/transformation/functions/pop_back.html
+++ b/doc/html/fusion/algorithm/transformation/functions/pop_back.html
@@ -3,7 +3,7 @@
 
 pop_back
 
-
+
 
 
 
@@ -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.69. Parameters

+

Table 1.69. Parameters

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

- + Expression Semantics
@@ -105,21 +105,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 ad3177f2..16659b70 100644
--- a/doc/html/fusion/algorithm/transformation/functions/pop_front.html
+++ b/doc/html/fusion/algorithm/transformation/functions/pop_front.html
@@ -3,7 +3,7 @@
 
 pop_front
 
-
+
 
 
 
@@ -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.70. Parameters

+

Table 1.70. Parameters

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

- + Expression Semantics
@@ -105,21 +105,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 15cc4b66..42b0cf19 100644
--- a/doc/html/fusion/algorithm/transformation/functions/push_back.html
+++ b/doc/html/fusion/algorithm/transformation/functions/push_back.html
@@ -3,7 +3,7 @@
 
 push_back
 
-
+
 
 
 
@@ -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.71. Parameters

+

Table 1.71. Parameters

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

- + Expression Semantics
@@ -126,21 +126,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 fc7d0540..f75945d2 100644
--- a/doc/html/fusion/algorithm/transformation/functions/push_front.html
+++ b/doc/html/fusion/algorithm/transformation/functions/push_front.html
@@ -3,7 +3,7 @@
 
 push_front
 
-
+
 
 
 
@@ -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.72. Parameters

+

Table 1.72. Parameters

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

- + Expression Semantics
@@ -127,21 +127,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 9150de0d..1fac6734 100644
--- a/doc/html/fusion/algorithm/transformation/functions/remove.html
+++ b/doc/html/fusion/algorithm/transformation/functions/remove.html
@@ -3,7 +3,7 @@
 
 remove
 
-
+
 
 
 
@@ -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.59. Parameters

+

Table 1.59. Parameters

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

- + Expression Semantics
@@ -126,21 +126,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 f1a4161b..6c5d3176 100644
--- a/doc/html/fusion/algorithm/transformation/functions/remove_if.html
+++ b/doc/html/fusion/algorithm/transformation/functions/remove_if.html
@@ -3,7 +3,7 @@
 
 remove_if
 
-
+
 
 
 
@@ -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.60. Parameters

+

Table 1.60. Parameters

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

- + Expression Semantics
@@ -128,21 +128,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 d11940a6..dbc52bbc 100644
--- a/doc/html/fusion/algorithm/transformation/functions/replace.html
+++ b/doc/html/fusion/algorithm/transformation/functions/replace.html
@@ -3,7 +3,7 @@
 
 replace
 
-
+
 
 
 
@@ -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.57. Parameters

+

Table 1.57. 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 cc1c3028..09332470 100644
--- a/doc/html/fusion/algorithm/transformation/functions/replace_if.html
+++ b/doc/html/fusion/algorithm/transformation/functions/replace_if.html
@@ -3,7 +3,7 @@
 
 replace_if
 
-
+
 
 
 
@@ -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.58. Parameters

+

Table 1.58. 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 20727fe5..a2c9ae62 100644
--- a/doc/html/fusion/algorithm/transformation/functions/reverse.html
+++ b/doc/html/fusion/algorithm/transformation/functions/reverse.html
@@ -3,7 +3,7 @@
 
 reverse
 
-
+
 
 
 
@@ -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.61. Parameters

+

Table 1.61. Parameters

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

- + Expression Semantics
@@ -104,21 +104,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 d0084f29..15f8ce13 100644
--- a/doc/html/fusion/algorithm/transformation/functions/transform.html
+++ b/doc/html/fusion/algorithm/transformation/functions/transform.html
@@ -3,7 +3,7 @@
 
 transform
 
-
+
 
 
 
@@ -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.55. Parameters

+

Table 1.55. 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.56. Parameters

+

Table 1.56. 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 27b408b7..cdbc74c4 100644
--- a/doc/html/fusion/algorithm/transformation/functions/zip.html
+++ b/doc/html/fusion/algorithm/transformation/functions/zip.html
@@ -3,7 +3,7 @@
 
 zip
 
-
+
 
 
 
@@ -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.68. Parameters

+

Table 1.68. 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.html b/doc/html/fusion/algorithm/transformation/metafunctions.html
index 58e32ad4..807e5a12 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions.html
@@ -3,7 +3,7 @@
 
 Metafunctions
 
-
+
 
 
 
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/clear.html b/doc/html/fusion/algorithm/transformation/metafunctions/clear.html
index 04778f69..06726030 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/clear.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/clear.html
@@ -3,7 +3,7 @@
 
 clear
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 clear
 
 
- + Description

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

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

Table 1.82. Parameters

+

Table 1.82. 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 6b243133..a405f67a 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/erase.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/erase.html
@@ -3,7 +3,7 @@
 
 erase
 
-
+
 
 
 
@@ -31,11 +31,11 @@
             and range delimiting iterator types.
           

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

Table 1.83. Parameters

+

Table 1.83. Parameters

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

- + Expression Semantics
@@ -157,14 +157,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 6d7b1a9c..057d4da5 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/erase_key.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/erase_key.html
@@ -3,7 +3,7 @@
 
 erase_key
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 erase_key
 
 
- + Description

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

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

Table 1.84. Parameters

+

Table 1.84. Parameters

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

- + Expression Semantics
@@ -128,14 +128,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 a93af175..e9bb9e25 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/filter.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/filter.html
@@ -3,7 +3,7 @@
 
 filter
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 filter
 
 
- + Description

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

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

Table 1.73. Parameter

+

Table 1.73. Parameter

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

- + Expression Semantics
@@ -130,14 +130,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 dc9c45f0..6977f542 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html
@@ -3,7 +3,7 @@
 
 filter_if
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 filter_if
 
 
- + Description

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

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

Table 1.74. Parameter

+

Table 1.74. Parameter

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

- + Expression Semantics
@@ -131,14 +131,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 983fd85d..d9cab4a4 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/insert.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/insert.html
@@ -3,7 +3,7 @@
 
 insert
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 insert
 
 
- + Description

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

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

Table 1.85. Parameters

+

Table 1.85. Parameters

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

- + Expression Semantics
@@ -148,14 +148,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 10ec861a..7f646da6 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/insert_range.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/insert_range.html
@@ -3,7 +3,7 @@
 
 insert_range
 
-
+
 
 
 
@@ -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.86. Parameters

+

Table 1.86. Parameters

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

- + Expression Semantics
@@ -149,14 +149,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 696245f9..d070fa83 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/join.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/join.html
@@ -3,7 +3,7 @@
 
 join
 
-
+
 
 
 
@@ -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
@@ -64,14 +64,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 5859e925..f81a731d 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/pop_back.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/pop_back.html
@@ -3,7 +3,7 @@
 
 pop_back
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 pop_back
 
 
- + Description

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

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

Table 1.87. Parameters

+

Table 1.87. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/tranformation/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 c0577a61..4c24ae2c 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/pop_front.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/pop_front.html
@@ -3,7 +3,7 @@
 
 pop_front
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 pop_front
 
 
- + Description

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

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

Table 1.88. Parameters

+

Table 1.88. Parameters

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

- + Expression Semantics
@@ -108,7 +108,7 @@ except the first element.

- + Complexity

diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html b/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html index 1ae0b42e..b621b2f1 100644 --- a/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html +++ b/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html @@ -3,7 +3,7 @@ push_back - + @@ -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.89. Parameters

+

Table 1.89. Parameters

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

- + Expression Semantics
@@ -129,7 +129,7 @@ added to the end.

- + Complexity

diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html b/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html index 5a04893f..706e3424 100644 --- a/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html +++ b/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html @@ -3,7 +3,7 @@ push_front - + @@ -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.90. Parameters

+

Table 1.90. Parameters

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

- + Expression Semantics
@@ -129,7 +129,7 @@ added to the beginning.

- + Complexity

diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/remove.html b/doc/html/fusion/algorithm/transformation/metafunctions/remove.html index a4be10fb..24c65272 100644 --- a/doc/html/fusion/algorithm/transformation/metafunctions/remove.html +++ b/doc/html/fusion/algorithm/transformation/metafunctions/remove.html @@ -3,7 +3,7 @@ remove - + @@ -27,7 +27,7 @@ remove

- + Description

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

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

Table 1.79. Parameters

+

Table 1.79. Parameters

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

- + Expression Semantics
@@ -130,14 +130,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 b2118f07..78553670 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/remove_if.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/remove_if.html
@@ -3,7 +3,7 @@
 
 remove_if
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 remove_if
 
 
- + Description

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

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

Table 1.80. Parameters

+

Table 1.80. Parameters

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

- + Expression Semantics
@@ -131,14 +131,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 47c94e70..c8729fa6 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/replace.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/replace.html
@@ -3,7 +3,7 @@
 
 replace
 
-
+
 
 
 
@@ -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.77. Parameters

+

Table 1.77. 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 4bc21140..1b0a0d2f 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/replace_if.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/replace_if.html
@@ -3,7 +3,7 @@
 
 replace_if
 
-
+
 
 
 
@@ -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.78. Parameters

+

Table 1.78. 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 cb0f6d3b..e9509e70 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/reverse.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/reverse.html
@@ -3,7 +3,7 @@
 
 reverse
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 reverse
 
 
- + Description

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

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

Table 1.81. Parameters

+

Table 1.81. Parameters

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

- + Expression Semantics
@@ -107,14 +107,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 260ef5c1..b55b8e7b 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/transform.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/transform.html
@@ -3,7 +3,7 @@
 
 transform
 
-
+
 
 
 
@@ -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.75. Parameters

+

Table 1.75. 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.76. Parameters

+

Table 1.76. 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/metafunctions/zip.html b/doc/html/fusion/algorithm/transformation/metafunctions/zip.html
index cf8cbe7f..9c5afd54 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/zip.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/zip.html
@@ -3,7 +3,7 @@
 
 zip
 
-
+
 
 
 
@@ -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/change_log.html b/doc/html/fusion/change_log.html
index d3bd0560..183e477d 100644
--- a/doc/html/fusion/change_log.html
+++ b/doc/html/fusion/change_log.html
@@ -3,7 +3,7 @@
 
 Change log
 
-
+
 
 
 
diff --git a/doc/html/fusion/container.html b/doc/html/fusion/container.html
index 5d1dcfe0..87cf803f 100644
--- a/doc/html/fusion/container.html
+++ b/doc/html/fusion/container.html
@@ -3,7 +3,7 @@
 
 Container
 
-
+
 
 
 
@@ -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 06583d06..3959fb5a 100644
--- a/doc/html/fusion/container/cons.html
+++ b/doc/html/fusion/container/cons.html
@@ -3,7 +3,7 @@
 
 cons
 
-
+
 
 
 
@@ -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 c07e740c..570bbfb5 100644
--- a/doc/html/fusion/container/conversion.html
+++ b/doc/html/fusion/container/conversion.html
@@ -3,7 +3,7 @@
 
 Conversion
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/container/conversion/functions.html
index 740140ba..3ccff818 100644
--- a/doc/html/fusion/container/conversion/functions.html
+++ b/doc/html/fusion/container/conversion/functions.html
@@ -3,7 +3,7 @@
 
 Functions
 
-
+
 
 
 
diff --git a/doc/html/fusion/container/conversion/functions/as_list.html b/doc/html/fusion/container/conversion/functions/as_list.html
index eaaa3622..e5ad39fe 100644
--- a/doc/html/fusion/container/conversion/functions/as_list.html
+++ b/doc/html/fusion/container/conversion/functions/as_list.html
@@ -3,7 +3,7 @@
 
 as_list
 
-
+
 
 
 
@@ -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 8e5b0805..d935ec13 100644
--- a/doc/html/fusion/container/conversion/functions/as_map.html
+++ b/doc/html/fusion/container/conversion/functions/as_map.html
@@ -3,7 +3,7 @@
 
 as_map
 
-
+
 
 
 
@@ -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 fcfd963b..45100478 100644
--- a/doc/html/fusion/container/conversion/functions/as_set.html
+++ b/doc/html/fusion/container/conversion/functions/as_set.html
@@ -3,7 +3,7 @@
 
 as_set
 
-
+
 
 
 
@@ -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 b59d43a1..f935559a 100644
--- a/doc/html/fusion/container/conversion/functions/as_vector.html
+++ b/doc/html/fusion/container/conversion/functions/as_vector.html
@@ -3,7 +3,7 @@
 
 as_vector
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/container/conversion/metafunctions.html
index 40b36e35..357143f2 100644
--- a/doc/html/fusion/container/conversion/metafunctions.html
+++ b/doc/html/fusion/container/conversion/metafunctions.html
@@ -3,7 +3,7 @@
 
 Metafunctions
 
-
+
 
 
 
diff --git a/doc/html/fusion/container/conversion/metafunctions/as_list.html b/doc/html/fusion/container/conversion/metafunctions/as_list.html
index 8435de9c..9f2908a5 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_list.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_list.html
@@ -3,7 +3,7 @@
 
 as_list
 
-
+
 
 
 
@@ -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 e693b804..8c2400d6 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_map.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_map.html
@@ -3,7 +3,7 @@
 
 as_map
 
-
+
 
 
 
@@ -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 fe34db89..6451e236 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_set.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_set.html
@@ -3,7 +3,7 @@
 
 as_set
 
-
+
 
 
 
@@ -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 1ecb7790..a233239e 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_vector.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_vector.html
@@ -3,7 +3,7 @@
 
 as_vector
 
-
+
 
 
 
@@ -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 f58852ff..c75fa0d9 100644
--- a/doc/html/fusion/container/generation.html
+++ b/doc/html/fusion/container/generation.html
@@ -3,7 +3,7 @@
 
 Generation
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/container/generation/functions.html
index 410e9b4a..baaeabbb 100644
--- a/doc/html/fusion/container/generation/functions.html
+++ b/doc/html/fusion/container/generation/functions.html
@@ -3,7 +3,7 @@
 
 Functions
 
-
+
 
 
 
diff --git a/doc/html/fusion/container/generation/functions/list_tie.html b/doc/html/fusion/container/generation/functions/list_tie.html
index d180c4f1..6b051f9f 100644
--- a/doc/html/fusion/container/generation/functions/list_tie.html
+++ b/doc/html/fusion/container/generation/functions/list_tie.html
@@ -3,7 +3,7 @@
 
 list_tie
 
-
+
 
 
 
@@ -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 cf5a3c38..22edd5b4 100644
--- a/doc/html/fusion/container/generation/functions/make_cons.html
+++ b/doc/html/fusion/container/generation/functions/make_cons.html
@@ -3,7 +3,7 @@
 
 make_cons
 
-
+
 
 
 
@@ -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 60aab3b8..e32a6b83 100644 --- a/doc/html/fusion/container/generation/functions/make_list.html +++ b/doc/html/fusion/container/generation/functions/make_list.html @@ -3,7 +3,7 @@ make_list - + @@ -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 94213a43..6006482e 100644 --- a/doc/html/fusion/container/generation/functions/make_map.html +++ b/doc/html/fusion/container/generation/functions/make_map.html @@ -3,7 +3,7 @@ make_map - + @@ -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,22 +143,20 @@ key types.

- + Header
#include <boost/fusion/container/generation/make_map.hpp>
 #include <boost/fusion/include/make_map.hpp>
 
- + Example
-
make_map(
-    make_pair<int>('X')
-  , make_pair<double>("Men"))
+
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 cd0c861b..3f6d8ffb 100644 --- a/doc/html/fusion/container/generation/functions/make_set.html +++ b/doc/html/fusion/container/generation/functions/make_set.html @@ -3,7 +3,7 @@ make_set - + @@ -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 bd059113..317b7df2 100644 --- a/doc/html/fusion/container/generation/functions/make_vector.html +++ b/doc/html/fusion/container/generation/functions/make_vector.html @@ -3,7 +3,7 @@ make_vector - + @@ -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 9d749875..e3e8abfe 100644 --- a/doc/html/fusion/container/generation/functions/map_tie.html +++ b/doc/html/fusion/container/generation/functions/map_tie.html @@ -3,7 +3,7 @@ map_tie - + @@ -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 310ff959..081ad4c9 100644
--- a/doc/html/fusion/container/generation/functions/tiers.html
+++ b/doc/html/fusion/container/generation/functions/tiers.html
@@ -3,7 +3,7 @@
 
 Tiers
 
-
+
 
 
 
@@ -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 7279e1e8..7b036b9e 100644 --- a/doc/html/fusion/container/generation/functions/vector_tie.html +++ b/doc/html/fusion/container/generation/functions/vector_tie.html @@ -3,7 +3,7 @@ vector_tie - + @@ -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.html b/doc/html/fusion/container/generation/metafunctions.html
index 7616cdfd..5fe4d7ec 100644
--- a/doc/html/fusion/container/generation/metafunctions.html
+++ b/doc/html/fusion/container/generation/metafunctions.html
@@ -3,7 +3,7 @@
 
 MetaFunctions
 
-
+
 
 
 
diff --git a/doc/html/fusion/container/generation/metafunctions/list_tie.html b/doc/html/fusion/container/generation/metafunctions/list_tie.html
index c74fa1d9..c985177f 100644
--- a/doc/html/fusion/container/generation/metafunctions/list_tie.html
+++ b/doc/html/fusion/container/generation/metafunctions/list_tie.html
@@ -3,7 +3,7 @@
 
 list_tie
 
-
+
 
 
 
@@ -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 e68d831f..fd6a3453 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_cons.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_cons.html
@@ -3,7 +3,7 @@
 
 make_cons
 
-
+
 
 
 
@@ -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 ada2baea..21e33767 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_list.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_list.html
@@ -3,7 +3,7 @@
 
 make_list
 
-
+
 
 
 
@@ -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 e5d15e30..eef09fb9 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_map.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_map.html
@@ -3,7 +3,7 @@
 
 make_map
 
-
+
 
 
 
@@ -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 de1c8492..b6a770f2 100644 --- a/doc/html/fusion/container/generation/metafunctions/make_set.html +++ b/doc/html/fusion/container/generation/metafunctions/make_set.html @@ -3,7 +3,7 @@ make_set - + @@ -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 2ddce229..e28161a9 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_vector.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_vector.html
@@ -3,7 +3,7 @@
 
 make_vector
 
-
+
 
 
 
@@ -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 a1f4280b..8bf69960 100644
--- a/doc/html/fusion/container/generation/metafunctions/map_tie.html
+++ b/doc/html/fusion/container/generation/metafunctions/map_tie.html
@@ -3,7 +3,7 @@
 
 map_tie
 
-
+
 
 
 
@@ -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 3c73cd32..ebee6e6f 100644
--- a/doc/html/fusion/container/generation/metafunctions/vector_tie.html
+++ b/doc/html/fusion/container/generation/metafunctions/vector_tie.html
@@ -3,7 +3,7 @@
 
 vector_tie
 
-
+
 
 
 
@@ -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 a3a58ac3..c805355d 100644
--- a/doc/html/fusion/container/list.html
+++ b/doc/html/fusion/container/list.html
@@ -3,7 +3,7 @@
 
 list
 
-
+
 
 
 
@@ -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 c1450034..370bfcce 100644
--- a/doc/html/fusion/container/map.html
+++ b/doc/html/fusion/container/map.html
@@ -3,7 +3,7 @@
 
 map
 
-
+
 
 
 
@@ -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 3fa2d7df..de28ce2e 100644
--- a/doc/html/fusion/container/set.html
+++ b/doc/html/fusion/container/set.html
@@ -3,7 +3,7 @@
 
 set
 
-
+
 
 
 
@@ -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 23ddcf24..91e34f00 100644
--- a/doc/html/fusion/container/vector.html
+++ b/doc/html/fusion/container/vector.html
@@ -3,7 +3,7 @@
 
 vector
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/extension.html
index 61fcf378..53cc6bcd 100644
--- a/doc/html/fusion/extension.html
+++ b/doc/html/fusion/extension.html
@@ -3,7 +3,7 @@
 
 Extension
 
-
+
 
 
 
diff --git a/doc/html/fusion/extension/ext_full.html b/doc/html/fusion/extension/ext_full.html
index 347f5d04..6c8f5760 100644
--- a/doc/html/fusion/extension/ext_full.html
+++ b/doc/html/fusion/extension/ext_full.html
@@ -3,7 +3,7 @@
 
 The Full Extension Mechanism
 
-
+
 
 
 
@@ -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
@@ -322,7 +322,7 @@

- + Implementing the remaining iterator functionality
@@ -373,7 +373,7 @@ are provided in the example code.

- + Implementing the intrinsic functions of the sequence
@@ -429,7 +429,7 @@ value_at_impl and at_impl.

- + Enabling our type as an associative container
@@ -496,7 +496,7 @@ of is_associative_impl.

- + Summary

diff --git a/doc/html/fusion/extension/iterator_facade.html b/doc/html/fusion/extension/iterator_facade.html index 4b4c8051..5899320b 100644 --- a/doc/html/fusion/extension/iterator_facade.html +++ b/doc/html/fusion/extension/iterator_facade.html @@ -3,7 +3,7 @@ Iterator Facade - + @@ -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.93. Parameters

+

Table 1.93. Parameters

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

-

Table 1.94. Key Expressions

+

Table 1.94. Key Expressions

@@ -365,14 +365,14 @@

- + 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 f10ccd8a..1c2d035d 100644 --- a/doc/html/fusion/extension/sequence_facade.html +++ b/doc/html/fusion/extension/sequence_facade.html @@ -3,7 +3,7 @@ Sequence Facade - + @@ -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.91. Parameters

+

Table 1.91. Parameters

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

-

Table 1.92. Key Expressions

+

Table 1.92. 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 b5aa1a98..cdc2347b 100644 --- a/doc/html/fusion/functional.html +++ b/doc/html/fusion/functional.html @@ -3,7 +3,7 @@ Functional - + @@ -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.html b/doc/html/fusion/functional/adapters.html index 967cf3e2..047e44e6 100644 --- a/doc/html/fusion/functional/adapters.html +++ b/doc/html/fusion/functional/adapters.html @@ -3,7 +3,7 @@ Adapters - + diff --git a/doc/html/fusion/functional/adapters/fused.html b/doc/html/fusion/functional/adapters/fused.html index e89cd756..3100beaf 100644 --- a/doc/html/fusion/functional/adapters/fused.html +++ b/doc/html/fusion/functional/adapters/fused.html @@ -3,7 +3,7 @@ fused - + @@ -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 1b451376..7fd166c8 100644 --- a/doc/html/fusion/functional/adapters/fused_function_object.html +++ b/doc/html/fusion/functional/adapters/fused_function_object.html @@ -3,7 +3,7 @@ fused_function_object - + @@ -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 b4e26c35..f87ffaf8 100644 --- a/doc/html/fusion/functional/adapters/fused_procedure.html +++ b/doc/html/fusion/functional/adapters/fused_procedure.html @@ -3,7 +3,7 @@ fused_procedure - + @@ -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 d030481e..0b781778 100644 --- a/doc/html/fusion/functional/adapters/limits.html +++ b/doc/html/fusion/functional/adapters/limits.html @@ -3,7 +3,7 @@ Limits - + @@ -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 b23bd833..7dac7510 100644 --- a/doc/html/fusion/functional/adapters/unfused.html +++ b/doc/html/fusion/functional/adapters/unfused.html @@ -3,7 +3,7 @@ unfused - + @@ -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 3a7dc880..a14e8e11 100644 --- a/doc/html/fusion/functional/adapters/unfused_typed.html +++ b/doc/html/fusion/functional/adapters/unfused_typed.html @@ -3,7 +3,7 @@ unfused_typed - + @@ -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.html b/doc/html/fusion/functional/concepts.html index 57a07c36..e086fa5d 100644 --- a/doc/html/fusion/functional/concepts.html +++ b/doc/html/fusion/functional/concepts.html @@ -3,7 +3,7 @@ Concepts - + diff --git a/doc/html/fusion/functional/concepts/callable.html b/doc/html/fusion/functional/concepts/callable.html index da141856..6ef17732 100644 --- a/doc/html/fusion/functional/concepts/callable.html +++ b/doc/html/fusion/functional/concepts/callable.html @@ -3,7 +3,7 @@ Callable Object - + @@ -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 71a883d9..86590b42 100644
--- a/doc/html/fusion/functional/concepts/def_callable.html
+++ b/doc/html/fusion/functional/concepts/def_callable.html
@@ -3,7 +3,7 @@
 
 Deferred Callable Object
 
-
+
 
 
 
@@ -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 591efe2e..c372ef06 100644
--- a/doc/html/fusion/functional/concepts/poly.html
+++ b/doc/html/fusion/functional/concepts/poly.html
@@ -3,7 +3,7 @@
 
 Polymorphic Function Object
 
-
+
 
 
 
@@ -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 20381c5a..26bce9d2 100644
--- a/doc/html/fusion/functional/concepts/reg_callable.html
+++ b/doc/html/fusion/functional/concepts/reg_callable.html
@@ -3,7 +3,7 @@
 
 Regular Callable Object
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/functional/generation.html
index acca490e..2185a2c2 100644
--- a/doc/html/fusion/functional/generation.html
+++ b/doc/html/fusion/functional/generation.html
@@ -3,7 +3,7 @@
 
 Generation
 
-
+
 
 
 
diff --git a/doc/html/fusion/functional/generation/functions.html b/doc/html/fusion/functional/generation/functions.html
index afe77e96..491d552d 100644
--- a/doc/html/fusion/functional/generation/functions.html
+++ b/doc/html/fusion/functional/generation/functions.html
@@ -3,7 +3,7 @@
 
 Functions
 
-
+
 
 
 
diff --git a/doc/html/fusion/functional/generation/functions/mk_fused.html b/doc/html/fusion/functional/generation/functions/mk_fused.html
index e0ccb4b3..b7343db1 100644
--- a/doc/html/fusion/functional/generation/functions/mk_fused.html
+++ b/doc/html/fusion/functional/generation/functions/mk_fused.html
@@ -3,7 +3,7 @@
 
 make_fused
 
-
+
 
 
 
@@ -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 58831fb8..ba003210 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html @@ -3,7 +3,7 @@ make_fused_function_object - + @@ -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 478150c9..3fcd3cd2 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_proc.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_proc.html @@ -3,7 +3,7 @@ make_fused_procedure - + @@ -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 a048845a..b843ad31 100644 --- a/doc/html/fusion/functional/generation/functions/mk_unfused.html +++ b/doc/html/fusion/functional/generation/functions/mk_unfused.html @@ -3,7 +3,7 @@ make_unfused - + @@ -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.html b/doc/html/fusion/functional/generation/metafunctions.html index 8c20672d..75407db8 100644 --- a/doc/html/fusion/functional/generation/metafunctions.html +++ b/doc/html/fusion/functional/generation/metafunctions.html @@ -3,7 +3,7 @@ Metafunctions - + diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html index e0b4125d..bb60c475 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html @@ -3,7 +3,7 @@ make_fused - + @@ -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 94c70f83..9bca4c5b 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html @@ -3,7 +3,7 @@ make_fused_function_object - + @@ -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 3d1e02bb..aaebc8ba 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html @@ -3,7 +3,7 @@ make_fused_procedure - + @@ -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 d35c2ddc..ad49bb7f 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html @@ -3,7 +3,7 @@ make_unfused - + @@ -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.html b/doc/html/fusion/functional/invocation.html index 6a2c639e..a1b079de 100644 --- a/doc/html/fusion/functional/invocation.html +++ b/doc/html/fusion/functional/invocation.html @@ -3,7 +3,7 @@ Invocation - + diff --git a/doc/html/fusion/functional/invocation/functions.html b/doc/html/fusion/functional/invocation/functions.html index b67a0d39..1a2b8659 100644 --- a/doc/html/fusion/functional/invocation/functions.html +++ b/doc/html/fusion/functional/invocation/functions.html @@ -3,7 +3,7 @@ Functions - + diff --git a/doc/html/fusion/functional/invocation/functions/invoke.html b/doc/html/fusion/functional/invocation/functions/invoke.html index a85e71d7..39a48b79 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke.html +++ b/doc/html/fusion/functional/invocation/functions/invoke.html @@ -3,7 +3,7 @@ invoke - + @@ -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 ff2e8ed6..6fd28607 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke_fobj.html +++ b/doc/html/fusion/functional/invocation/functions/invoke_fobj.html @@ -3,7 +3,7 @@ invoke_function_object - + @@ -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 22821053..7cb02502 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/functions/invoke_proc.html @@ -3,7 +3,7 @@ invoke_procedure - + @@ -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 35c77925..31d28911 100644 --- a/doc/html/fusion/functional/invocation/limits.html +++ b/doc/html/fusion/functional/invocation/limits.html @@ -3,7 +3,7 @@ Limits - + @@ -27,13 +27,13 @@ Limits
- + Header
#include <boost/fusion/functional/invocation/limits.hpp>
 
- + Macros

diff --git a/doc/html/fusion/functional/invocation/metafunctions.html b/doc/html/fusion/functional/invocation/metafunctions.html index 199de329..12de22a9 100644 --- a/doc/html/fusion/functional/invocation/metafunctions.html +++ b/doc/html/fusion/functional/invocation/metafunctions.html @@ -3,7 +3,7 @@ Metafunctions - + diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke.html b/doc/html/fusion/functional/invocation/metafunctions/invoke.html index 85882f1a..9574cbca 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke.html @@ -3,7 +3,7 @@ invoke - + @@ -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 2ea6cdfb..7300544a 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html @@ -3,7 +3,7 @@ invoke_function_object - + @@ -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 b8db4987..b3b9527d 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html @@ -3,7 +3,7 @@ invoke_procedure - + @@ -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 8913f34b..e8b177d2 100644 --- a/doc/html/fusion/introduction.html +++ b/doc/html/fusion/introduction.html @@ -3,7 +3,7 @@ Introduction - + @@ -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 edbf22b2..775406c3 100644 --- a/doc/html/fusion/iterator.html +++ b/doc/html/fusion/iterator.html @@ -3,7 +3,7 @@ Iterator - + @@ -75,7 +75,7 @@ Sequence.

- + Header

#include <boost/fusion/iterator.hpp>
diff --git a/doc/html/fusion/iterator/concepts.html b/doc/html/fusion/iterator/concepts.html
index 6f521bd5..fa9ccc33 100644
--- a/doc/html/fusion/iterator/concepts.html
+++ b/doc/html/fusion/iterator/concepts.html
@@ -3,7 +3,7 @@
 
 Concepts
 
-
+
 
 
 
diff --git a/doc/html/fusion/iterator/concepts/bidirectional_iterator.html b/doc/html/fusion/iterator/concepts/bidirectional_iterator.html
index 981795fb..5ccf6cf7 100644
--- a/doc/html/fusion/iterator/concepts/bidirectional_iterator.html
+++ b/doc/html/fusion/iterator/concepts/bidirectional_iterator.html
@@ -3,7 +3,7 @@
 
 Bidirectional Iterator
 
-
+
 
 
 
@@ -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 08737d85..554b83e5 100644 --- a/doc/html/fusion/iterator/concepts/forward_iterator.html +++ b/doc/html/fusion/iterator/concepts/forward_iterator.html @@ -3,7 +3,7 @@ Forward Iterator - + @@ -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 0ce05c90..3b7a0a94 100644 --- a/doc/html/fusion/iterator/concepts/random_access_iterator.html +++ b/doc/html/fusion/iterator/concepts/random_access_iterator.html @@ -3,7 +3,7 @@ Random Access Iterator - + @@ -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.html b/doc/html/fusion/iterator/functions.html index c50da685..17087d66 100644 --- a/doc/html/fusion/iterator/functions.html +++ b/doc/html/fusion/iterator/functions.html @@ -3,7 +3,7 @@ Functions - + diff --git a/doc/html/fusion/iterator/functions/advance.html b/doc/html/fusion/iterator/functions/advance.html index a1bcbf76..f8a94987 100644 --- a/doc/html/fusion/iterator/functions/advance.html +++ b/doc/html/fusion/iterator/functions/advance.html @@ -3,7 +3,7 @@ advance - + @@ -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 2c6de9cc..c1404eb7 100644
--- a/doc/html/fusion/iterator/functions/advance_c.html
+++ b/doc/html/fusion/iterator/functions/advance_c.html
@@ -3,7 +3,7 @@
 
 advance_c
 
-
+
 
 
 
@@ -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 5c153249..7eb45ffe 100644
--- a/doc/html/fusion/iterator/functions/deref.html
+++ b/doc/html/fusion/iterator/functions/deref.html
@@ -3,7 +3,7 @@
 
 deref
 
-
+
 
 
 
@@ -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/distance.html b/doc/html/fusion/iterator/functions/distance.html
index 26818725..e76598e2 100644
--- a/doc/html/fusion/iterator/functions/distance.html
+++ b/doc/html/fusion/iterator/functions/distance.html
@@ -3,7 +3,7 @@
 
 distance
 
-
+
 
 
 
@@ -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 a6c19e9d..fda83c51 100644
--- a/doc/html/fusion/iterator/functions/next.html
+++ b/doc/html/fusion/iterator/functions/next.html
@@ -3,7 +3,7 @@
 
 next
 
-
+
 
 
 
@@ -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 a1794c6b..5e3fad70 100644
--- a/doc/html/fusion/iterator/functions/prior.html
+++ b/doc/html/fusion/iterator/functions/prior.html
@@ -3,7 +3,7 @@
 
 prior
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/iterator/metafunctions.html
index be481821..00a4a45b 100644
--- a/doc/html/fusion/iterator/metafunctions.html
+++ b/doc/html/fusion/iterator/metafunctions.html
@@ -3,7 +3,7 @@
 
 Metafunctions
 
-
+
 
 
 
diff --git a/doc/html/fusion/iterator/metafunctions/advance.html b/doc/html/fusion/iterator/metafunctions/advance.html
index 83f9fcdc..7e79f18f 100644
--- a/doc/html/fusion/iterator/metafunctions/advance.html
+++ b/doc/html/fusion/iterator/metafunctions/advance.html
@@ -3,7 +3,7 @@
 
 advance
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 advance
 
 
- + Description

Moves an iterator a specified distance.

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

Table 1.17. Parameters

+

Table 1.17. 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 f2c47ebc..1f6be8c5 100644
--- a/doc/html/fusion/iterator/metafunctions/advance_c.html
+++ b/doc/html/fusion/iterator/metafunctions/advance_c.html
@@ -3,7 +3,7 @@
 
 advance_c
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 advance_c
 
 
- + Description

Moves an iterator by a specified distance.

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

Table 1.18. Parameters

+

Table 1.18. 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 00b759df..bb3e8854 100644
--- a/doc/html/fusion/iterator/metafunctions/deref.html
+++ b/doc/html/fusion/iterator/metafunctions/deref.html
@@ -3,7 +3,7 @@
 
 deref
 
-
+
 
 
 
@@ -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.12. Parameters

+

Table 1.12. 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/distance.html b/doc/html/fusion/iterator/metafunctions/distance.html
index 31b11479..501a4647 100644
--- a/doc/html/fusion/iterator/metafunctions/distance.html
+++ b/doc/html/fusion/iterator/metafunctions/distance.html
@@ -3,7 +3,7 @@
 
 distance
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 distance
 
 
- + Description

Returns the distance between two iterators.

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

Table 1.16. Parameters

+

Table 1.16. 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 bf8a178a..0620dd58 100644
--- a/doc/html/fusion/iterator/metafunctions/equal_to.html
+++ b/doc/html/fusion/iterator/metafunctions/equal_to.html
@@ -3,7 +3,7 @@
 
 equal_to
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 equal_to
 
 
- + Description

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

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

Table 1.15. Parameters

+

Table 1.15. 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/next.html b/doc/html/fusion/iterator/metafunctions/next.html
index 56e9d907..1620b22b 100644
--- a/doc/html/fusion/iterator/metafunctions/next.html
+++ b/doc/html/fusion/iterator/metafunctions/next.html
@@ -3,7 +3,7 @@
 
 next
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 next
 
 
- + Description

Returns the type of the next iterator in a sequence.

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

Table 1.13. Parameters

+

Table 1.13. 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 1ad91922..d953db31 100644
--- a/doc/html/fusion/iterator/metafunctions/prior.html
+++ b/doc/html/fusion/iterator/metafunctions/prior.html
@@ -3,7 +3,7 @@
 
 prior
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 prior
 
 
- + Description

Returns the type of the previous iterator in a sequence.

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

Table 1.14. Parameters

+

Table 1.14. 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 a9611130..1ef34859 100644
--- a/doc/html/fusion/iterator/metafunctions/value_of.html
+++ b/doc/html/fusion/iterator/metafunctions/value_of.html
@@ -3,7 +3,7 @@
 
 value_of
 
-
+
 
 
 
@@ -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.11. Parameters

+

Table 1.11. 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/operator.html b/doc/html/fusion/iterator/operator.html
index 8094cc2a..256ae230 100644
--- a/doc/html/fusion/iterator/operator.html
+++ b/doc/html/fusion/iterator/operator.html
@@ -3,7 +3,7 @@
 
 Operator
 
-
+
 
 
 
diff --git a/doc/html/fusion/iterator/operator/operator_equality.html b/doc/html/fusion/iterator/operator/operator_equality.html
index 08f0ccc3..286fbb7b 100644
--- a/doc/html/fusion/iterator/operator/operator_equality.html
+++ b/doc/html/fusion/iterator/operator/operator_equality.html
@@ -3,7 +3,7 @@
 
 Operator ==
 
-
+
 
 
 
@@ -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.9. Parameters

+

Table 1.9. 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 3c35818e..3a4352de 100644
--- a/doc/html/fusion/iterator/operator/operator_inequality.html
+++ b/doc/html/fusion/iterator/operator/operator_inequality.html
@@ -3,7 +3,7 @@
 
 Operator !=
 
-
+
 
 
 
@@ -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.10. Parameters

+

Table 1.10. 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 36299dca..2ec05403 100644
--- a/doc/html/fusion/iterator/operator/operator_unary_star.html
+++ b/doc/html/fusion/iterator/operator/operator_unary_star.html
@@ -3,7 +3,7 @@
 
 Operator *
 
-
+
 
 
 
@@ -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.8. Parameters

+

Table 1.8. 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 522e3fc6..c8886f1e 100644
--- a/doc/html/fusion/notes.html
+++ b/doc/html/fusion/notes.html
@@ -3,7 +3,7 @@
 
 Notes
 
-
+
 
 
 
@@ -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 8177d5c5..e5877008 100644 --- a/doc/html/fusion/organization.html +++ b/doc/html/fusion/organization.html @@ -3,7 +3,7 @@ Organization - + @@ -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 d7b5dbe8..4bb05e32 100644 --- a/doc/html/fusion/preface.html +++ b/doc/html/fusion/preface.html @@ -3,7 +3,7 @@ Preface - + @@ -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 9f72ccdb..fe8197ee 100644 --- a/doc/html/fusion/quick_start.html +++ b/doc/html/fusion/quick_start.html @@ -3,7 +3,7 @@ Quick Start - + @@ -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/references.html b/doc/html/fusion/references.html index 301b3513..3a85ee5e 100644 --- a/doc/html/fusion/references.html +++ b/doc/html/fusion/references.html @@ -3,7 +3,7 @@ References - + diff --git a/doc/html/fusion/sequence.html b/doc/html/fusion/sequence.html index c4122959..f480f370 100644 --- a/doc/html/fusion/sequence.html +++ b/doc/html/fusion/sequence.html @@ -3,7 +3,7 @@ Sequence - + @@ -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 6e0609e5..34996e39 100644
--- a/doc/html/fusion/sequence/concepts.html
+++ b/doc/html/fusion/sequence/concepts.html
@@ -3,7 +3,7 @@
 
 Concepts
 
-
+
 
 
 
@@ -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 32cfa958..e68b98de 100644 --- a/doc/html/fusion/sequence/concepts/associative_sequence.html +++ b/doc/html/fusion/sequence/concepts/associative_sequence.html @@ -3,7 +3,7 @@ Associative Sequence - + @@ -28,7 +28,7 @@ Sequence

- + Description

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

- + Valid Expressions
@@ -178,7 +178,7 @@
- + Result Type Expressions
@@ -253,7 +253,7 @@

- + Expression Semantics
@@ -308,7 +308,7 @@
- + Models
    diff --git a/doc/html/fusion/sequence/concepts/bidirectional_sequence.html b/doc/html/fusion/sequence/concepts/bidirectional_sequence.html index 244e27e3..3036a63b 100644 --- a/doc/html/fusion/sequence/concepts/bidirectional_sequence.html +++ b/doc/html/fusion/sequence/concepts/bidirectional_sequence.html @@ -3,7 +3,7 @@ Bidirectional Sequence - + @@ -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 7eae6fa9..27204400 100644 --- a/doc/html/fusion/sequence/concepts/forward_sequence.html +++ b/doc/html/fusion/sequence/concepts/forward_sequence.html @@ -3,7 +3,7 @@ Forward Sequence - + @@ -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 52e42ca3..93cc98a5 100644 --- a/doc/html/fusion/sequence/concepts/random_access_sequence.html +++ b/doc/html/fusion/sequence/concepts/random_access_sequence.html @@ -3,7 +3,7 @@ Random Access Sequence - + @@ -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 3556b04f..8981b1e4 100644 --- a/doc/html/fusion/sequence/intrinsic.html +++ b/doc/html/fusion/sequence/intrinsic.html @@ -3,7 +3,7 @@ Intrinsic - + @@ -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.html b/doc/html/fusion/sequence/intrinsic/functions.html index 192d7ed5..a122ba06 100644 --- a/doc/html/fusion/sequence/intrinsic/functions.html +++ b/doc/html/fusion/sequence/intrinsic/functions.html @@ -3,7 +3,7 @@ Functions - + diff --git a/doc/html/fusion/sequence/intrinsic/functions/at.html b/doc/html/fusion/sequence/intrinsic/functions/at.html index 9b082f85..1210fa84 100644 --- a/doc/html/fusion/sequence/intrinsic/functions/at.html +++ b/doc/html/fusion/sequence/intrinsic/functions/at.html @@ -3,7 +3,7 @@ at - + @@ -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 672b860f..84770c41 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/at_c.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/at_c.html
@@ -3,7 +3,7 @@
 
 at_c
 
-
+
 
 
 
@@ -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 ce74b346..34ef15e7 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/at_key.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/at_key.html
@@ -3,7 +3,7 @@
 
 at_key
 
-
+
 
 
 
@@ -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 7fedb3db..d9987ae8 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/back.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/back.html
@@ -3,7 +3,7 @@
 
 back
 
-
+
 
 
 
@@ -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 3d8627f4..8081e9ac 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/begin.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/begin.html
@@ -3,7 +3,7 @@
 
 begin
 
-
+
 
 
 
@@ -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
@@ -115,14 +115,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 accf602b..f02d63dc 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/empty.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/empty.html
@@ -3,7 +3,7 @@
 
 empty
 
-
+
 
 
 
@@ -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 1a002a1b..0d30dc68 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/end.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/end.html
@@ -3,7 +3,7 @@
 
 end
 
-
+
 
 
 
@@ -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
@@ -115,14 +115,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 a485719f..9fcf997b 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/front.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/front.html
@@ -3,7 +3,7 @@
 
 front
 
-
+
 
 
 
@@ -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 1630c313..7d049caf 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/has_key.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/has_key.html
@@ -3,7 +3,7 @@
 
 has_key
 
-
+
 
 
 
@@ -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 a7275245..de71118c 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/size.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/size.html
@@ -3,7 +3,7 @@
 
 size
 
-
+
 
 
 
@@ -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 846e11c1..eed72510 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/swap.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/swap.html
@@ -3,7 +3,7 @@
 
 swap
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/sequence/intrinsic/metafunctions.html
index 5867b7fe..af3ba352 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions.html
@@ -3,7 +3,7 @@
 
 Metafunctions
 
-
+
 
 
 
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/at.html b/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
index 99bea1fd..ba65312d 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
@@ -3,7 +3,7 @@
 
 at
 
-
+
 
 
 
@@ -27,16 +27,16 @@
 at
 
 
- + Description

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

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

Table 1.25. Parameters

+

Table 1.25. Parameters

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

- + Expression Semantics
@@ -130,7 +130,7 @@ /sequence/intrinsic/at.hpp>

- + Example
typedef vector<int,float,char> vec;
@@ -138,7 +138,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 83f57d64..0025ed1e 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html @@ -3,7 +3,7 @@ at_c - + @@ -27,16 +27,16 @@ at_c

- + Description

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

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

Table 1.26. Parameters

+

Table 1.26. Parameters

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

- + Expression Semantics
@@ -129,7 +129,7 @@ /sequence/intrinsic/at.hpp>

- + Example
typedef vector<int,float,char> vec;
@@ -137,7 +137,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 018be677..e9a57507 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html @@ -3,7 +3,7 @@ at_key - + @@ -27,16 +27,16 @@ at_key

- + Description

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

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

Table 1.30. Parameters

+

Table 1.30. Parameters

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

- + Expression Semantics
@@ -131,7 +131,7 @@ /sequence/intrinsic/at_key.hpp>

- + Example
typedef map<pair<int, char>, pair<char, char>, pair<double, char> > mymap;
@@ -139,7 +139,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 cc97fec5..5f450323 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/back.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/back.html @@ -3,7 +3,7 @@ back - + @@ -27,14 +27,14 @@ back

- + Description

Returns the result type of back.

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

Table 1.23. Parameters

+

Table 1.23. Parameters

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

- + Expression Semantics
@@ -106,7 +106,7 @@ /sequence/intrinsic/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 86bbb9d2..5fdfaa34 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html
@@ -3,7 +3,7 @@
 
 begin
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 begin
 
 
- + Description

Returns the result type of begin.

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

Table 1.19. Parameters

+

Table 1.19. Parameters

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

- + Expression Semantics
@@ -107,7 +107,7 @@ /sequence/intrinsic/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 c40d5389..d127877c 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html
@@ -3,7 +3,7 @@
 
 empty
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 empty
 
 
- + Description

Returns the result type of empty.

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

Table 1.21. Parameters

+

Table 1.21. Parameters

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

- + Expression Semantics
@@ -108,7 +108,7 @@ /sequence/intrinsic/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 d47b7db9..74905219 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/end.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/end.html
@@ -3,7 +3,7 @@
 
 end
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 end
 
 
- + Description

Returns the result type of end.

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

Table 1.20. Parameters

+

Table 1.20. Parameters

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

- + Expression Semantics
@@ -107,7 +107,7 @@ /sequence/intrinsic/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 e67c3bf1..93ad7782 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/front.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/front.html
@@ -3,7 +3,7 @@
 
 front
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 front
 
 
- + Description

Returns the result type of front.

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

Table 1.22. Parameters

+

Table 1.22. Parameters

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

- + Expression Semantics
@@ -107,7 +107,7 @@ /sequence/intrinsic/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 68a1a669..8691e4dd 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/has_key.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/has_key.html
@@ -3,7 +3,7 @@
 
 has_key
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 has_key
 
 
- + Description

Returns the result type of has_key.

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

Table 1.29. Parameters

+

Table 1.29. Parameters

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

- + Expression Semantics
@@ -130,7 +130,7 @@ /sequence/intrinsic/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 4267ca0b..b2edb7d4 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/size.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/size.html
@@ -3,7 +3,7 @@
 
 size
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 size
 
 
- + Description

Returns the result type of size.

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

Table 1.24. Parameters

+

Table 1.24. Parameters

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

- + Expression Semantics
@@ -107,7 +107,7 @@ /sequence/intrinsic/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 8c843266..c8c14d9b 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/swap.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/swap.html
@@ -3,7 +3,7 @@
 
 swap
 
-
+
 
 
 
@@ -27,14 +27,14 @@
 swap
 
 
- + Description

Returns the return type of swap.

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

Table 1.32. Parameters

+

Table 1.32. Parameters

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

- + Expression Semantics
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html index 9d77c556..90a27030 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html @@ -3,7 +3,7 @@ value_at - + @@ -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.27. Parameters

+

Table 1.27. Parameters

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

- + Expression Semantics
@@ -128,7 +128,7 @@ /sequence/intrinsic/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 19596cc3..464df88b 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_c.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_c.html
@@ -3,7 +3,7 @@
 
 value_at_c
 
-
+
 
 
 
@@ -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.28. Parameters

+

Table 1.28. Parameters

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

- + Expression Semantics
@@ -127,7 +127,7 @@ /sequence/intrinsic/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 2e86a594..116ded9f 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_key.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_key.html
@@ -3,7 +3,7 @@
 
 value_at_key
 
-
+
 
 
 
@@ -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.31. Parameters

+

Table 1.31. Parameters

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

- + Expression Semantics
@@ -128,7 +128,7 @@ /sequence/intrinsic/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.html b/doc/html/fusion/sequence/operator.html
index b5c33368..7ebfad13 100644
--- a/doc/html/fusion/sequence/operator.html
+++ b/doc/html/fusion/sequence/operator.html
@@ -3,7 +3,7 @@
 
 Operator
 
-
+
 
 
 
diff --git a/doc/html/fusion/sequence/operator/comparison.html b/doc/html/fusion/sequence/operator/comparison.html
index 76e2f9d7..60b388fb 100644
--- a/doc/html/fusion/sequence/operator/comparison.html
+++ b/doc/html/fusion/sequence/operator/comparison.html
@@ -3,7 +3,7 @@
 
 Comparison
 
-
+
 
 
 
@@ -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 fded29fb..252e84e3 100644
--- a/doc/html/fusion/sequence/operator/comparison/equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/equal.html
@@ -3,7 +3,7 @@
 
 equal
 
-
+
 
 
 
@@ -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 3d65efc2..839ff8a7 100644
--- a/doc/html/fusion/sequence/operator/comparison/greater_than.html
+++ b/doc/html/fusion/sequence/operator/comparison/greater_than.html
@@ -3,7 +3,7 @@
 
 greater than
 
-
+
 
 
 
@@ -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 f8e46421..2d86039a 100644
--- a/doc/html/fusion/sequence/operator/comparison/greater_than_equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/greater_than_equal.html
@@ -3,7 +3,7 @@
 
 greater than equal
 
-
+
 
 
 
@@ -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 9adf5b5f..c5553787 100644
--- a/doc/html/fusion/sequence/operator/comparison/less_than.html
+++ b/doc/html/fusion/sequence/operator/comparison/less_than.html
@@ -3,7 +3,7 @@
 
 less than
 
-
+
 
 
 
@@ -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 66303246..92bbb874 100644
--- a/doc/html/fusion/sequence/operator/comparison/less_than_equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/less_than_equal.html
@@ -3,7 +3,7 @@
 
 less than equal
 
-
+
 
 
 
@@ -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 f16d4ab1..7e967361 100644
--- a/doc/html/fusion/sequence/operator/comparison/not_equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/not_equal.html
@@ -3,7 +3,7 @@
 
 not equal
 
-
+
 
 
 
@@ -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 f6e009c7..a01c3f81 100644
--- a/doc/html/fusion/sequence/operator/i_o.html
+++ b/doc/html/fusion/sequence/operator/i_o.html
@@ -3,7 +3,7 @@
 
 I/O
 
-
+
 
 
 
@@ -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 16637f05..1a001d74 100644
--- a/doc/html/fusion/sequence/operator/i_o/in.html
+++ b/doc/html/fusion/sequence/operator/i_o/in.html
@@ -3,7 +3,7 @@
 
 in
 
-
+
 
 
 
@@ -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 ff79fdd6..3ea40a01 100644
--- a/doc/html/fusion/sequence/operator/i_o/out.html
+++ b/doc/html/fusion/sequence/operator/i_o/out.html
@@ -3,7 +3,7 @@
 
 out
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/support.html
index 329f1cf0..1e04838a 100644
--- a/doc/html/fusion/support.html
+++ b/doc/html/fusion/support.html
@@ -3,7 +3,7 @@
 
 Support
 
-
+
 
 
 
diff --git a/doc/html/fusion/support/category_of.html b/doc/html/fusion/support/category_of.html
index 8402b285..cc5b7423 100644
--- a/doc/html/fusion/support/category_of.html
+++ b/doc/html/fusion/support/category_of.html
@@ -3,7 +3,7 @@
 
 category_of
 
-
+
 
 
 
@@ -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
@@ -157,14 +157,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 e0241734..9bf91bce 100644
--- a/doc/html/fusion/support/deduce.html
+++ b/doc/html/fusion/support/deduce.html
@@ -3,7 +3,7 @@
 
 deduce
 
-
+
 
 
 
@@ -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 dfaec85e..461fefe8 100644 --- a/doc/html/fusion/support/deduce_sequence.html +++ b/doc/html/fusion/support/deduce_sequence.html @@ -3,7 +3,7 @@ deduce_sequence - + @@ -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 cefb2073..2b957eed 100644 --- a/doc/html/fusion/support/is_sequence.html +++ b/doc/html/fusion/support/is_sequence.html @@ -3,7 +3,7 @@ is_sequence - + @@ -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 5a9e1fb1..1358f40e 100644
--- a/doc/html/fusion/support/is_view.html
+++ b/doc/html/fusion/support/is_view.html
@@ -3,7 +3,7 @@
 
 is_view
 
-
+
 
 
 
@@ -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 d488d98b..b5d71309 100644
--- a/doc/html/fusion/support/pair.html
+++ b/doc/html/fusion/support/pair.html
@@ -3,7 +3,7 @@
 
 pair
 
-
+
 
 
 
@@ -27,7 +27,7 @@
 pair
 
 
- + Description

@@ -38,7 +38,7 @@ for example.

- + Synopsis
template <typename First, typename Second>
@@ -61,7 +61,7 @@
 make_pair(Second const &);
 
- + Template parameters
@@ -140,7 +140,7 @@
- + Expression Semantics
@@ -320,14 +320,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 1d324467..b4e10250 100644
--- a/doc/html/fusion/support/tag_of.html
+++ b/doc/html/fusion/support/tag_of.html
@@ -3,7 +3,7 @@
 
 tag_of
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/tuple.html
index 85f69cb8..6f3d7c34 100644
--- a/doc/html/fusion/tuple.html
+++ b/doc/html/fusion/tuple.html
@@ -3,7 +3,7 @@
 
 Tuple
 
-
+
 
 
 
diff --git a/doc/html/fusion/tuple/class_template_tuple.html b/doc/html/fusion/tuple/class_template_tuple.html
index 663aec85..397cfb79 100644
--- a/doc/html/fusion/tuple/class_template_tuple.html
+++ b/doc/html/fusion/tuple/class_template_tuple.html
@@ -3,7 +3,7 @@
 
 Class template tuple
 
-
+
 
 
 
@@ -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 90fb7d32..560adb59 100644
--- a/doc/html/fusion/tuple/class_template_tuple/construction.html
+++ b/doc/html/fusion/tuple/class_template_tuple/construction.html
@@ -3,7 +3,7 @@
 
 Construction
 
-
+
 
 
 
@@ -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 60288b37..b6c70ba6 100644 --- a/doc/html/fusion/tuple/class_template_tuple/element_access.html +++ b/doc/html/fusion/tuple/class_template_tuple/element_access.html @@ -3,7 +3,7 @@ Element access - + @@ -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 f1c5cd78..1b7ea11c 100644
--- a/doc/html/fusion/tuple/class_template_tuple/relational_operators.html
+++ b/doc/html/fusion/tuple/class_template_tuple/relational_operators.html
@@ -3,7 +3,7 @@
 
 Relational operators
 
-
+
 
 
 
@@ -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 5125a226..16d2e2de 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 @@ -3,7 +3,7 @@ Tuple creation functions - + @@ -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 dda1f7aa..e3387c41 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
@@ -3,7 +3,7 @@
 
 Tuple helper classes
 
-
+
 
 
 
@@ -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 0c0d0512..a7688590 100644
--- a/doc/html/fusion/tuple/pairs.html
+++ b/doc/html/fusion/tuple/pairs.html
@@ -3,7 +3,7 @@
 
 Pairs
 
-
+
 
 
 
@@ -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 2dfa641a..31d107f9 100644
--- a/doc/html/fusion/view.html
+++ b/doc/html/fusion/view.html
@@ -3,7 +3,7 @@
 
 View
 
-
+
 
 
 
@@ -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 f52663ac..4263b220 100644
--- a/doc/html/fusion/view/filter_view.html
+++ b/doc/html/fusion/view/filter_view.html
@@ -3,7 +3,7 @@
 
 filter_view
 
-
+
 
 
 
@@ -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
@@ -138,7 +138,7 @@
- + Expression Semantics

@@ -209,7 +209,7 @@

- + Example
using boost::mpl::_;
diff --git a/doc/html/fusion/view/iterator_range.html b/doc/html/fusion/view/iterator_range.html
index 259037b1..1aaba203 100644
--- a/doc/html/fusion/view/iterator_range.html
+++ b/doc/html/fusion/view/iterator_range.html
@@ -3,7 +3,7 @@
 
 iterator_range
 
-
+
 
 
 
@@ -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
  • @@ -145,7 +145,7 @@
- + Expression Semantics
@@ -219,7 +219,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 bf3a51ea..9f425894 100644
--- a/doc/html/fusion/view/joint_view.html
+++ b/doc/html/fusion/view/joint_view.html
@@ -3,7 +3,7 @@
 
 joint_view
 
-
+
 
 
 
@@ -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
@@ -140,7 +140,7 @@
- + Expression Semantics

@@ -212,7 +212,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 1d2684f3..db4678fe 100644
--- a/doc/html/fusion/view/nview.html
+++ b/doc/html/fusion/view/nview.html
@@ -3,7 +3,7 @@
 
 nview
 
-
+
 
 
 
@@ -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 dacdc1da..8d1c4ada 100644
--- a/doc/html/fusion/view/reverse_view.html
+++ b/doc/html/fusion/view/reverse_view.html
@@ -3,7 +3,7 @@
 
 reverse_view
 
-
+
 
 
 
@@ -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
- + Expression Semantics
@@ -187,7 +187,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 9153a177..aaf1858f 100644
--- a/doc/html/fusion/view/single_view.html
+++ b/doc/html/fusion/view/single_view.html
@@ -3,7 +3,7 @@
 
 single_view
 
-
+
 
 
 
@@ -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 36cd83c9..f3b5d718 100644
--- a/doc/html/fusion/view/transform_view.html
+++ b/doc/html/fusion/view/transform_view.html
@@ -3,7 +3,7 @@
 
 transform_view
 
-
+
 
 
 
@@ -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 653cc549..96f4cc62 100644
--- a/doc/html/fusion/view/zip_view.html
+++ b/doc/html/fusion/view/zip_view.html
@@ -3,7 +3,7 @@
 
 zip_view
 
-
+
 
 
 
@@ -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 83e07fad..7f3be981 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -3,7 +3,7 @@
 
 Chapter 1. Fusion 2.0
 
-
+
 
 
 
@@ -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)

@@ -241,7 +241,7 @@
- +

Last revised: September 29, 2009 at 14:44:20 GMT

Last revised: October 20, 2009 at 14:59:29 GMT


diff --git a/example/performance/accumulate.cpp b/example/performance/accumulate.cpp index 45aa1a11..849161b0 100644 --- a/example/performance/accumulate.cpp +++ b/example/performance/accumulate.cpp @@ -250,14 +250,14 @@ namespace template struct result { - typedef Rhs type; + typedef Lhs type; }; template typename result::type operator()(const Lhs& lhs, const Rhs& rhs) const { - return rhs + boost::fusion::at_c<0>(lhs) * boost::fusion::at_c<1>(lhs); + return lhs + boost::fusion::at_c<0>(rhs) * boost::fusion::at_c<1>(rhs); } }; diff --git a/example/performance/inner_product2.cpp b/example/performance/inner_product2.cpp index 3e952c07..f4e920ff 100644 --- a/example/performance/inner_product2.cpp +++ b/example/performance/inner_product2.cpp @@ -121,14 +121,14 @@ namespace template struct result - : boost::remove_reference + : boost::remove_reference {}; template typename result::type operator()(const Lhs& lhs, const Rhs& rhs) const { - return rhs + boost::fusion::at_c<0>(lhs) * boost::fusion::at_c<1>(lhs); + return lhs + boost::fusion::at_c<0>(rhs) * boost::fusion::at_c<1>(rhs); } }; diff --git a/include/boost/fusion/algorithm/iteration/detail/fold.hpp b/include/boost/fusion/algorithm/iteration/detail/fold.hpp index 390b188c..8d305865 100644 --- a/include/boost/fusion/algorithm/iteration/detail/fold.hpp +++ b/include/boost/fusion/algorithm/iteration/detail/fold.hpp @@ -34,18 +34,18 @@ namespace detail template struct apply_fold_result { - template + template struct apply - : boost::result_of + : boost::result_of {}; }; - template + template struct fold_apply { typedef typename result_of::deref::type dereferenced; typedef typename add_reference::type>::type lvalue_state; - typedef typename boost::result_of::type type; + typedef typename boost::result_of::type type; }; template @@ -58,7 +58,7 @@ namespace detail static_fold< typename result_of::next::type , Last - , typename fold_apply::type + , typename fold_apply::type , F >::type type; @@ -78,15 +78,15 @@ namespace detail typedef typename result::type type; }; - template + template struct result_of_unrolled_fold; template struct unrolled_fold { - template - static typename result_of_unrolled_fold::type - call(I0 const& i0, State const& state, F f) + template + static typename result_of_unrolled_fold::type + call(State const& state, I0 const& i0, F f) { typedef typename result_of::next::type I1; I1 i1 = fusion::next(i0); @@ -97,54 +97,54 @@ namespace detail typedef typename result_of::next::type I4; I4 i4 = fusion::next(i3); - return unrolled_fold::call(i4, f(*i3, f(*i2, f(*i1, f(*i0, state)))), f); + return unrolled_fold::call(f(f(f(f(state, *i0), *i1), *i2), *i3), i4, f); } }; template<> struct unrolled_fold<3> { - template - static typename result_of_unrolled_fold::type - call(I0 const& i0, State const& state, F f) + template + static typename result_of_unrolled_fold::type + call(State const& state, I0 const& i0, F f) { typedef typename result_of::next::type I1; I1 i1 = fusion::next(i0); typedef typename result_of::next::type I2; I2 i2 = fusion::next(i1); - return f(*i2, f(*i1, f(*i0, state))); + return f(f(f(state, *i0), *i1), *i2); } }; template<> struct unrolled_fold<2> { - template - static typename result_of_unrolled_fold::type - call(I0 const& i0, State const& state, F f) + template + static typename result_of_unrolled_fold::type + call(State const& state, I0 const& i0, F f) { typedef typename result_of::next::type I1; I1 i1 = fusion::next(i0); - return f(*i1, f(*i0, state)); + return f(f(state, *i0), *i1); } }; template<> struct unrolled_fold<1> { - template - static typename result_of_unrolled_fold::type - call(I0 const& i0, State const& state, F f) + template + static typename result_of_unrolled_fold::type + call(State const& state, I0 const& i0, F f) { - return f(*i0, state); + return f(state, *i0); } }; template<> struct unrolled_fold<0> { - template - static State call(I0 const&, State const& state, F) + template + static State call(State const& state, I0 const&, F) { return state; } @@ -171,53 +171,53 @@ namespace detail return detail::linear_fold( fusion::next(first) , last - , f(*first, state) + , f(state, *first) , f , result_of::equal_to::type, Last>() ); } - template + template struct result_of_unrolled_fold { typedef typename result_of::next::type I1; typedef typename result_of::next::type I2; typedef typename result_of::next::type I3; typedef typename result_of::next::type I4; - typedef typename fold_apply::type Rest1; - typedef typename fold_apply::type Rest2; - typedef typename fold_apply::type Rest3; - typedef typename fold_apply::type Rest4; + typedef typename fold_apply::type Rest1; + typedef typename fold_apply::type Rest2; + typedef typename fold_apply::type Rest3; + typedef typename fold_apply::type Rest4; - typedef typename result_of_unrolled_fold::type type; + typedef typename result_of_unrolled_fold::type type; }; - template - struct result_of_unrolled_fold + template + struct result_of_unrolled_fold { typedef typename result_of::next::type I1; typedef typename result_of::next::type I2; - typedef typename fold_apply::type Rest; - typedef typename fold_apply::type Rest2; - typedef typename fold_apply::type type; + typedef typename fold_apply::type Rest; + typedef typename fold_apply::type Rest2; + typedef typename fold_apply::type type; }; - template - struct result_of_unrolled_fold + template + struct result_of_unrolled_fold { typedef typename result_of::next::type I1; - typedef typename fold_apply::type Rest; - typedef typename fold_apply::type type; + typedef typename fold_apply::type Rest; + typedef typename fold_apply::type type; }; - template - struct result_of_unrolled_fold + template + struct result_of_unrolled_fold { - typedef typename fold_apply::type type; + typedef typename fold_apply::type type; }; - template - struct result_of_unrolled_fold + template + struct result_of_unrolled_fold { typedef State type; }; @@ -231,7 +231,7 @@ namespace detail typedef typename result_of::begin::type begin; typedef typename result_of::end::type end; typedef typename result_of_unrolled_fold< - begin, State, F, result_of::distance::type::value>::type type; + State, begin, F, result_of::distance::type::value>::type type; }; template @@ -269,8 +269,8 @@ namespace detail typedef typename result_of::begin::type begin; typedef typename result_of::end::type end; return unrolled_fold::type::value>::call( - fusion::begin(seq) - , state + state + , fusion::begin(seq) , f); } }}} diff --git a/include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp b/include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp old mode 100755 new mode 100644 index d3c31ccc..8b61746a --- a/include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp +++ b/include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp @@ -28,8 +28,8 @@ namespace boost { namespace fusion template struct result; - template - struct result + template + struct result : mpl::plus< segmented_size::type> , typename remove_reference::type diff --git a/include/boost/fusion/view/detail/strictest_traversal.hpp b/include/boost/fusion/view/detail/strictest_traversal.hpp index e74ffbfc..0ba5d8a1 100644 --- a/include/boost/fusion/view/detail/strictest_traversal.hpp +++ b/include/boost/fusion/view/detail/strictest_traversal.hpp @@ -42,8 +42,8 @@ namespace boost { namespace fusion template struct result; - template - struct result + template + struct result { typedef typename remove_reference::type next_value; typedef typename remove_reference::type strictest_so_far; diff --git a/test/algorithm/fold.cpp b/test/algorithm/fold.cpp index a890da67..ec51b406 100644 --- a/test/algorithm/fold.cpp +++ b/test/algorithm/fold.cpp @@ -34,22 +34,22 @@ struct add_ints_only template struct result; - template - struct result + template + struct result { typedef typename boost::remove_const< typename boost::remove_reference::type>::type type; }; - template - State const& - operator()(T const& x, State const& state) const + template + State + operator()(State const& state, T const& x) const { return state; } int - operator()(int x, int state) const + operator()(int state, int x) const { return x + state; } @@ -60,13 +60,13 @@ struct count_ints template struct result; - template - struct result + template + struct result { - typedef typename boost::remove_const< - typename boost::remove_reference::type>::type elem; typedef typename boost::remove_const< typename boost::remove_reference::type>::type state; + typedef typename boost::remove_const< + typename boost::remove_reference::type>::type elem; typedef typename if_< @@ -77,11 +77,11 @@ struct count_ints type; }; - template - typename result::type - operator()(T const&, CountT const&) const + template + typename result::type + operator()(CountT const&, T const&) const { - typedef typename result::type result; + typedef typename result::type result; return result(); } }; @@ -90,7 +90,7 @@ struct appender { typedef std::string result_type; - std::string operator()(char c, std::string const& str) const + std::string operator()(std::string const& str, char c) const { return str + c; } @@ -102,14 +102,14 @@ struct lvalue_adder struct result; template - struct result + struct result { // Second argument still needs to support rvalues - see definition of fusion::fold - typedef T0 type; + typedef T1 type; }; template - T0 operator()(T0& lhs, T1 const& rhs) const + T1 operator()(T0 const& lhs, T1& rhs) const { return lhs + rhs; } diff --git a/test/compile_time/fold.cpp b/test/compile_time/fold.cpp index fa2e8f6c..5fb618dd 100644 --- a/test/compile_time/fold.cpp +++ b/test/compile_time/fold.cpp @@ -22,7 +22,7 @@ namespace typedef int result_type; template - int operator()(distinct const& d, int state) const + int operator()(int state, distinct const& d) const { return state + n; } diff --git a/test/functional/make_unfused.cpp b/test/functional/make_unfused.cpp index a6462eb1..ff52e54f 100644 --- a/test/functional/make_unfused.cpp +++ b/test/functional/make_unfused.cpp @@ -67,7 +67,7 @@ struct test_func typedef long result_type; template - long operator()(T & elem, long value) const + long operator()(long value, T & elem) const { elem += sizeof(T); return value + elem; diff --git a/test/functional/unfused.cpp b/test/functional/unfused.cpp index 0f69be9c..27a242a6 100644 --- a/test/functional/unfused.cpp +++ b/test/functional/unfused.cpp @@ -57,7 +57,7 @@ struct test_func typedef long result_type; template - long operator()(T & elem, long value) const + long operator()(long value, T & elem) const { elem += sizeof(T); return value + elem; diff --git a/test/functional/unfused_typed.cpp b/test/functional/unfused_typed.cpp index 7c5fa856..2d49f77f 100644 --- a/test/functional/unfused_typed.cpp +++ b/test/functional/unfused_typed.cpp @@ -63,13 +63,13 @@ struct test_func typedef long result_type; template - long operator()(T const & elem, long value) const + long operator()(long value, T const & elem) const { return value + sizeof(T) * elem; } template - long operator()(T & elem, long value) const + long operator()(long value, T & elem) const { elem += sizeof(T); return value; From 9b26b4a0f71fd2d723c900754a6f7c033aab5d36 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Sun, 25 Oct 2009 22:59:54 +0000 Subject: [PATCH 12/36] associative iterators & views [SVN r57156] --- .../algorithm/iteration/detail/fold.hpp | 2 +- .../algorithm/query/detail/assoc_find.hpp | 35 ----- .../fusion/algorithm/query/detail/find_if.hpp | 26 +--- include/boost/fusion/algorithm/query/find.hpp | 33 +++-- .../boost/fusion/algorithm/query/find_if.hpp | 35 ++--- .../algorithm/transformation/erase_key.hpp | 11 +- .../boost/fusion/container/deque/deque.hpp | 1 + .../container/map/detail/at_key_impl.hpp | 49 ------- .../container/map/detail/begin_impl.hpp | 69 ++++----- .../container/map/detail/deref_data_impl.hpp | 48 +++++++ .../container/map/detail/deref_impl.hpp | 45 ++++++ .../fusion/container/map/detail/end_impl.hpp | 66 ++++----- .../container/map/detail/key_of_impl.hpp | 32 +++++ .../container/map/detail/lookup_key.hpp | 99 ------------- .../container/map/detail/map_lookup.hpp | 128 ----------------- .../map/detail/value_at_key_impl.hpp | 33 ----- .../map/detail/value_of_data_impl.hpp | 32 +++++ .../container/map/detail/value_of_impl.hpp | 39 +++++ include/boost/fusion/container/map/map.hpp | 10 +- .../boost/fusion/container/map/map_fwd.hpp | 2 + .../container/set/detail/at_key_impl.hpp | 49 ------- .../container/set/detail/begin_impl.hpp | 69 ++++----- .../container/set/detail/deref_data_impl.hpp | 24 ++++ .../container/set/detail/deref_impl.hpp | 45 ++++++ .../fusion/container/set/detail/end_impl.hpp | 66 ++++----- .../container/set/detail/key_of_impl.hpp | 24 ++++ .../container/set/detail/lookup_key.hpp | 93 ------------ .../container/set/detail/set_lookup.hpp | 128 ----------------- .../set/detail/value_at_key_impl.hpp | 35 ----- .../set/detail/value_of_data_impl.hpp | 24 ++++ .../container/set/detail/value_of_impl.hpp | 34 +++++ include/boost/fusion/container/set/set.hpp | 10 +- .../boost/fusion/container/set/set_fwd.hpp | 2 + .../boost/fusion/iterator/basic_iterator.hpp | 136 ++++++++++++++++++ include/boost/fusion/iterator/deref_data.hpp | 49 +++++++ .../boost/fusion/iterator/iterator_facade.hpp | 3 +- include/boost/fusion/iterator/key_of.hpp | 42 ++++++ .../boost/fusion/iterator/value_of_data.hpp | 42 ++++++ .../fusion/sequence/intrinsic/at_key.hpp | 21 ++- .../fusion/sequence/intrinsic/has_key.hpp | 16 ++- .../sequence/intrinsic/value_at_key.hpp | 10 +- .../view/filter_view/detail/begin_impl.hpp | 5 +- .../filter_view/detail/deref_data_impl.hpp | 37 +++++ .../view/filter_view/detail/end_impl.hpp | 5 +- .../view/filter_view/detail/key_of_impl.hpp | 28 ++++ .../view/filter_view/detail/next_impl.hpp | 21 ++- .../filter_view/detail/value_of_data_impl.hpp | 28 ++++ .../fusion/view/filter_view/filter_view.hpp | 12 +- .../view/filter_view/filter_view_iterator.hpp | 28 +++- .../view/iterator_range/iterator_range.hpp | 1 - .../view/joint_view/detail/begin_impl.hpp | 5 +- .../joint_view/detail/deref_data_impl.hpp | 37 +++++ .../view/joint_view/detail/key_of_impl.hpp | 28 ++++ .../view/joint_view/detail/next_impl.hpp | 5 +- .../joint_view/detail/value_of_data_impl.hpp | 28 ++++ .../fusion/view/joint_view/joint_view.hpp | 14 +- .../view/joint_view/joint_view_iterator.hpp | 9 +- .../reverse_view/detail/deref_data_impl.hpp | 37 +++++ .../view/reverse_view/detail/key_of_impl.hpp | 28 ++++ .../detail/value_of_data_impl.hpp | 28 ++++ .../fusion/view/reverse_view/reverse_view.hpp | 12 +- .../reverse_view/reverse_view_iterator.hpp | 3 + test/algorithm/erase_key.cpp | 4 +- test/sequence/as_set.cpp | 2 +- test/sequence/filter_view.cpp | 39 ++--- test/sequence/iterator_range.cpp | 33 +++++ test/sequence/joint_view.cpp | 45 +++++- test/sequence/map.cpp | 16 +++ test/sequence/set.cpp | 18 ++- 69 files changed, 1331 insertions(+), 942 deletions(-) delete mode 100644 include/boost/fusion/algorithm/query/detail/assoc_find.hpp delete mode 100644 include/boost/fusion/container/map/detail/at_key_impl.hpp create mode 100644 include/boost/fusion/container/map/detail/deref_data_impl.hpp create mode 100644 include/boost/fusion/container/map/detail/deref_impl.hpp create mode 100644 include/boost/fusion/container/map/detail/key_of_impl.hpp delete mode 100644 include/boost/fusion/container/map/detail/lookup_key.hpp delete mode 100644 include/boost/fusion/container/map/detail/map_lookup.hpp delete mode 100644 include/boost/fusion/container/map/detail/value_at_key_impl.hpp create mode 100644 include/boost/fusion/container/map/detail/value_of_data_impl.hpp create mode 100644 include/boost/fusion/container/map/detail/value_of_impl.hpp delete mode 100644 include/boost/fusion/container/set/detail/at_key_impl.hpp create mode 100644 include/boost/fusion/container/set/detail/deref_data_impl.hpp create mode 100644 include/boost/fusion/container/set/detail/deref_impl.hpp create mode 100644 include/boost/fusion/container/set/detail/key_of_impl.hpp delete mode 100644 include/boost/fusion/container/set/detail/lookup_key.hpp delete mode 100644 include/boost/fusion/container/set/detail/set_lookup.hpp delete mode 100644 include/boost/fusion/container/set/detail/value_at_key_impl.hpp create mode 100644 include/boost/fusion/container/set/detail/value_of_data_impl.hpp create mode 100644 include/boost/fusion/container/set/detail/value_of_impl.hpp create mode 100644 include/boost/fusion/iterator/basic_iterator.hpp create mode 100644 include/boost/fusion/iterator/deref_data.hpp create mode 100644 include/boost/fusion/iterator/key_of.hpp create mode 100644 include/boost/fusion/iterator/value_of_data.hpp create mode 100644 include/boost/fusion/view/filter_view/detail/deref_data_impl.hpp create mode 100644 include/boost/fusion/view/filter_view/detail/key_of_impl.hpp create mode 100644 include/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp create mode 100644 include/boost/fusion/view/joint_view/detail/deref_data_impl.hpp create mode 100644 include/boost/fusion/view/joint_view/detail/key_of_impl.hpp create mode 100644 include/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp create mode 100644 include/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp create mode 100644 include/boost/fusion/view/reverse_view/detail/key_of_impl.hpp create mode 100644 include/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp diff --git a/include/boost/fusion/algorithm/iteration/detail/fold.hpp b/include/boost/fusion/algorithm/iteration/detail/fold.hpp index 8d305865..62a677de 100644 --- a/include/boost/fusion/algorithm/iteration/detail/fold.hpp +++ b/include/boost/fusion/algorithm/iteration/detail/fold.hpp @@ -56,7 +56,7 @@ namespace detail { typedef typename static_fold< - typename result_of::next::type + typename result_of::next::type , Last , typename fold_apply::type , F diff --git a/include/boost/fusion/algorithm/query/detail/assoc_find.hpp b/include/boost/fusion/algorithm/query/detail/assoc_find.hpp deleted file mode 100644 index 7591405f..00000000 --- a/include/boost/fusion/algorithm/query/detail/assoc_find.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - - 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) -==============================================================================*/ -#if !defined(FUSION_ASSOC_FIND_09242005_1133) -#define FUSION_ASSOC_FIND_09242005_1133 - -#include -#include -#include - -namespace boost { namespace fusion { namespace detail -{ - template - struct assoc_find - { - typedef typename - mpl::if_< - is_const - , typename Sequence::template meta_find_impl_const::type - , typename Sequence::template meta_find_impl::type - >::type - type; - - static type - call(Sequence& s) - { - return s.find_impl(mpl::identity()); - } - }; -}}} - -#endif diff --git a/include/boost/fusion/algorithm/query/detail/find_if.hpp b/include/boost/fusion/algorithm/query/detail/find_if.hpp index cf0cc6b7..5d2a7419 100644 --- a/include/boost/fusion/algorithm/query/detail/find_if.hpp +++ b/include/boost/fusion/algorithm/query/detail/find_if.hpp @@ -1,6 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2007 Dan Marsden + 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) @@ -13,7 +14,6 @@ #include #include #include -#include #include #include #include @@ -31,7 +31,7 @@ namespace detail struct apply_filter { typedef typename mpl::apply1< - Pred, typename result_of::value_of::type>::type type; + Pred, Iterator>::type type; BOOST_STATIC_CONSTANT(int, value = type::value); }; @@ -85,7 +85,7 @@ namespace detail typedef typename mpl::apply1< Pred - , typename result_of::value_of::type + , Shifted >::type type; BOOST_STATIC_CONSTANT(int, value = type::value); @@ -227,26 +227,6 @@ namespace detail return choose_call(iter, typename traits::category_of::type()); } }; - - template - struct static_seq_find_if : static_find_if - { - typedef typename static_find_if::type type; - - template - static type - call(Sequence const& seq) - { - return static_find_if::call(fusion::begin(seq)); - } - - template - static type - call(Sequence& seq) - { - return static_find_if::call(fusion::begin(seq)); - } - }; }}} #endif diff --git a/include/boost/fusion/algorithm/query/find.hpp b/include/boost/fusion/algorithm/query/find.hpp index ece8cdd6..8816c9a5 100644 --- a/include/boost/fusion/algorithm/query/find.hpp +++ b/include/boost/fusion/algorithm/query/find.hpp @@ -8,10 +8,12 @@ #define FUSION_FIND_05052005_1107 #include -#include #include #include +#include +#include #include +#include #include #include #include @@ -25,29 +27,26 @@ namespace boost { namespace fusion template < typename Sequence , typename T - , bool is_associative_sequence = traits::is_associative::value > - struct find; - - template - struct find + > + struct find { typedef - detail::static_seq_find_if< + detail::static_find_if< typename result_of::begin::type , typename result_of::end::type - , is_same + , is_same< + typename mpl::if_< + traits::is_associative + , key_of + , value_of + >::type + , T + > > filter; typedef typename filter::type type; }; - - template - struct find - { - typedef detail::assoc_find filter; - typedef typename filter::type type; - }; } template @@ -59,7 +58,7 @@ namespace boost { namespace fusion find(Sequence& seq) { typedef typename result_of::find::filter filter; - return filter::call(seq); + return filter::call(fusion::begin(seq)); } template @@ -67,7 +66,7 @@ namespace boost { namespace fusion find(Sequence const& seq) { typedef typename result_of::find::filter filter; - return filter::call(seq); + return filter::call(fusion::begin(seq)); } }} diff --git a/include/boost/fusion/algorithm/query/find_if.hpp b/include/boost/fusion/algorithm/query/find_if.hpp index 4340d688..6b96cc71 100644 --- a/include/boost/fusion/algorithm/query/find_if.hpp +++ b/include/boost/fusion/algorithm/query/find_if.hpp @@ -10,6 +10,10 @@ #include #include #include +#include +#include +#include +#include #include #include @@ -20,13 +24,18 @@ namespace boost { namespace fusion template struct find_if { - typedef typename + typedef detail::static_find_if< typename result_of::begin::type , typename result_of::end::type - , Pred - >::type - type; + , mpl::bind1< + typename mpl::lambda::type + , mpl::bind1,mpl::_1> + > + > + filter; + + typedef typename filter::type type; }; } @@ -38,14 +47,7 @@ namespace boost { namespace fusion >::type find_if(Sequence& seq) { - typedef - detail::static_find_if< - typename result_of::begin::type - , typename result_of::end::type - , Pred - > - filter; - + typedef typename result_of::find_if::filter filter; return filter::call(fusion::begin(seq)); } @@ -53,14 +55,7 @@ namespace boost { namespace fusion inline typename result_of::find_if::type const find_if(Sequence const& seq) { - typedef - detail::static_find_if< - typename result_of::begin::type - , typename result_of::end::type - , Pred - > - filter; - + typedef typename result_of::find_if::filter filter; return filter::call(fusion::begin(seq)); } }} diff --git a/include/boost/fusion/algorithm/transformation/erase_key.hpp b/include/boost/fusion/algorithm/transformation/erase_key.hpp index dcdc6f09..03128695 100644 --- a/include/boost/fusion/algorithm/transformation/erase_key.hpp +++ b/include/boost/fusion/algorithm/transformation/erase_key.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_ERASE_KEY_10022005_1851) #define FUSION_ERASE_KEY_10022005_1851 -#include +#include #include #include #include @@ -18,18 +18,15 @@ namespace boost { namespace fusion { template struct erase_key - { - typedef detail::assoc_find filter; - typedef typename erase::type type; - }; + : erase::type> + {}; } template inline typename result_of::erase_key::type erase_key(Sequence const& seq) { - typedef typename result_of::erase_key::filter filter; - return erase(seq, filter::call(seq)); + return erase(seq, find(seq)); } }} diff --git a/include/boost/fusion/container/deque/deque.hpp b/include/boost/fusion/container/deque/deque.hpp index 27d9ce78..01f017e9 100644 --- a/include/boost/fusion/container/deque/deque.hpp +++ b/include/boost/fusion/container/deque/deque.hpp @@ -45,6 +45,7 @@ namespace boost { namespace fusion { sequence_base > { typedef deque_tag fusion_tag; + typedef bidirectional_traversal_tag category; typedef typename detail::deque_keyed_values::type base; typedef typename detail::deque_initial_size::type size; typedef mpl::int_ next_up; diff --git a/include/boost/fusion/container/map/detail/at_key_impl.hpp b/include/boost/fusion/container/map/detail/at_key_impl.hpp deleted file mode 100644 index 8b0d70aa..00000000 --- a/include/boost/fusion/container/map/detail/at_key_impl.hpp +++ /dev/null @@ -1,49 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - - 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) -==============================================================================*/ -#if !defined(FUSION_AT_KEY_IMPL_05222005_0254) -#define FUSION_AT_KEY_IMPL_05222005_0254 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct at_key_impl; - - template <> - struct at_key_impl - { - template - struct apply - { - typedef typename Sequence::template meta_at_impl element; - - typedef typename - mpl::eval_if< - is_const - , detail::cref_result - , detail::ref_result - >::type - type; - - static type - call(Sequence& m) - { - return m.at_impl(mpl::identity()); - } - }; - }; - } -}} - -#endif diff --git a/include/boost/fusion/container/map/detail/begin_impl.hpp b/include/boost/fusion/container/map/detail/begin_impl.hpp index 5fe25caf..063932a8 100644 --- a/include/boost/fusion/container/map/detail/begin_impl.hpp +++ b/include/boost/fusion/container/map/detail/begin_impl.hpp @@ -1,56 +1,43 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2009 Christopher Schmidt - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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) ==============================================================================*/ -#if !defined(FUSION_BEGIN_IMPL_05222005_1108) -#define FUSION_BEGIN_IMPL_05222005_1108 -#include -#include -#include -#include +#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP +#define BOOST_FUSION_CONTAINER_MAP_DETAIL_BEGIN_IMPL_HPP -namespace boost { namespace fusion +#include + +namespace boost { namespace fusion { namespace extension { - struct map_tag; + template + struct begin_impl; - namespace extension + template <> + struct begin_impl { - template - struct begin_impl; - - template <> - struct begin_impl + template + struct apply { - template - struct apply + typedef + basic_iterator< + map_iterator_tag + , typename Seq::category + , Seq + , 0 + > + type; + + static type + call(Seq& seq) { - typedef typename - result_of::begin::type - iterator_type; - - typedef typename - result_of::begin::type - const_iterator_type; - - typedef typename - mpl::eval_if< - is_const - , mpl::identity - , mpl::identity - >::type - type; - - static type - call(Sequence& m) - { - return fusion::begin(m.get_data()); - } - }; + return type(seq,0); + } }; - } -}} + }; +}}} #endif diff --git a/include/boost/fusion/container/map/detail/deref_data_impl.hpp b/include/boost/fusion/container/map/detail/deref_data_impl.hpp new file mode 100644 index 00000000..9943171a --- /dev/null +++ b/include/boost/fusion/container/map/detail/deref_data_impl.hpp @@ -0,0 +1,48 @@ +/*============================================================================= + 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_CONTAINER_MAP_DETAIL_DEREF_DATA_IMPL_HPP +#define BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_DATA_IMPL_HPP + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_data_impl; + + template <> + struct deref_data_impl + { + template + struct apply + { + typedef typename result_of::value_of::type::second_type data; + + typedef typename + mpl::eval_if< + is_const + , detail::cref_result > + , detail::ref_result > + >::type + type; + + static type + call(It const& it) + { + return deref(it).second; + } + }; + }; +}}} + +#endif diff --git a/include/boost/fusion/container/map/detail/deref_impl.hpp b/include/boost/fusion/container/map/detail/deref_impl.hpp new file mode 100644 index 00000000..359a5dc0 --- /dev/null +++ b/include/boost/fusion/container/map/detail/deref_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + 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_CONTAINER_MAP_DETAIL_DEREF_IMPL_HPP +#define BOOST_FUSION_CONTAINER_MAP_DETAIL_DEREF_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_impl; + + template <> + struct deref_impl + { + template + struct apply + { + typedef typename + result_of::at< + typename mpl::if_< + is_const + , typename It::seq_type::storage_type const + , typename It::seq_type::storage_type + >::type + , typename It::index + >::type + type; + + static type + call(It const& it) + { + return at(it.seq->get_data()); + } + }; + }; +}}} + +#endif diff --git a/include/boost/fusion/container/map/detail/end_impl.hpp b/include/boost/fusion/container/map/detail/end_impl.hpp index 0cafc92c..0e30de8c 100644 --- a/include/boost/fusion/container/map/detail/end_impl.hpp +++ b/include/boost/fusion/container/map/detail/end_impl.hpp @@ -1,53 +1,43 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2009 Christopher Schmidt - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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) ==============================================================================*/ -#if !defined(FUSION_END_IMPL_05222005_1108) -#define FUSION_END_IMPL_05222005_1108 -#include +#ifndef BOOST_FUSION_CONTAINER_MAP_DETAIL_END_IMPL_HPP +#define BOOST_FUSION_CONTAINER_MAP_DETAIL_END_IMPL_HPP -namespace boost { namespace fusion +#include + +namespace boost { namespace fusion { namespace extension { - struct map_tag; + template + struct end_impl; - namespace extension + template <> + struct end_impl { - template - struct end_impl; - - template <> - struct end_impl + template + struct apply { - template - struct apply + typedef + basic_iterator< + map_iterator_tag + , typename Seq::category + , Seq + , Seq::size::value + > + type; + + static type + call(Seq& seq) { - typedef typename - result_of::end::type - iterator_type; - - typedef typename - result_of::end::type - const_iterator_type; - - typedef typename - mpl::eval_if< - is_const - , mpl::identity - , mpl::identity - >::type - type; - - static type - call(Sequence& m) - { - return fusion::end(m.get_data()); - } - }; + return type(seq,0); + } }; - } -}} + }; +}}} #endif diff --git a/include/boost/fusion/container/map/detail/key_of_impl.hpp b/include/boost/fusion/container/map/detail/key_of_impl.hpp new file mode 100644 index 00000000..5a90c037 --- /dev/null +++ b/include/boost/fusion/container/map/detail/key_of_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + 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_CONTAINER_MAP_DETAIL_KEY_OF_IMPL_HPP +#define BOOST_FUSION_CONTAINER_MAP_DETAIL_KEY_OF_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct key_of_impl; + + template <> + struct key_of_impl + { + template + struct apply + { + typedef typename + value_of_impl:: + template apply::type::first_type + type; + }; + }; +}}} + +#endif diff --git a/include/boost/fusion/container/map/detail/lookup_key.hpp b/include/boost/fusion/container/map/detail/lookup_key.hpp deleted file mode 100644 index 17774362..00000000 --- a/include/boost/fusion/container/map/detail/lookup_key.hpp +++ /dev/null @@ -1,99 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - - 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) -==============================================================================*/ -#if !defined(FUSION_LOOKUP_KEY_07222005_1248) -#define FUSION_LOOKUP_KEY_07222005_1248 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct void_; -}} - -namespace boost { namespace fusion { namespace detail -{ - template - struct map_data_type - { - typedef typename - add_reference< - typename T::second_type - >::type - type; - }; - - template <> - struct map_data_type - { - typedef void_& type; - }; - - template - struct map_const_data_type - { - typedef typename - add_reference< - typename add_const< - typename T::second_type - >::type - >::type - type; - }; - - template <> - struct map_const_data_type - { - typedef void_ const& type; - }; - - template - struct map_value_type - { - typedef typename T::second_type type; - }; - - template <> - struct map_value_type - { - typedef void_ type; - }; - - template - struct map_key_type - { - typedef typename T::first_type type; - }; - - template - struct map_key_type - { - typedef unknown_key type; - }; - - template - struct map_lookup_key - { - static RT - call(Vector& vec) - { - return vec.at_impl(mpl::int_()).second; - } - }; - - template - struct map_lookup_key, Vector> - { - static void_& - call(Vector& vec); // intentionally undefined - }; -}}} - -#endif - diff --git a/include/boost/fusion/container/map/detail/map_lookup.hpp b/include/boost/fusion/container/map/detail/map_lookup.hpp deleted file mode 100644 index 2f792cbd..00000000 --- a/include/boost/fusion/container/map/detail/map_lookup.hpp +++ /dev/null @@ -1,128 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - - 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_PP_IS_ITERATING -#if !defined(FUSION_MAP_LOOKUP_07212005_1118) -#define FUSION_MAP_LOOKUP_07212005_1118 - -#include -#include -#include -#include -#include - -#if defined(BOOST_MSVC) && (BOOST_MSVC == 1310) -#pragma warning (push) -#pragma warning(disable: 4348) // redefinition of default parameter -#endif - - template - struct meta_at_impl - { - typedef void_ type; - }; - - template - struct meta_find_impl - { - typedef vector_iterator type; - }; - - template - struct meta_find_impl_const - { - typedef vector_iterator type; - }; - - template - vector_iterator - find_impl(mpl::identity) const - { - return vector_iterator(data); - } - - template - vector_iterator - find_impl(mpl::identity) - { - return vector_iterator(data); - } - -#define BOOST_PP_FILENAME_1 \ - -#define BOOST_PP_ITERATION_LIMITS (0, BOOST_PP_DEC(FUSION_MAX_MAP_SIZE)) -#include BOOST_PP_ITERATE() - -#if defined(BOOST_MSVC) && (BOOST_MSVC == 1310) -#pragma warning (pop) -#endif - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - template - struct meta_at_impl< - typename detail::map_key_type::type, dummy> - { - typedef typename detail::map_value_type::type type; - }; - - typename detail::map_data_type::type - at_impl(mpl::identity::type>) - { - return detail::map_lookup_key< - N - , typename detail::map_data_type::type - , typename detail::map_key_type::type - , storage_type>::call(data); - } - - typename detail::map_const_data_type::type - at_impl(mpl::identity::type>) const - { - return detail::map_lookup_key< - N - , typename detail::map_const_data_type::type - , typename detail::map_key_type::type - , storage_type const>::call(data); - } - - template - struct meta_find_impl< - typename detail::map_key_type::type, dummy> - { - typedef vector_iterator type; - }; - - template - struct meta_find_impl_const< - typename detail::map_key_type::type, dummy> - { - typedef vector_iterator type; - }; - - vector_iterator - find_impl(mpl::identity::type>) - { - return vector_iterator(data); - } - - vector_iterator - find_impl(mpl::identity::type>) const - { - return vector_iterator(data); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/include/boost/fusion/container/map/detail/value_at_key_impl.hpp b/include/boost/fusion/container/map/detail/value_at_key_impl.hpp deleted file mode 100644 index 6c516462..00000000 --- a/include/boost/fusion/container/map/detail/value_at_key_impl.hpp +++ /dev/null @@ -1,33 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - 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) -==============================================================================*/ -#if !defined(FUSION_VALUE_AT_KEY_IMPL_05222005_0325) -#define FUSION_VALUE_AT_KEY_IMPL_05222005_0325 - -namespace boost { namespace fusion -{ - struct map_tag; - - namespace extension - { - template - struct value_at_key_impl; - - template <> - struct value_at_key_impl - { - template - struct apply - { - typedef typename Sequence:: - template meta_at_impl::type type; - }; - }; - } -}} - -#endif diff --git a/include/boost/fusion/container/map/detail/value_of_data_impl.hpp b/include/boost/fusion/container/map/detail/value_of_data_impl.hpp new file mode 100644 index 00000000..28d21678 --- /dev/null +++ b/include/boost/fusion/container/map/detail/value_of_data_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + 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_CONTAINER_MAP_DETAIL_VALUE_OF_DATA_IMPL_HPP +#define BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_DATA_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_data_impl; + + template <> + struct value_of_data_impl + { + template + struct apply + { + typedef typename + value_of_impl:: + template apply::type::second_type + type; + }; + }; +}}} + +#endif diff --git a/include/boost/fusion/container/map/detail/value_of_impl.hpp b/include/boost/fusion/container/map/detail/value_of_impl.hpp new file mode 100644 index 00000000..26b19f20 --- /dev/null +++ b/include/boost/fusion/container/map/detail/value_of_impl.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + 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_CONTAINER_MAP_DETAIL_VALUE_OF_IMPL_HPP +#define BOOST_FUSION_CONTAINER_MAP_DETAIL_VALUE_OF_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_impl; + + template <> + struct value_of_impl + { + template + struct apply + { + typedef typename + result_of::value_at< + typename mpl::if_< + is_const + , typename It::seq_type::storage_type const + , typename It::seq_type::storage_type + >::type + , typename It::index + >::type + type; + }; + }; +}}} + +#endif diff --git a/include/boost/fusion/container/map/map.hpp b/include/boost/fusion/container/map/map.hpp index 5f5fb1cc..1ecd906f 100644 --- a/include/boost/fusion/container/map/map.hpp +++ b/include/boost/fusion/container/map/map.hpp @@ -11,11 +11,13 @@ #include #include #include -#include #include #include -#include -#include +#include +#include +#include +#include +#include #include #include #include @@ -23,7 +25,6 @@ namespace boost { namespace fusion { struct void_; - struct map_tag; struct fusion_sequence_tag; template @@ -49,7 +50,6 @@ namespace boost { namespace fusion : data(rhs) {} #include - #include template map& diff --git a/include/boost/fusion/container/map/map_fwd.hpp b/include/boost/fusion/container/map/map_fwd.hpp index 660466bd..d8a9c1b7 100644 --- a/include/boost/fusion/container/map/map_fwd.hpp +++ b/include/boost/fusion/container/map/map_fwd.hpp @@ -13,6 +13,8 @@ namespace boost { namespace fusion { struct void_; + struct map_tag; + struct map_iterator_tag; template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( diff --git a/include/boost/fusion/container/set/detail/at_key_impl.hpp b/include/boost/fusion/container/set/detail/at_key_impl.hpp deleted file mode 100644 index d0c1de00..00000000 --- a/include/boost/fusion/container/set/detail/at_key_impl.hpp +++ /dev/null @@ -1,49 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - - 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) -==============================================================================*/ -#if !defined(FUSION_AT_KEY_IMPL_09162005_1118) -#define FUSION_AT_KEY_IMPL_09162005_1118 - -#include -#include -#include - -namespace boost { namespace fusion -{ - struct set_tag; - - namespace extension - { - template - struct at_key_impl; - - template <> - struct at_key_impl - { - template - struct apply - { - typedef typename Sequence::template meta_at_impl element; - - typedef typename - mpl::eval_if< - is_const - , detail::cref_result - , detail::ref_result - >::type - type; - - static type - call(Sequence& s) - { - return s.at_impl(mpl::identity()); - } - }; - }; - } -}} - -#endif diff --git a/include/boost/fusion/container/set/detail/begin_impl.hpp b/include/boost/fusion/container/set/detail/begin_impl.hpp index 9b42df72..8047743d 100644 --- a/include/boost/fusion/container/set/detail/begin_impl.hpp +++ b/include/boost/fusion/container/set/detail/begin_impl.hpp @@ -1,56 +1,43 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2009 Christopher Schmidt - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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) ==============================================================================*/ -#if !defined(FUSION_BEGIN_IMPL_09162005_1120) -#define FUSION_BEGIN_IMPL_09162005_1120 -#include -#include -#include -#include +#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_BEGIN_IMPL_HPP +#define BOOST_FUSION_CONTAINER_SET_DETAIL_BEGIN_IMPL_HPP -namespace boost { namespace fusion +#include + +namespace boost { namespace fusion { namespace extension { - struct set_tag; + template + struct begin_impl; - namespace extension + template <> + struct begin_impl { - template - struct begin_impl; - - template <> - struct begin_impl + template + struct apply { - template - struct apply + typedef + basic_iterator< + set_iterator_tag + , typename Seq::category + , Seq + , 0 + > + type; + + static type + call(Seq& seq) { - typedef typename - result_of::begin::type - iterator_type; - - typedef typename - result_of::begin::type - const_iterator_type; - - typedef typename - mpl::eval_if< - is_const - , mpl::identity - , mpl::identity - >::type - type; - - static type - call(Sequence& s) - { - return fusion::begin(s.get_data()); - } - }; + return type(seq,0); + } }; - } -}} + }; +}}} #endif diff --git a/include/boost/fusion/container/set/detail/deref_data_impl.hpp b/include/boost/fusion/container/set/detail/deref_data_impl.hpp new file mode 100644 index 00000000..7238cc6f --- /dev/null +++ b/include/boost/fusion/container/set/detail/deref_data_impl.hpp @@ -0,0 +1,24 @@ +/*============================================================================= + 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_CONTAINER_SET_DETAIL_DEREF_DATA_IMPL_HPP +#define BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_DATA_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_data_impl; + + template <> + struct deref_data_impl + : deref_impl + {}; +}}} + +#endif diff --git a/include/boost/fusion/container/set/detail/deref_impl.hpp b/include/boost/fusion/container/set/detail/deref_impl.hpp new file mode 100644 index 00000000..12824e61 --- /dev/null +++ b/include/boost/fusion/container/set/detail/deref_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + 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_CONTAINER_SET_DETAIL_DEREF_IMPL_HPP +#define BOOST_FUSION_CONTAINER_SET_DETAIL_DEREF_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_impl; + + template <> + struct deref_impl + { + template + struct apply + { + typedef typename + result_of::at< + typename mpl::if_< + is_const + , typename It::seq_type::storage_type const + , typename It::seq_type::storage_type + >::type + , typename It::index + >::type + type; + + static type + call(It const& it) + { + return at(it.seq->get_data()); + } + }; + }; +}}} + +#endif diff --git a/include/boost/fusion/container/set/detail/end_impl.hpp b/include/boost/fusion/container/set/detail/end_impl.hpp index 4df78a3f..a981585b 100644 --- a/include/boost/fusion/container/set/detail/end_impl.hpp +++ b/include/boost/fusion/container/set/detail/end_impl.hpp @@ -1,53 +1,43 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2009 Christopher Schmidt - Distributed under the Boost Software License, Version 1.0. (See accompanying + 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) ==============================================================================*/ -#if !defined(FUSION_END_IMPL_09162005_1121) -#define FUSION_END_IMPL_09162005_1121 -#include +#ifndef BOOST_FUSION_CONTAINER_SET_DETAIL_END_IMPL_HPP +#define BOOST_FUSION_CONTAINER_SET_DETAIL_END_IMPL_HPP -namespace boost { namespace fusion +#include + +namespace boost { namespace fusion { namespace extension { - struct set_tag; + template + struct end_impl; - namespace extension + template <> + struct end_impl { - template - struct end_impl; - - template <> - struct end_impl + template + struct apply { - template - struct apply + typedef + basic_iterator< + set_iterator_tag + , typename Seq::category + , Seq + , Seq::size::value + > + type; + + static type + call(Seq& seq) { - typedef typename - result_of::end::type - iterator_type; - - typedef typename - result_of::end::type - const_iterator_type; - - typedef typename - mpl::eval_if< - is_const - , mpl::identity - , mpl::identity - >::type - type; - - static type - call(Sequence& s) - { - return fusion::end(s.get_data()); - } - }; + return type(seq,0); + } }; - } -}} + }; +}}} #endif diff --git a/include/boost/fusion/container/set/detail/key_of_impl.hpp b/include/boost/fusion/container/set/detail/key_of_impl.hpp new file mode 100644 index 00000000..9c56aaf5 --- /dev/null +++ b/include/boost/fusion/container/set/detail/key_of_impl.hpp @@ -0,0 +1,24 @@ +/*============================================================================= + 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_CONTAINER_SET_DETAIL_KEY_OF_IMPL_HPP +#define BOOST_FUSION_CONTAINER_SET_DETAIL_KEY_OF_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct key_of_impl; + + template <> + struct key_of_impl + : value_of_impl + {}; +}}} + +#endif diff --git a/include/boost/fusion/container/set/detail/lookup_key.hpp b/include/boost/fusion/container/set/detail/lookup_key.hpp deleted file mode 100644 index a1b9e8b9..00000000 --- a/include/boost/fusion/container/set/detail/lookup_key.hpp +++ /dev/null @@ -1,93 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - - 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) -==============================================================================*/ -#if !defined(FUSION_LOOKUP_KEY_09162005_1111) -#define FUSION_LOOKUP_KEY_09162005_1111 - -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct void_; -}} - -namespace boost { namespace fusion { namespace detail -{ - template - struct set_data_type - { - typedef typename add_reference::type type; - }; - - template <> - struct set_data_type - { - typedef void_& type; - }; - - template - struct set_const_data_type - { - typedef typename - add_reference< - typename add_const::type - >::type - type; - }; - - template <> - struct set_const_data_type - { - typedef void_ const& type; - }; - - template - struct set_value_type - { - typedef T type; - }; - - template <> - struct set_value_type - { - typedef void_ type; - }; - - template - struct set_key_type - { - typedef T type; - }; - - template - struct set_key_type - { - typedef unknown_key type; - }; - - template - struct set_lookup_key - { - static RT - call(Vector& vec) - { - return vec.at_impl(mpl::int_()); - } - }; - - template - struct set_lookup_key, Vector> - { - static void_& - call(Vector& vec); // intentionally undefined - }; -}}} - -#endif - diff --git a/include/boost/fusion/container/set/detail/set_lookup.hpp b/include/boost/fusion/container/set/detail/set_lookup.hpp deleted file mode 100644 index 6df4b401..00000000 --- a/include/boost/fusion/container/set/detail/set_lookup.hpp +++ /dev/null @@ -1,128 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - - 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_PP_IS_ITERATING -#if !defined(FUSION_SET_LOOKUP_09162005_1116) -#define FUSION_SET_LOOKUP_09162005_1116 - -#include -#include -#include -#include -#include - -#if defined(BOOST_MSVC) && (BOOST_MSVC == 1310) -#pragma warning (push) -#pragma warning(disable: 4348) // redefinition of default parameter -#endif - - template - struct meta_at_impl - { - typedef void_ type; - }; - - template - struct meta_find_impl - { - typedef vector_iterator type; - }; - - template - struct meta_find_impl_const - { - typedef vector_iterator type; - }; - - template - vector_iterator - find_impl(mpl::identity) const - { - return vector_iterator(data); - } - - template - vector_iterator - find_impl(mpl::identity) - { - return vector_iterator(data); - } - -#define BOOST_PP_FILENAME_1 \ - -#define BOOST_PP_ITERATION_LIMITS (0, BOOST_PP_DEC(FUSION_MAX_SET_SIZE)) -#include BOOST_PP_ITERATE() - -#if defined(BOOST_MSVC) && (BOOST_MSVC == 1310) -#pragma warning (pop) -#endif - -#endif -#else // defined(BOOST_PP_IS_ITERATING) -/////////////////////////////////////////////////////////////////////////////// -// -// Preprocessor vertical repetition code -// -/////////////////////////////////////////////////////////////////////////////// - -#define N BOOST_PP_ITERATION() - - template - struct meta_at_impl< - typename detail::set_key_type::type, dummy> - { - typedef typename detail::set_value_type::type type; - }; - - typename detail::set_data_type::type - at_impl(mpl::identity::type>) - { - return detail::set_lookup_key< - N - , typename detail::set_data_type::type - , typename detail::set_key_type::type - , storage_type>::call(data); - } - - typename detail::set_const_data_type::type - at_impl(mpl::identity::type>) const - { - return detail::set_lookup_key< - N - , typename detail::set_const_data_type::type - , typename detail::set_key_type::type - , storage_type const>::call(data); - } - - template - struct meta_find_impl< - typename detail::set_key_type::type, dummy> - { - typedef vector_iterator type; - }; - - template - struct meta_find_impl_const< - typename detail::set_key_type::type, dummy> - { - typedef vector_iterator type; - }; - - vector_iterator - find_impl(mpl::identity::type>) - { - return vector_iterator(data); - } - - vector_iterator - find_impl(mpl::identity::type>) const - { - return vector_iterator(data); - } - -#undef N -#endif // defined(BOOST_PP_IS_ITERATING) - diff --git a/include/boost/fusion/container/set/detail/value_at_key_impl.hpp b/include/boost/fusion/container/set/detail/value_at_key_impl.hpp deleted file mode 100644 index 40f68ba0..00000000 --- a/include/boost/fusion/container/set/detail/value_at_key_impl.hpp +++ /dev/null @@ -1,35 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - Copyright (c) 2006 Dan Marsden - - 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) -==============================================================================*/ -#if !defined(FUSION_VALUE_AT_KEY_IMPL_09162005_1123) -#define FUSION_VALUE_AT_KEY_IMPL_09162005_1123 - -#include - -namespace boost { namespace fusion -{ - struct set_tag; - - namespace extension - { - template - struct value_at_key_impl; - - template <> - struct value_at_key_impl - { - template - struct apply - { - typedef typename Sequence:: - template meta_at_impl::type type; - }; - }; - } -}} - -#endif diff --git a/include/boost/fusion/container/set/detail/value_of_data_impl.hpp b/include/boost/fusion/container/set/detail/value_of_data_impl.hpp new file mode 100644 index 00000000..c98e5b9f --- /dev/null +++ b/include/boost/fusion/container/set/detail/value_of_data_impl.hpp @@ -0,0 +1,24 @@ +/*============================================================================= + 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_CONTAINER_SET_DETAIL_VALUE_OF_DATA_IMPL_HPP +#define BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_DATA_IMPL_HPP + +#include + +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/include/boost/fusion/container/set/detail/value_of_impl.hpp b/include/boost/fusion/container/set/detail/value_of_impl.hpp new file mode 100644 index 00000000..02218310 --- /dev/null +++ b/include/boost/fusion/container/set/detail/value_of_impl.hpp @@ -0,0 +1,34 @@ +/*============================================================================= + 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_CONTAINER_SET_DETAIL_VALUE_OF_IMPL_HPP +#define BOOST_FUSION_CONTAINER_SET_DETAIL_VALUE_OF_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_impl; + + template <> + struct value_of_impl + { + template + struct apply + { + typedef typename + result_of::value_at< + typename It::seq_type::storage_type + , typename It::index + >::type + type; + }; + }; +}}} + +#endif diff --git a/include/boost/fusion/container/set/set.hpp b/include/boost/fusion/container/set/set.hpp index 07580bb6..52c0b5bd 100644 --- a/include/boost/fusion/container/set/set.hpp +++ b/include/boost/fusion/container/set/set.hpp @@ -11,11 +11,13 @@ #include #include #include -#include #include #include -#include -#include +#include +#include +#include +#include +#include #include #include #include @@ -23,7 +25,6 @@ namespace boost { namespace fusion { struct void_; - struct set_tag; struct fusion_sequence_tag; template @@ -49,7 +50,6 @@ namespace boost { namespace fusion : data(rhs) {} #include - #include template set& diff --git a/include/boost/fusion/container/set/set_fwd.hpp b/include/boost/fusion/container/set/set_fwd.hpp index 7facb513..082422f1 100644 --- a/include/boost/fusion/container/set/set_fwd.hpp +++ b/include/boost/fusion/container/set/set_fwd.hpp @@ -13,6 +13,8 @@ namespace boost { namespace fusion { struct void_; + struct set_tag; + struct set_iterator_tag; template < BOOST_PP_ENUM_PARAMS_WITH_A_DEFAULT( diff --git a/include/boost/fusion/iterator/basic_iterator.hpp b/include/boost/fusion/iterator/basic_iterator.hpp new file mode 100644 index 00000000..80c7f646 --- /dev/null +++ b/include/boost/fusion/iterator/basic_iterator.hpp @@ -0,0 +1,136 @@ +/*============================================================================= + 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_ITERATOR_BASIC_ITERATOR_HPP +#define BOOST_FUSION_ITERATOR_BASIC_ITERATOR_HPP + +#include + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace extension + { + template + struct value_of_impl; + + template + struct deref_impl; + + template + struct value_of_data_impl; + + template + struct key_of_impl; + + template + struct deref_data_impl; + } + + template + struct basic_iterator + : iterator_facade, Category> + { + typedef mpl::int_ index; + typedef Seq seq_type; + + template + struct value_of + : extension::value_of_impl::template apply + {}; + + template + struct deref + : extension::deref_impl::template apply + {}; + + template + struct value_of_data + : extension::value_of_data_impl::template apply + {}; + + template + struct key_of + : extension::key_of_impl::template apply + {}; + + template + struct deref_data + : extension::deref_data_impl::template apply + {}; + + template + struct advance + { + typedef + basic_iterator + type; + + static type + call(It const& it) + { + return type(*it.seq,0); + } + }; + + template + struct next + : advance > + {}; + + template + struct prior + : advance > + {}; + + template + struct distance + : mpl::minus< + typename It2::index + , typename It1::index + > + {}; + + template + struct equal_to + : mpl::and_< + is_same< + typename remove_const::type + , typename remove_const::type + > + , mpl::equal_to + > + {}; + + template + basic_iterator(basic_iterator const& it) + : seq(it.seq) + {} + + basic_iterator(Seq& seq, int) + : seq(&seq) + {} + + template + basic_iterator& + operator=(basic_iterator const& it) + { + seq=it.seq; + return *this; + } + + Seq* seq; + }; +}} + +#endif diff --git a/include/boost/fusion/iterator/deref_data.hpp b/include/boost/fusion/iterator/deref_data.hpp new file mode 100644 index 00000000..09ba4392 --- /dev/null +++ b/include/boost/fusion/iterator/deref_data.hpp @@ -0,0 +1,49 @@ +/*============================================================================= + 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_ITERATOR_DEREF_DATA_HPP +#define BOOST_FUSION_ITERATOR_DEREF_DATA_HPP + +#include + +namespace boost { namespace fusion +{ + struct iterator_facade_tag; + + namespace extension + { + template + struct deref_data_impl; + + template <> + struct deref_data_impl + { + template + struct apply + : It::template deref_data + {}; + }; + } + + namespace result_of + { + template + struct deref_data + : extension::deref_data_impl::type>:: + template apply + {}; + } + + template + typename result_of::deref_data::type + deref_data(It const& it) + { + return result_of::deref_data::call(it); + } +}} + +#endif diff --git a/include/boost/fusion/iterator/iterator_facade.hpp b/include/boost/fusion/iterator/iterator_facade.hpp index 3e0a926f..fa74f8dc 100644 --- a/include/boost/fusion/iterator/iterator_facade.hpp +++ b/include/boost/fusion/iterator/iterator_facade.hpp @@ -50,8 +50,7 @@ namespace boost { namespace fusion template struct distance : distance_detail::linear_distance - { - }; + {}; }; }} diff --git a/include/boost/fusion/iterator/key_of.hpp b/include/boost/fusion/iterator/key_of.hpp new file mode 100644 index 00000000..64c2f86a --- /dev/null +++ b/include/boost/fusion/iterator/key_of.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_ITERATOR_KEY_OF_HPP +#define BOOST_FUSION_ITERATOR_KEY_OF_HPP + +#include + +namespace boost { namespace fusion +{ + struct iterator_facade_tag; + + namespace extension + { + template + struct key_of_impl; + + template <> + struct key_of_impl + { + template + struct apply + : It::template key_of + {}; + }; + } + + namespace result_of + { + template + struct key_of + : extension::key_of_impl::type>:: + template apply + {}; + } +}} + +#endif diff --git a/include/boost/fusion/iterator/value_of_data.hpp b/include/boost/fusion/iterator/value_of_data.hpp new file mode 100644 index 00000000..4a8316de --- /dev/null +++ b/include/boost/fusion/iterator/value_of_data.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_ITERATOR_VALUE_OF_DATA_HPP +#define BOOST_FUSION_ITERATOR_VALUE_OF_DATA_HPP + +#include + +namespace boost { namespace fusion +{ + struct iterator_facade_tag; + + namespace extension + { + template + struct value_of_data_impl; + + template <> + struct value_of_data_impl + { + template + struct apply + : It::template value_of_data + {}; + }; + } + + namespace result_of + { + template + struct value_of_data + : extension::value_of_data_impl::type>:: + template apply + {}; + } +}} + +#endif diff --git a/include/boost/fusion/sequence/intrinsic/at_key.hpp b/include/boost/fusion/sequence/intrinsic/at_key.hpp index 849ff294..4c860bc1 100644 --- a/include/boost/fusion/sequence/intrinsic/at_key.hpp +++ b/include/boost/fusion/sequence/intrinsic/at_key.hpp @@ -9,6 +9,8 @@ #define BOOST_FUSION_AT_KEY_20060304_1755 #include +#include +#include #include #include @@ -25,15 +27,28 @@ namespace boost { namespace fusion template struct at_key_impl { - template - struct apply; + template + struct apply + { + typedef typename + result_of::deref_data< + typename result_of::find::type + >::type + type; + + static type + call(Seq& seq) + { + return fusion::deref_data(fusion::find(seq)); + } + }; }; template <> struct at_key_impl { template - struct apply : Sequence::template at_key {}; + struct apply : Sequence::template at_key_impl {}; }; template <> diff --git a/include/boost/fusion/sequence/intrinsic/has_key.hpp b/include/boost/fusion/sequence/intrinsic/has_key.hpp index 4c6a3e07..68582059 100644 --- a/include/boost/fusion/sequence/intrinsic/has_key.hpp +++ b/include/boost/fusion/sequence/intrinsic/has_key.hpp @@ -7,9 +7,11 @@ #if !defined(FUSION_HAS_KEY_09232005_1454) #define FUSION_HAS_KEY_09232005_1454 -#include #include -#include +#include +#include +#include +#include namespace boost { namespace fusion { @@ -26,10 +28,14 @@ namespace boost { namespace fusion template struct has_key_impl { - template + template struct apply - : mpl::not_::type, void_> > + : mpl::not_< + typename result_of::equal_to< + typename result_of::find::type + , typename result_of::end::type + >::type + >::type {}; }; diff --git a/include/boost/fusion/sequence/intrinsic/value_at_key.hpp b/include/boost/fusion/sequence/intrinsic/value_at_key.hpp index dbef3e89..406d7ae2 100644 --- a/include/boost/fusion/sequence/intrinsic/value_at_key.hpp +++ b/include/boost/fusion/sequence/intrinsic/value_at_key.hpp @@ -9,6 +9,8 @@ #define FUSION_VALUE_AT_KEY_05052005_0229 #include +#include +#include #include namespace boost { namespace fusion @@ -24,8 +26,12 @@ namespace boost { namespace fusion template struct value_at_key_impl { - template - struct apply; + template + struct apply + : result_of::value_of_data< + typename result_of::find::type + > + {}; }; template <> diff --git a/include/boost/fusion/view/filter_view/detail/begin_impl.hpp b/include/boost/fusion/view/filter_view/detail/begin_impl.hpp index 2ffe7bd0..7d94261d 100644 --- a/include/boost/fusion/view/filter_view/detail/begin_impl.hpp +++ b/include/boost/fusion/view/filter_view/detail/begin_impl.hpp @@ -11,7 +11,7 @@ namespace boost { namespace fusion { struct filter_view_tag; - template + template struct filter_iterator; namespace extension @@ -28,7 +28,8 @@ namespace boost { namespace fusion typedef typename Sequence::first_type first_type; typedef typename Sequence::last_type last_type; typedef typename Sequence::pred_type pred_type; - typedef filter_iterator type; + typedef typename Sequence::category category; + typedef filter_iterator type; static type call(Sequence& s) diff --git a/include/boost/fusion/view/filter_view/detail/deref_data_impl.hpp b/include/boost/fusion/view/filter_view/detail/deref_data_impl.hpp new file mode 100644 index 00000000..bf721b5a --- /dev/null +++ b/include/boost/fusion/view/filter_view/detail/deref_data_impl.hpp @@ -0,0 +1,37 @@ +/*============================================================================= + 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_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP +#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_DEREF_DATA_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_data_impl; + + template <> + struct deref_data_impl + { + template + struct apply + { + typedef typename + result_of::deref_data::type + type; + + static type + call(It const& it) + { + return fusion::deref_data(it.first); + } + }; + }; +}}} + +#endif diff --git a/include/boost/fusion/view/filter_view/detail/end_impl.hpp b/include/boost/fusion/view/filter_view/detail/end_impl.hpp index 677004d4..baabbd45 100644 --- a/include/boost/fusion/view/filter_view/detail/end_impl.hpp +++ b/include/boost/fusion/view/filter_view/detail/end_impl.hpp @@ -11,7 +11,7 @@ namespace boost { namespace fusion { struct filter_view_tag; - template + template struct filter_iterator; namespace extension @@ -27,7 +27,8 @@ namespace boost { namespace fusion { typedef typename Sequence::last_type last_type; typedef typename Sequence::pred_type pred_type; - typedef filter_iterator type; + typedef typename Sequence::category category; + typedef filter_iterator type; static type call(Sequence& s) diff --git a/include/boost/fusion/view/filter_view/detail/key_of_impl.hpp b/include/boost/fusion/view/filter_view/detail/key_of_impl.hpp new file mode 100644 index 00000000..09d9112b --- /dev/null +++ b/include/boost/fusion/view/filter_view/detail/key_of_impl.hpp @@ -0,0 +1,28 @@ +/*============================================================================= + 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_VIEW_FILTER_VIEW_DETAIL_KEY_OF_IMPL_HPP +#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_KEY_OF_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct key_of_impl; + + template <> + struct key_of_impl + { + template + struct apply + : result_of::key_of + {}; + }; +}}} + +#endif diff --git a/include/boost/fusion/view/filter_view/detail/next_impl.hpp b/include/boost/fusion/view/filter_view/detail/next_impl.hpp index 8423dfe1..a436bfc2 100644 --- a/include/boost/fusion/view/filter_view/detail/next_impl.hpp +++ b/include/boost/fusion/view/filter_view/detail/next_impl.hpp @@ -8,14 +8,19 @@ #define FUSION_NEXT_IMPL_06052005_0900 #include +#include #include #include +#include +#include +#include +#include namespace boost { namespace fusion { struct filter_view_iterator_tag; - template + template struct filter_iterator; namespace extension @@ -32,6 +37,7 @@ namespace boost { namespace fusion typedef typename Iterator::first_type first_type; typedef typename Iterator::last_type last_type; typedef typename Iterator::pred_type pred_type; + typedef typename Iterator::category category; typedef typename mpl::eval_if< @@ -41,12 +47,19 @@ namespace boost { namespace fusion >::type next_type; - typedef typename detail::static_find_if< - next_type, last_type, pred_type> + typedef typename + detail::static_find_if< + next_type + , last_type + , mpl::bind1< + typename mpl::lambda::type + , mpl::bind1,mpl::_1> + > + > filter; typedef filter_iterator< - typename filter::type, last_type, pred_type> + category, typename filter::type, last_type, pred_type> type; static type diff --git a/include/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp b/include/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp new file mode 100644 index 00000000..38d1bdc0 --- /dev/null +++ b/include/boost/fusion/view/filter_view/detail/value_of_data_impl.hpp @@ -0,0 +1,28 @@ +/*============================================================================= + 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_VIEW_FILTER_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP +#define BOOST_FUSION_VIEW_FILTER_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_data_impl; + + template <> + struct value_of_data_impl + { + template + struct apply + : result_of::value_of_data + {}; + }; +}}} + +#endif diff --git a/include/boost/fusion/view/filter_view/filter_view.hpp b/include/boost/fusion/view/filter_view/filter_view.hpp index a34747e6..d913a8c8 100644 --- a/include/boost/fusion/view/filter_view/filter_view.hpp +++ b/include/boost/fusion/view/filter_view/filter_view.hpp @@ -17,6 +17,10 @@ #include #include #include +#include +#include +#include + namespace boost { namespace fusion { @@ -29,7 +33,13 @@ namespace boost { namespace fusion { typedef filter_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef forward_traversal_tag category; + typedef typename + mpl::eval_if< + traits::is_associative + , mpl::inherit2 + , mpl::identity + >::type + category; typedef mpl::true_ is_view; typedef typename result_of::begin::type first_type; diff --git a/include/boost/fusion/view/filter_view/filter_view_iterator.hpp b/include/boost/fusion/view/filter_view/filter_view_iterator.hpp index be93c657..5d1efc87 100644 --- a/include/boost/fusion/view/filter_view/filter_view_iterator.hpp +++ b/include/boost/fusion/view/filter_view/filter_view_iterator.hpp @@ -9,20 +9,29 @@ #include #include +#include #include +#include +#include +#include +#include +#include + #include #include #include #include -#include +#include +#include +#include namespace boost { namespace fusion { struct filter_view_iterator_tag; struct forward_traversal_tag; - template - struct filter_iterator : iterator_base > + template + struct filter_iterator : iterator_base > { typedef convert_iterator first_converter; typedef typename first_converter::type first_iter; @@ -30,8 +39,17 @@ namespace boost { namespace fusion typedef typename last_converter::type last_iter; typedef filter_view_iterator_tag fusion_tag; - typedef forward_traversal_tag category; - typedef detail::static_find_if filter; + typedef Category category; + typedef + detail::static_find_if< + first_iter + , last_iter + , mpl::bind1< + typename mpl::lambda::type + , mpl::bind1,mpl::_1> + > + > + filter; typedef typename filter::type first_type; typedef last_iter last_type; typedef Pred pred_type; diff --git a/include/boost/fusion/view/iterator_range/iterator_range.hpp b/include/boost/fusion/view/iterator_range/iterator_range.hpp index 0036f0ae..14bb2457 100644 --- a/include/boost/fusion/view/iterator_range/iterator_range.hpp +++ b/include/boost/fusion/view/iterator_range/iterator_range.hpp @@ -17,7 +17,6 @@ #include #include #include -#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/view/joint_view/detail/begin_impl.hpp b/include/boost/fusion/view/joint_view/detail/begin_impl.hpp index e2b0281e..140d3756 100644 --- a/include/boost/fusion/view/joint_view/detail/begin_impl.hpp +++ b/include/boost/fusion/view/joint_view/detail/begin_impl.hpp @@ -14,7 +14,7 @@ namespace boost { namespace fusion { struct joint_view_tag; - template + template struct joint_view_iterator; namespace extension @@ -31,13 +31,14 @@ namespace boost { namespace fusion typedef typename Sequence::first_type first_type; typedef typename Sequence::last_type last_type; typedef typename Sequence::concat_type concat_type; + typedef typename Sequence::category category; typedef result_of::equal_to equal_to; typedef typename mpl::if_< equal_to , concat_type - , joint_view_iterator + , joint_view_iterator >::type type; diff --git a/include/boost/fusion/view/joint_view/detail/deref_data_impl.hpp b/include/boost/fusion/view/joint_view/detail/deref_data_impl.hpp new file mode 100644 index 00000000..a60a125f --- /dev/null +++ b/include/boost/fusion/view/joint_view/detail/deref_data_impl.hpp @@ -0,0 +1,37 @@ +/*============================================================================= + 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_VIEW_JOINT_VIEW_DETAIL_DEREF_DATA_IMPL_HPP +#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_DEREF_DATA_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_data_impl; + + template <> + struct deref_data_impl + { + template + struct apply + { + typedef typename + result_of::deref_data::type + type; + + static type + call(It const& it) + { + return fusion::deref_data(it.first); + } + }; + }; +}}} + +#endif diff --git a/include/boost/fusion/view/joint_view/detail/key_of_impl.hpp b/include/boost/fusion/view/joint_view/detail/key_of_impl.hpp new file mode 100644 index 00000000..e413c3d4 --- /dev/null +++ b/include/boost/fusion/view/joint_view/detail/key_of_impl.hpp @@ -0,0 +1,28 @@ +/*============================================================================= + 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_VIEW_JOINT_VIEW_DETAIL_KEY_OF_IMPL_HPP +#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_KEY_OF_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct key_of_impl; + + template <> + struct key_of_impl + { + template + struct apply + : result_of::key_of + {}; + }; +}}} + +#endif diff --git a/include/boost/fusion/view/joint_view/detail/next_impl.hpp b/include/boost/fusion/view/joint_view/detail/next_impl.hpp index 80d3580d..2313faa0 100644 --- a/include/boost/fusion/view/joint_view/detail/next_impl.hpp +++ b/include/boost/fusion/view/joint_view/detail/next_impl.hpp @@ -15,7 +15,7 @@ namespace boost { namespace fusion { struct joint_view_iterator_tag; - template + template struct joint_view_iterator; namespace extension @@ -32,6 +32,7 @@ namespace boost { namespace fusion typedef typename Iterator::first_type first_type; typedef typename Iterator::last_type last_type; typedef typename Iterator::concat_type concat_type; + typedef typename Iterator::category category; typedef typename result_of::next::type next_type; typedef result_of::equal_to equal_to; @@ -39,7 +40,7 @@ namespace boost { namespace fusion mpl::if_< equal_to , concat_type - , joint_view_iterator + , joint_view_iterator >::type type; diff --git a/include/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp b/include/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp new file mode 100644 index 00000000..cc883d70 --- /dev/null +++ b/include/boost/fusion/view/joint_view/detail/value_of_data_impl.hpp @@ -0,0 +1,28 @@ +/*============================================================================= + 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_VIEW_JOINT_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP +#define BOOST_FUSION_VIEW_JOINT_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_data_impl; + + template <> + struct value_of_data_impl + { + template + struct apply + : result_of::value_of_data + {}; + }; +}}} + +#endif diff --git a/include/boost/fusion/view/joint_view/joint_view.hpp b/include/boost/fusion/view/joint_view/joint_view.hpp index 9cc798d3..94404a98 100644 --- a/include/boost/fusion/view/joint_view/joint_view.hpp +++ b/include/boost/fusion/view/joint_view/joint_view.hpp @@ -19,6 +19,9 @@ #include #include #include +#include +#include +#include namespace boost { namespace fusion { @@ -31,7 +34,16 @@ namespace boost { namespace fusion { typedef joint_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef forward_traversal_tag category; + typedef typename + mpl::eval_if< + mpl::and_< + traits::is_associative + , traits::is_associative + > + , mpl::inherit2 + , mpl::identity + >::type + category; typedef mpl::true_ is_view; typedef typename result_of::begin::type first_type; diff --git a/include/boost/fusion/view/joint_view/joint_view_iterator.hpp b/include/boost/fusion/view/joint_view/joint_view_iterator.hpp index 18696d7e..0fd4c636 100644 --- a/include/boost/fusion/view/joint_view/joint_view_iterator.hpp +++ b/include/boost/fusion/view/joint_view/joint_view_iterator.hpp @@ -14,6 +14,9 @@ #include #include #include +#include +#include +#include #include namespace boost { namespace fusion @@ -21,9 +24,9 @@ namespace boost { namespace fusion struct joint_view_iterator_tag; struct forward_traversal_tag; - template + template struct joint_view_iterator - : iterator_base > + : iterator_base > { typedef convert_iterator first_converter; typedef convert_iterator last_converter; @@ -34,7 +37,7 @@ namespace boost { namespace fusion typedef typename concat_converter::type concat_type; typedef joint_view_iterator_tag fusion_tag; - typedef forward_traversal_tag category; + typedef Category category; BOOST_STATIC_ASSERT((!result_of::equal_to::value)); joint_view_iterator(First const& first, Concat const& concat) diff --git a/include/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp b/include/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp new file mode 100644 index 00000000..2f52bdd8 --- /dev/null +++ b/include/boost/fusion/view/reverse_view/detail/deref_data_impl.hpp @@ -0,0 +1,37 @@ +/*============================================================================= + 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_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP +#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_DEREF_DATA_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_data_impl; + + template <> + struct deref_data_impl + { + template + struct apply + { + typedef typename + result_of::deref_data::type + type; + + static type + call(It const& it) + { + return fusion::deref_data(it.first); + } + }; + }; +}}} + +#endif diff --git a/include/boost/fusion/view/reverse_view/detail/key_of_impl.hpp b/include/boost/fusion/view/reverse_view/detail/key_of_impl.hpp new file mode 100644 index 00000000..3d760fd2 --- /dev/null +++ b/include/boost/fusion/view/reverse_view/detail/key_of_impl.hpp @@ -0,0 +1,28 @@ +/*============================================================================= + 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_VIEW_REVERSE_VIEW_DETAIL_KEY_OF_IMPL_HPP +#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_KEY_OF_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct key_of_impl; + + template <> + struct key_of_impl + { + template + struct apply + : result_of::key_of + {}; + }; +}}} + +#endif diff --git a/include/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp b/include/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp new file mode 100644 index 00000000..69d310ff --- /dev/null +++ b/include/boost/fusion/view/reverse_view/detail/value_of_data_impl.hpp @@ -0,0 +1,28 @@ +/*============================================================================= + 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_VIEW_REVERSE_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP +#define BOOST_FUSION_VIEW_REVERSE_VIEW_DETAIL_VALUE_OF_DATA_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_data_impl; + + template <> + struct value_of_data_impl + { + template + struct apply + : result_of::value_of_data + {}; + }; +}}} + +#endif diff --git a/include/boost/fusion/view/reverse_view/reverse_view.hpp b/include/boost/fusion/view/reverse_view/reverse_view.hpp index c939f7ce..08735d45 100644 --- a/include/boost/fusion/view/reverse_view/reverse_view.hpp +++ b/include/boost/fusion/view/reverse_view/reverse_view.hpp @@ -20,6 +20,9 @@ #include #include #include +#include +#include +#include namespace boost { namespace fusion { @@ -32,8 +35,15 @@ namespace boost { namespace fusion typedef reverse_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::true_ is_view; + typedef typename traits::category_of::type seq_category; - typedef typename traits::category_of::type category; + typedef typename + mpl::eval_if< + traits::is_associative + , mpl::inherit2 + , mpl::identity + >::type + category; typedef typename result_of::begin::type first_type; typedef typename result_of::end::type last_type; typedef typename result_of::size::type size; diff --git a/include/boost/fusion/view/reverse_view/reverse_view_iterator.hpp b/include/boost/fusion/view/reverse_view/reverse_view_iterator.hpp index 0a890437..af2267e3 100644 --- a/include/boost/fusion/view/reverse_view/reverse_view_iterator.hpp +++ b/include/boost/fusion/view/reverse_view/reverse_view_iterator.hpp @@ -17,6 +17,9 @@ #include #include #include +#include +#include +#include #include #include diff --git a/test/algorithm/erase_key.cpp b/test/algorithm/erase_key.cpp index 56c64780..418b5d77 100644 --- a/test/algorithm/erase_key.cpp +++ b/test/algorithm/erase_key.cpp @@ -66,8 +66,8 @@ main() std::cout << tuple_close(']'); std::cout << tuple_delimiter(", "); - test_set(as_set(erase_key(make_set(1, 'x', 1.5, std::string("hello"))))); - test_map(as_map(erase_key<_2>(make_map<_1, _2, _3, _4>(1, 'x', 1.5, "hello")))); + test_set(erase_key(make_set(1, 'x', 1.5, std::string("hello")))); + test_map(erase_key<_2>(make_map<_1, _2, _3, _4>(1, 'x', 1.5, "hello"))); return boost::report_errors(); } diff --git a/test/sequence/as_set.cpp b/test/sequence/as_set.cpp index d13d0959..935da42d 100644 --- a/test/sequence/as_set.cpp +++ b/test/sequence/as_set.cpp @@ -33,7 +33,7 @@ main() std::cout << as_set(make_list(1, 1.23, "harru")) << std::endl; std::cout << as_set(push_back(empty, 999)) << std::endl; - BOOST_TEST(as_list(as_set(make_list(1, 1.23, "harru"))) + BOOST_TEST(as_list(as_set(make_list(1, 1.23, "harru"))) == make_list(1, 1.23, std::string("harru"))); BOOST_TEST(as_list(as_set(push_back(empty, 999))) == push_back(empty, 999)); diff --git a/test/sequence/filter_view.cpp b/test/sequence/filter_view.cpp index a89abec2..5c4c1a0c 100644 --- a/test/sequence/filter_view.cpp +++ b/test/sequence/filter_view.cpp @@ -13,6 +13,12 @@ #include #include #include +#include +#include +#include +#include +#include +#include #include #include #include @@ -62,22 +68,6 @@ main() std::cout << tuple_close(']'); std::cout << tuple_delimiter(", "); - { // Testing the static find_if (internal function) - - typedef vector vector_type; - - vector_type v(1, 'x', 987654, X()); - typedef vector_iterator begin; - typedef vector_iterator end; - typedef detail::static_find_if > filter; - typedef filter::type type; - - BOOST_TEST(*type(v) == 987654); - std::cout << *type(v) << std::endl; - std::cout << *filter::call(begin(v)) << std::endl; - BOOST_TEST(*type(v) == *filter::call(begin(v))); - } - { typedef vector vector_type; @@ -115,6 +105,23 @@ main() BOOST_MPL_ASSERT((result_of::equal_to::type, result_of::end::type>)); } + { + typedef map, pair > map_type; + map_type m(make_pair(0), make_pair("Bond")); + + typedef filter_view > > filter_view_type; + filter_view_type f(m); + + BOOST_MPL_ASSERT((result_of::has_key::type)); + BOOST_MPL_ASSERT_NOT((result_of::has_key::type)); + + BOOST_MPL_ASSERT((is_same::type>::type, double>)); + BOOST_MPL_ASSERT((is_same::type>::type, std::string>)); + + std::cout << deref_data(begin(f)) << std::endl; + BOOST_TEST((deref_data(begin(f)) == "Bond")); + } + return boost::report_errors(); } diff --git a/test/sequence/iterator_range.cpp b/test/sequence/iterator_range.cpp index af42cadd..d4062840 100644 --- a/test/sequence/iterator_range.cpp +++ b/test/sequence/iterator_range.cpp @@ -5,15 +5,23 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include +#include #include #include #include #include #include #include +#include +#include +#include +#include +#include +#include #include #include #include +#include #include int @@ -76,6 +84,31 @@ main() BOOST_STATIC_ASSERT(result_of::size::value == 2); } + { + typedef map, pair,pair > map_type; + map_type m(make_pair("foo"), make_pair('x'), make_pair(2)); + + typedef iterator_range< + result_of::begin::type + , result_of::advance_c::type,2>::type + > range_type; + range_type r(begin(m), advance_c<2>(begin(m))); + + BOOST_MPL_ASSERT((result_of::has_key::type)); + BOOST_MPL_ASSERT((result_of::has_key::type)); + + BOOST_MPL_ASSERT((boost::is_same::type>::type, void>)); + BOOST_MPL_ASSERT((boost::is_same::type>::type>::type, double>)); + + BOOST_MPL_ASSERT((boost::is_same::type>::type, std::string>)); + BOOST_MPL_ASSERT((boost::is_same::type>::type>::type, char>)); + + std::cout << deref_data(begin(r)) << std::endl; + std::cout << deref_data(next(begin(r))) << std::endl; + BOOST_TEST((deref_data(begin(r)) == "foo")); + BOOST_TEST((deref_data(next(begin(r))) == 'x')); + } + return boost::report_errors(); } diff --git a/test/sequence/joint_view.cpp b/test/sequence/joint_view.cpp index 8dc4eb3c..e53d333c 100644 --- a/test/sequence/joint_view.cpp +++ b/test/sequence/joint_view.cpp @@ -5,13 +5,22 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include +#include +#include #include #include #include #include #include #include -#include +#include +#include +#include +#include +#include +#include +#include +#include struct X { @@ -139,6 +148,40 @@ main() } } + { + typedef map > map_type; + map_type m(make_pair(0)); + + typedef set set_type; + set_type s("foo", 1.3f); + + typedef joint_view joint_view_type; + joint_view_type j(m,s); + + BOOST_MPL_ASSERT((result_of::has_key::type)); + BOOST_MPL_ASSERT((result_of::has_key::type)); + BOOST_MPL_ASSERT((result_of::has_key::type)); + + BOOST_MPL_ASSERT((boost::is_same::type>::type, void>)); + BOOST_MPL_ASSERT((boost::is_same::type>::type>::type, std::string>)); + BOOST_MPL_ASSERT((boost::is_same< + result_of::key_of::type>::type>::type>::type + , float>)); + + BOOST_MPL_ASSERT((boost::is_same::type>::type, int>)); + BOOST_MPL_ASSERT((boost::is_same::type>::type>::type, std::string>)); + BOOST_MPL_ASSERT((boost::is_same< + result_of::value_of_data::type>::type>::type>::type + , float>)); + + std::cout << deref_data(begin(j)) << std::endl; + std::cout << deref_data(boost::fusion::next(begin(j))) << std::endl; + std::cout << deref_data(next(boost::fusion::next(begin(j)))) << std::endl; + BOOST_TEST((deref_data(begin(j)) == 0)); + BOOST_TEST((deref_data(boost::fusion::next(begin(j))) == "foo")); + BOOST_TEST((deref_data(next(boost::fusion::next(begin(j)))) == 1.3f)); + } + return boost::report_errors(); } diff --git a/test/sequence/map.cpp b/test/sequence/map.cpp index 5f58b9dc..d4e1cfa3 100644 --- a/test/sequence/map.cpp +++ b/test/sequence/map.cpp @@ -10,7 +10,12 @@ #include #include #include +#include #include +#include +#include +#include +#include #include #include #include @@ -59,6 +64,17 @@ main() BOOST_STATIC_ASSERT((result_of::has_key::value)); BOOST_STATIC_ASSERT((result_of::has_key::value)); BOOST_STATIC_ASSERT((!result_of::has_key::value)); + + std::cout << deref_data(begin(m)) << std::endl; + std::cout << deref_data(next(begin(m))) << std::endl; + + BOOST_TEST(deref_data(begin(m)) == 'X'); + BOOST_TEST(deref_data(next(begin(m))) == "Men"); + + BOOST_STATIC_ASSERT((is_same::type>::type, int>::value)); + BOOST_STATIC_ASSERT((is_same::type>::type>::type, double>::value)); + BOOST_STATIC_ASSERT((is_same::type>::type, char>::value)); + BOOST_STATIC_ASSERT((is_same::type>::type>::type, std::string>::value)); } { diff --git a/test/sequence/set.cpp b/test/sequence/set.cpp index 95c5b40d..7be0b078 100644 --- a/test/sequence/set.cpp +++ b/test/sequence/set.cpp @@ -10,7 +10,12 @@ #include #include #include +#include #include +#include +#include +#include +#include #include #include #include @@ -48,12 +53,23 @@ main() boost::is_same::type, int>::value)); BOOST_STATIC_ASSERT(( boost::is_same::type, std::string>::value)); - + std::cout << m << std::endl; BOOST_STATIC_ASSERT((result_of::has_key::value)); BOOST_STATIC_ASSERT((result_of::has_key::value)); BOOST_STATIC_ASSERT((!result_of::has_key::value)); + + std::cout << deref_data(begin(m)) << std::endl; + std::cout << deref_data(next(begin(m))) << std::endl; + + BOOST_TEST(deref_data(begin(m)) == 123); + BOOST_TEST(deref_data(next(begin(m))) == "Hola"); + + BOOST_STATIC_ASSERT((is_same::type>::type, int>::value)); + BOOST_STATIC_ASSERT((is_same::type>::type>::type, std::string>::value)); + BOOST_STATIC_ASSERT((is_same::type>::type, int>::value)); + BOOST_STATIC_ASSERT((is_same::type>::type>::type, std::string>::value)); } { From dab67207cfccfb138fb8e3b8813d1a82d5f4a1f0 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Fri, 30 Oct 2009 00:19:19 +0000 Subject: [PATCH 13/36] associative iterators & views (Fixes #3473) [SVN r57242] --- changelist.txt | 2 + doc/algorithm.qbk | 185 ++++++++++---- doc/fusion.qbk | 6 +- doc/html/fusion/adapted.html | 2 +- doc/html/fusion/adapted/adapt_assoc.html | 10 +- doc/html/fusion/adapted/adapt_struct.html | 10 +- doc/html/fusion/adapted/boost__array.html | 8 +- doc/html/fusion/adapted/boost__tuple.html | 8 +- doc/html/fusion/adapted/mpl_sequence.html | 8 +- doc/html/fusion/adapted/std__pair.html | 8 +- doc/html/fusion/algorithm.html | 6 +- doc/html/fusion/algorithm/iteration.html | 2 +- .../iteration/functions/accumulate.html | 14 +- .../algorithm/iteration/functions/fold.html | 14 +- .../iteration/functions/for_each.html | 14 +- .../iteration/metafunctions/accumulate.html | 12 +- .../iteration/metafunctions/fold.html | 12 +- .../iteration/metafunctions/for_each.html | 12 +- doc/html/fusion/algorithm/query.html | 2 +- .../fusion/algorithm/query/functions/all.html | 14 +- .../fusion/algorithm/query/functions/any.html | 14 +- .../algorithm/query/functions/count.html | 14 +- .../algorithm/query/functions/count_if.html | 14 +- .../algorithm/query/functions/find.html | 14 +- .../algorithm/query/functions/find_if.html | 23 +- .../algorithm/query/functions/none.html | 14 +- .../algorithm/query/metafunctions/all.html | 12 +- .../algorithm/query/metafunctions/any.html | 12 +- .../algorithm/query/metafunctions/count.html | 12 +- .../query/metafunctions/count_if.html | 12 +- .../algorithm/query/metafunctions/find.html | 16 +- .../query/metafunctions/find_if.html | 16 +- .../algorithm/query/metafunctions/none.html | 12 +- doc/html/fusion/algorithm/transformation.html | 2 +- .../transformation/functions/clear.html | 14 +- .../transformation/functions/erase.html | 44 +++- .../transformation/functions/erase_key.html | 31 +-- .../transformation/functions/filter.html | 29 ++- .../transformation/functions/filter_if.html | 29 ++- .../transformation/functions/insert.html | 32 ++- .../functions/insert_range.html | 29 ++- .../transformation/functions/join.html | 32 ++- .../transformation/functions/pop_back.html | 29 ++- .../transformation/functions/pop_front.html | 29 ++- .../transformation/functions/push_back.html | 29 ++- .../transformation/functions/push_front.html | 29 ++- .../transformation/functions/remove.html | 29 ++- .../transformation/functions/remove_if.html | 29 ++- .../transformation/functions/replace.html | 14 +- .../transformation/functions/replace_if.html | 14 +- .../transformation/functions/reverse.html | 29 ++- .../transformation/functions/transform.html | 18 +- .../transformation/functions/zip.html | 14 +- .../transformation/metafunctions/clear.html | 12 +- .../transformation/metafunctions/erase.html | 27 ++- .../metafunctions/erase_key.html | 18 +- .../transformation/metafunctions/filter.html | 27 ++- .../metafunctions/filter_if.html | 27 ++- .../transformation/metafunctions/insert.html | 27 ++- .../metafunctions/insert_range.html | 27 ++- .../transformation/metafunctions/join.html | 26 +- .../metafunctions/pop_back.html | 29 ++- .../metafunctions/pop_front.html | 35 ++- .../metafunctions/push_back.html | 35 ++- .../metafunctions/push_front.html | 35 ++- .../transformation/metafunctions/remove.html | 27 ++- .../metafunctions/remove_if.html | 27 ++- .../transformation/metafunctions/replace.html | 12 +- .../metafunctions/replace_if.html | 12 +- .../transformation/metafunctions/reverse.html | 27 ++- .../metafunctions/transform.html | 33 ++- .../transformation/metafunctions/zip.html | 10 +- doc/html/fusion/container.html | 2 +- doc/html/fusion/container/cons.html | 14 +- doc/html/fusion/container/conversion.html | 2 +- .../conversion/functions/as_list.html | 12 +- .../conversion/functions/as_map.html | 12 +- .../conversion/functions/as_set.html | 12 +- .../conversion/functions/as_vector.html | 12 +- .../conversion/metafunctions/as_list.html | 12 +- .../conversion/metafunctions/as_map.html | 12 +- .../conversion/metafunctions/as_set.html | 12 +- .../conversion/metafunctions/as_vector.html | 12 +- doc/html/fusion/container/generation.html | 2 +- .../generation/functions/list_tie.html | 12 +- .../generation/functions/make_cons.html | 14 +- .../generation/functions/make_list.html | 14 +- .../generation/functions/make_map.html | 14 +- .../generation/functions/make_set.html | 14 +- .../generation/functions/make_vector.html | 14 +- .../generation/functions/map_tie.html | 12 +- .../container/generation/functions/tiers.html | 6 +- .../generation/functions/vector_tie.html | 12 +- .../generation/metafunctions/list_tie.html | 12 +- .../generation/metafunctions/make_cons.html | 12 +- .../generation/metafunctions/make_list.html | 12 +- .../generation/metafunctions/make_map.html | 14 +- .../generation/metafunctions/make_set.html | 12 +- .../generation/metafunctions/make_vector.html | 12 +- .../generation/metafunctions/map_tie.html | 12 +- .../generation/metafunctions/vector_tie.html | 12 +- doc/html/fusion/container/list.html | 14 +- doc/html/fusion/container/map.html | 14 +- doc/html/fusion/container/set.html | 14 +- doc/html/fusion/container/vector.html | 14 +- doc/html/fusion/extension/ext_full.html | 46 ++-- .../fusion/extension/iterator_facade.html | 14 +- .../fusion/extension/sequence_facade.html | 14 +- doc/html/fusion/functional.html | 8 +- .../fusion/functional/adapters/fused.html | 16 +- .../adapters/fused_function_object.html | 16 +- .../functional/adapters/fused_procedure.html | 16 +- .../fusion/functional/adapters/limits.html | 4 +- .../fusion/functional/adapters/unfused.html | 16 +- .../functional/adapters/unfused_typed.html | 16 +- .../fusion/functional/concepts/callable.html | 6 +- .../functional/concepts/def_callable.html | 10 +- doc/html/fusion/functional/concepts/poly.html | 10 +- .../functional/concepts/reg_callable.html | 10 +- .../generation/functions/mk_fused.html | 14 +- .../generation/functions/mk_fused_fobj.html | 14 +- .../generation/functions/mk_fused_proc.html | 14 +- .../generation/functions/mk_unfused.html | 14 +- .../generation/metafunctions/mk_fused.html | 8 +- .../metafunctions/mk_fused_fobj.html | 8 +- .../metafunctions/mk_fused_proc.html | 8 +- .../generation/metafunctions/mk_unfused.html | 8 +- .../invocation/functions/invoke.html | 14 +- .../invocation/functions/invoke_fobj.html | 14 +- .../invocation/functions/invoke_proc.html | 14 +- .../fusion/functional/invocation/limits.html | 4 +- .../invocation/metafunctions/invoke.html | 6 +- .../invocation/metafunctions/invoke_fobj.html | 6 +- .../invocation/metafunctions/invoke_proc.html | 6 +- doc/html/fusion/introduction.html | 4 +- doc/html/fusion/iterator.html | 8 +- doc/html/fusion/iterator/concepts.html | 8 +- .../concepts/associative_iterator.html | 228 ++++++++++++++++++ .../concepts/bidirectional_iterator.html | 14 +- .../iterator/concepts/forward_iterator.html | 12 +- .../concepts/random_access_iterator.html | 16 +- doc/html/fusion/iterator/functions.html | 7 +- .../fusion/iterator/functions/advance.html | 12 +- .../fusion/iterator/functions/advance_c.html | 18 +- doc/html/fusion/iterator/functions/deref.html | 12 +- .../fusion/iterator/functions/deref_data.html | 138 +++++++++++ .../fusion/iterator/functions/distance.html | 12 +- doc/html/fusion/iterator/functions/next.html | 12 +- doc/html/fusion/iterator/functions/prior.html | 12 +- doc/html/fusion/iterator/metafunctions.html | 3 + .../iterator/metafunctions/advance.html | 12 +- .../iterator/metafunctions/advance_c.html | 18 +- .../fusion/iterator/metafunctions/deref.html | 12 +- .../iterator/metafunctions/deref_data.html | 139 +++++++++++ .../iterator/metafunctions/distance.html | 12 +- .../iterator/metafunctions/equal_to.html | 12 +- .../fusion/iterator/metafunctions/key_of.html | 139 +++++++++++ .../fusion/iterator/metafunctions/next.html | 12 +- .../fusion/iterator/metafunctions/prior.html | 12 +- .../iterator/metafunctions/value_of.html | 12 +- .../iterator/metafunctions/value_of_data.html | 140 +++++++++++ doc/html/fusion/iterator/operator.html | 6 +- .../iterator/operator/operator_equality.html | 10 +- .../operator/operator_inequality.html | 10 +- .../operator/operator_unary_star.html | 12 +- doc/html/fusion/notes.html | 16 +- doc/html/fusion/organization.html | 10 +- doc/html/fusion/preface.html | 10 +- doc/html/fusion/quick_start.html | 16 +- doc/html/fusion/sequence.html | 8 +- doc/html/fusion/sequence/concepts.html | 4 +- .../concepts/associative_sequence.html | 17 +- .../concepts/bidirectional_sequence.html | 12 +- .../sequence/concepts/forward_sequence.html | 12 +- .../concepts/random_access_sequence.html | 12 +- doc/html/fusion/sequence/intrinsic.html | 6 +- .../sequence/intrinsic/functions/at.html | 12 +- .../sequence/intrinsic/functions/at_c.html | 12 +- .../sequence/intrinsic/functions/at_key.html | 12 +- .../sequence/intrinsic/functions/back.html | 12 +- .../sequence/intrinsic/functions/begin.html | 43 ++-- .../sequence/intrinsic/functions/empty.html | 12 +- .../sequence/intrinsic/functions/end.html | 43 ++-- .../sequence/intrinsic/functions/front.html | 12 +- .../sequence/intrinsic/functions/has_key.html | 12 +- .../sequence/intrinsic/functions/size.html | 12 +- .../sequence/intrinsic/functions/swap.html | 10 +- .../sequence/intrinsic/metafunctions/at.html | 24 +- .../intrinsic/metafunctions/at_c.html | 24 +- .../intrinsic/metafunctions/at_key.html | 24 +- .../intrinsic/metafunctions/back.html | 20 +- .../intrinsic/metafunctions/begin.html | 43 +++- .../intrinsic/metafunctions/empty.html | 20 +- .../sequence/intrinsic/metafunctions/end.html | 43 +++- .../intrinsic/metafunctions/front.html | 20 +- .../intrinsic/metafunctions/has_key.html | 20 +- .../intrinsic/metafunctions/size.html | 20 +- .../intrinsic/metafunctions/swap.html | 18 +- .../intrinsic/metafunctions/value_at.html | 20 +- .../intrinsic/metafunctions/value_at_c.html | 20 +- .../intrinsic/metafunctions/value_at_key.html | 20 +- .../fusion/sequence/operator/comparison.html | 2 +- .../sequence/operator/comparison/equal.html | 12 +- .../operator/comparison/greater_than.html | 10 +- .../comparison/greater_than_equal.html | 10 +- .../operator/comparison/less_than.html | 10 +- .../operator/comparison/less_than_equal.html | 10 +- .../operator/comparison/not_equal.html | 10 +- doc/html/fusion/sequence/operator/i_o.html | 2 +- doc/html/fusion/sequence/operator/i_o/in.html | 12 +- .../fusion/sequence/operator/i_o/out.html | 12 +- doc/html/fusion/support/category_of.html | 34 +-- doc/html/fusion/support/deduce.html | 10 +- doc/html/fusion/support/deduce_sequence.html | 10 +- doc/html/fusion/support/is_sequence.html | 12 +- doc/html/fusion/support/is_view.html | 12 +- doc/html/fusion/support/pair.html | 15 +- doc/html/fusion/support/tag_of.html | 12 +- .../fusion/tuple/class_template_tuple.html | 2 +- .../class_template_tuple/construction.html | 4 +- .../class_template_tuple/element_access.html | 4 +- .../relational_operators.html | 4 +- .../tuple_creation_functions.html | 4 +- .../tuple_helper_classes.html | 4 +- doc/html/fusion/tuple/pairs.html | 4 +- doc/html/fusion/view.html | 2 +- doc/html/fusion/view/filter_view.html | 27 ++- doc/html/fusion/view/iterator_range.html | 30 ++- doc/html/fusion/view/joint_view.html | 28 ++- doc/html/fusion/view/nview.html | 14 +- doc/html/fusion/view/reverse_view.html | 20 +- doc/html/fusion/view/single_view.html | 12 +- doc/html/fusion/view/transform_view.html | 12 +- doc/html/fusion/view/zip_view.html | 14 +- doc/html/index.html | 10 +- doc/iterator.qbk | 198 ++++++++++++++- doc/sequence.qbk | 102 ++++++-- doc/support.qbk | 23 +- doc/view.qbk | 13 +- include/boost/fusion/include/deref_data.hpp | 13 + include/boost/fusion/include/key_of.hpp | 13 + .../boost/fusion/include/value_of_data.hpp | 13 + 242 files changed, 3182 insertions(+), 1556 deletions(-) create mode 100644 doc/html/fusion/iterator/concepts/associative_iterator.html create mode 100644 doc/html/fusion/iterator/functions/deref_data.html create mode 100644 doc/html/fusion/iterator/metafunctions/deref_data.html create mode 100644 doc/html/fusion/iterator/metafunctions/key_of.html create mode 100644 doc/html/fusion/iterator/metafunctions/value_of_data.html create mode 100644 include/boost/fusion/include/deref_data.hpp create mode 100644 include/boost/fusion/include/key_of.hpp create mode 100644 include/boost/fusion/include/value_of_data.hpp diff --git a/changelist.txt b/changelist.txt index fb2cb9d0..0ec99b22 100644 --- a/changelist.txt +++ b/changelist.txt @@ -5,3 +5,5 @@ Interface Changes - September 24, 2009: added nview and friends - October 12, 2009: the accumulator is the first argument to the functor of fold and accumulate. Fixes Boost Trac Ticket #2355. +- October 30, 2009: Added support for associative iterators & views. Fixes + Boost Trac Ticket #3473. diff --git a/doc/algorithm.qbk b/doc/algorithm.qbk index 8b68343b..d0ab62ca 100644 --- a/doc/algorithm.qbk +++ b/doc/algorithm.qbk @@ -583,8 +583,8 @@ or `__end__(seq)` if there is no such element. [heading Complexity] Linear. At most `__result_of_size__::value` comparisons. - -/algorithm/query/find_if.hpp> +#include +#include [heading Example] const __vector__ vec(1.0,2); @@ -795,7 +795,7 @@ Constant. [section find] [heading Description] -Returns the result type of `find`, given the sequence and search types. +Returns the result type of __find__, given the sequence and search types. [heading Synopsis] template< @@ -833,7 +833,7 @@ Linear, at most `__result_of_size__::value` comparisons. [section find_if] [heading Description] -Returns the result type of `find_if` given the sequence and predicate types. +Returns the result type of __find_if__ given the sequence and predicate types. [heading Synopsis] template< @@ -983,7 +983,10 @@ For a given sequence, filter returns a new sequences containing only the element [heading Expression Semantics] __filter__(seq); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence containing all the elements of `seq` of type `T`. Equivalent to `__filter_if__ >(seq)`. @@ -1024,7 +1027,10 @@ only the elements with types for which a given __mpl_lambda_expression__ evaluat [heading Expression Semantics] __filter_if__(seq); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence containing all the elements of `seq` with types for which `Pred` evaluates to `boost::mpl::true_`. The order of the retained elements is the same as in the original sequence. @@ -1225,7 +1231,10 @@ Returns a new sequence, with all the elements of the original sequence, except t [heading Expression Semantics] __remove__(seq); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing all the elements of `seq`, in their original order, except those of type `T`. Equivalent to `__remove_if__ >(seq)`. @@ -1266,7 +1275,10 @@ function object evaluates to `true`. [heading Expression Semantics] __remove_if__(seq); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing all the elements of `seq`, in their original order, except those elements with types for which `Pred` evaluates to `boost::mpl::true_`. @@ -1305,7 +1317,10 @@ Returns a new sequence with the elements of the original in reverse order. [heading Expression Semantics] __reverse__(seq); -[*Return type]: A model of __bidirectional_sequence__. +[*Return type]: + +* A model of __bidirectional_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence containing all the elements of `seq` in reverse order. @@ -1390,13 +1405,19 @@ between two iterators. [heading Expression Semantics] __erase__(seq, pos); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing all the elements of `seq` except the element at `pos`. __erase__(seq, first, last); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, with all the elements of `seq`, in their original order, except those in the range [`first`,`last`). @@ -1419,26 +1440,27 @@ Constant. Returns a view which is lazily evaluated. [section erase_key] [heading Description] -For an __associative_sequence__ `seq`, returns a __forward_sequence__ containing all the -elements of the original except those with a given key. +For an [link fusion.sequence.concepts.associative_sequence associative]] __forward_sequence__ `seq`, +returns a [link fusion.sequence.concepts.associative_sequence associative]] __forward_sequence__ containing +all the elements of the original except those with a given key. [heading Synposis] template< typename Key, typename Sequence > - typename result_of::erase_key::type erase_key(Sequence const& seq); + typename __result_of_erase_key__::type erase_key(Sequence const& seq); [table Parameters [[Parameter][Requirement][Description]] - [[`seq`][A model of __associative_sequence__][Operation's argument]] + [[`seq`][A model of __forward_sequence__ and __associative_sequence__][Operation's argument]] [[`Key`][Any type][Key to erase]] ] [heading Expression Semantics] __erase_key__(seq); -[*Return type]: A model of __forward_sequence__. +[*Return type]: A model of __forward_sequence__ and __associative_sequence__. [*Semantics]: Returns a new sequence, containing all the elements of `seq`, except those with key `Key`. @@ -1467,7 +1489,8 @@ position described by a given iterator. typename Pos, typename T > - __unspecified__ insert(Sequence const& seq, Pos const& pos, T const& t); + typename __result_of_insert__::type insert( + Sequence const& seq, Pos const& pos, T const& t); [table Parameters [[Parameter][Requirement][Description]] @@ -1479,7 +1502,10 @@ position described by a given iterator. [heading Expression Semantics] __insert__(seq, p, t); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing all the elements of `seq`, in their original order, and a new element with the type and value of `t` inserted at iterator `pos`. @@ -1522,7 +1548,10 @@ Returns a new sequence with another sequence inserted at a specified iterator. [heading Expression Semantics] __insert__(seq, pos, range); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing all the elements of `seq`, and the elements of `range` inserted at iterator `pos`. All elements retaining their ordering from the orignal sequences. @@ -1561,9 +1590,12 @@ Takes 2 sequences and returns a sequence containing the elements of the first fo [heading Expression Semantics] __join__(lhs, rhs); -[*Return type]: A model of __forward_sequence__. +[*Return type]: -[*Semantics]: Returns a sequence containing all the elements of `lhs` followed by all the elements of `rhs`. The order of th elements is preserved. +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `lhs` and `rhs` implement the __associative_sequence__ model. + +[*Semantics]: Returns a sequence containing all the elements of `lhs` followed by all the elements of `rhs`. The order of the elements is preserved. [heading Complexity] Constant. Returns a view which is lazily evaluated. @@ -1641,7 +1673,10 @@ Returns a new sequence, with the last element of the original removed. [heading Expression Semantics] __pop_back__(seq); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence containing all the elements of `seq`, except the last element. The elements in the new sequence are in the same order as they were in `seq`. @@ -1678,7 +1713,10 @@ Returns a new sequence, with the first element of the original removed. [heading Expression Semantics] __pop_front__(seq); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence containing all the elements of `seq`, except the first element. The elements in the new sequence are in the same order as they were in `seq`. @@ -1717,7 +1755,10 @@ Returns a new sequence with an element added at the end. [heading Expression Semantics] __push_back__(seq, t); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing all the elements of `seq`, and new element `t` appended to the end. The elements are in the same order as they were in `seq`. @@ -1756,7 +1797,10 @@ Returns a new sequence with an element added at the beginning. [heading Expression Semantics] __push_back__(seq, t); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing all the elements of `seq`, and new element `t` appended to the beginning. The elements are in the same order as they were in `seq`. @@ -1801,7 +1845,10 @@ Returns the result type of __filter__ given the sequence type and type to retain [heading Expression Semantics] __result_of_filter__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence containing the elements of `Sequence` that are of type `T`. Equivalent to `__result_of_filter_if__ >::type`. @@ -1839,7 +1886,10 @@ Returns the result type of __filter_if__ given the sequence and unary __mpl_lamb [heading Expression Semantics] __result_of_filter_if__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence containing the elements of `Sequence` for which `Pred` evaluates to `boost::mpl::true_`. @@ -1876,7 +1926,10 @@ with elements created by applying `f(e)` to each element of `e` of `seq`. [heading Expression Semantics] __transform__(seq, f); -[*Return type]: A model of __forward_sequence__ +[*Return type]: + +* A model of __forward_sequence__ +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing the return values of `f(e)` for each element `e` within `seq`. @@ -2024,7 +2077,10 @@ Returns the result type of __remove__, given the sequence and removal types. [heading Expression Semantics] __result_of_remove__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence containing the elements of `Sequence` not of type `T`. Equivalent to `__result_of_replace_if__ >::type`. @@ -2062,7 +2118,10 @@ Returns the result type of __remove_if__, given the input sequence and unary __m [heading Expression Semantics] __result_of_remove_if__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence containing the elements of `Sequence` for which `Pred` evaluates to `boost::mpl::false_`. @@ -2098,7 +2157,10 @@ Returns the result type of __reverse__, given the input sequence type. [heading Expression Semantics] __result_of_reverse__::type -[*Return type]: A model of __bidirectional_sequence__. +[*Return type]: + +* A model of __bidirectional_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with the elements in the reverse order to `Sequence`. @@ -2173,7 +2235,10 @@ Returns the result type of __erase__, given the input sequence and range delimit [heading Expression Semantics] __result_of_erase__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence with the element at `It1` removed. @@ -2210,14 +2275,14 @@ Returns the result type of __erase_key__, given the sequence and key types. [table Parameters [[Parameter][Requirement][Description]] - [[`Sequence`][A model of __associative_sequence__][Operation's argument]] + [[`Sequence`][A model of __forward_sequence__ and __associative_sequence__][Operation's argument]] [[`Key`][Any type][Key type]] ] [heading Expression Semantics] __result_of_erase_key__::type -[*Return type]: A model of __associative_sequence__. +[*Return type]: A model of __forward_sequence__ and __associative_sequence__. [*Semantics]: Returns a sequence with the elements of `Sequence`, except those with key `Key`. @@ -2257,7 +2322,10 @@ Returns the result type of __insert__, given the sequence, position iterator and [heading Expression Semantics] __result_of_insert__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with an element of type `T` inserted at position `Position` in `Sequence`. @@ -2297,7 +2365,10 @@ Returns the result type of __insert_range__, given the input sequence, position [heading Expression Semantics] __result_of_insert_range__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with the elements of `Range` inserted at position `Position` into `Sequence`. @@ -2329,7 +2400,10 @@ Returns the result of joining 2 sequences, given the sequence types. [heading Expression Semantics] __result_of_join__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `LhSequence` amd `RhSequence` implement the __associative_sequence__ model. [*Semantics]: Returns a sequence containing the elements of `LhSequence` followed by the elements of `RhSequence`. The order of the elements in the 2 sequences is preserved. @@ -2399,7 +2473,10 @@ Returns the result type of __pop_back__, given the input sequence type. [heading Expression Semantics] __result_of_pop_back__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with all the elements of `Sequence` except the last element. @@ -2408,7 +2485,7 @@ Constant. [heading Header] - #include + #include #include [endsect] @@ -2435,14 +2512,20 @@ Returns the result type of __pop_front__, given the input sequence type. [heading Expression Semantics] __result_of_pop_front__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with all the elements of `Sequence` except the first element. [heading Complexity] Constant. -/algorithm/transformation/pop_front.hpp> +[heading Header] + + #include + #include [endsect] @@ -2470,14 +2553,20 @@ Returns the result type of __push_back__, given the types of the input sequence [heading Expression Semantics] __result_of_push_back__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with the elements of `Sequence` and an element of type `T` added to the end. [heading Complexity] Constant. -/algorithm/transformation/push_back.hpp> +[heading Header] + + #include + #include [endsect] @@ -2505,14 +2594,20 @@ Returns the result type of __push_front__, given the types of the input sequence [heading Expression Semantics] __result_of_push_front__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with the elements of `Sequence` and an element of type `T` added to the beginning. [heading Complexity] Constant. -/algorithm/transformation/push_front.hpp> +[heading Header] + + #include + #include [endsect] diff --git a/doc/fusion.qbk b/doc/fusion.qbk index f48ff84a..f6330d42 100644 --- a/doc/fusion.qbk +++ b/doc/fusion.qbk @@ -79,6 +79,7 @@ [def __forward_iterator__ [link fusion.iterator.concepts.forward_iterator Forward Iterator]] [def __bidirectional_iterator__ [link fusion.iterator.concepts.bidirectional_iterator Bidirectional Iterator]] [def __random_access_iterator__ [link fusion.iterator.concepts.random_access_iterator Random Access Iterator]] +[def __associative_iterator__ [link fusion.iterator.concepts.associative_iterator Associative Iterator]] [def __next__ [link fusion.iterator.functions.next `next`]] [def __prior__ [link fusion.iterator.functions.prior `prior`]] @@ -86,6 +87,7 @@ [def __advance_c__ [link fusion.iterator.functions.advance_c `advance_c`]] [def __distance__ [link fusion.iterator.functions.distance `distance`]] [def __deref__ [link fusion.iterator.functions.deref `deref`]] +[def __deref_data__ [link fusion.iterator.functions.deref_data `deref_data`]] [def __result_of_next__ [link fusion.iterator.metafunctions.next `result_of::next`]] [def __result_of_prior__ [link fusion.iterator.metafunctions.prior `result_of::prior`]] @@ -95,7 +97,9 @@ [def __result_of_distance__ [link fusion.iterator.metafunctions.distance `result_of::distance`]] [def __result_of_deref__ [link fusion.iterator.metafunctions.deref `result_of::deref`]] [def __result_of_value_of__ [link fusion.iterator.metafunctions.value_of `result_of::value_of`]] -[def __value_of__ [link fusion.iterator.metafunctions.value_of `value_of`]] +[def __result_of_key_of__ [link fusion.iterator.metafunctions.key_of `result_of::key_of`]] +[def __result_of_value_of_data__ [link fusion.iterator.metafunctions.value_of_data `result_of::value_of_data`]] +[def __result_of_deref_data__ [link fusion.iterator.metafunctions.deref_data `result_of::deref_data`]] [def __sequence__ [link fusion.sequence Sequence]] [def __sequence_concepts__ [link fusion.sequence.concepts Sequence Concepts]] diff --git a/doc/html/fusion/adapted.html b/doc/html/fusion/adapted.html index f166e963..c7f8e1e1 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 7c792cca..18b58de6 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 a0e6fb49..ecb8fea6 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 62f1b863..03d3af56 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 27abf9d7..77927116 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 3258ab23..abb17037 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 ac3bef8f..b5a1d1a1 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 56ead030..3faa3782 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 f7d44766..610b0261 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 c7fda069..211daf32 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.34. 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 c10ea7bc..a5dc5922 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.33. 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 55e7f5b0..21f5afea 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.35. 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 b888c1fa..62c43ef6 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.37. 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 12be554b..fa65a293 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.36. 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 fbfe8143..d15bcd05 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.38. 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 d2443b8e..b8aa272a 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 a10464e3..ffaf6be6 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.40. 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 0f8adb33..80045c83 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.39. 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 82e45462..6cc902d2 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.44. 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 39b582ff..c62990f1 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.45. 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 7dedfef1..f1cebaa2 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.42. 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 a13da9ed..ea894ebd 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.43. Parameters

+

Table 1.47. Parameters

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

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

- + Complexity

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

-

- /algorithm/query/find_if.hpp> -

+
    +
  1. + include <boost/fusion/algorithm/query/find_if.hpp> +
  2. +
  3. + include <boost/fusion/include/find_if.hpp> +
  4. +
- + 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 668cbd72..6ff7f23a 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.41. 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 cf345642..c932cb14 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.47. 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 4a7a8932..0076de8f 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.46. 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 67750074..f3ffb484 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.51. 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 5f2208aa..88d3dcfb 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.52. 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 775c2c37..f03ccdd6 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/find.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/find.html
@@ -27,15 +27,15 @@
 find
 
 
- + Description

- Returns the result type of find, - given the sequence and search types. + Returns the result type of find, given the sequence and + search types.

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

Table 1.49. 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 b0a87bf1..f53e68f9 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/find_if.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/find_if.html
@@ -27,15 +27,15 @@
 find_if
 
 
- + Description

- Returns the result type of find_if - given the sequence and predicate types. + Returns the result type of find_if given the sequence and + predicate types.

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

Table 1.50. 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 3146a46d..821d967e 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.48. 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 5be2503f..7cb55c08 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 da109a5d..0d1ad10b 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.62. 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 9f705b7c..4c190ab2 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.63. Parameters

+

Table 1.67. Parameters

@@ -138,16 +138,27 @@

- + Expression Semantics
erase(seq, pos);
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a new sequence, containing all the elements of seq @@ -156,30 +167,41 @@

erase(seq, first, last);
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a new sequence, with all the elements of seq, 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 5597f11e..10a93363 100644
--- a/doc/html/fusion/algorithm/transformation/functions/erase_key.html
+++ b/doc/html/fusion/algorithm/transformation/functions/erase_key.html
@@ -27,28 +27,29 @@
 erase_key
 
 
- + Description

- For an Associative - Sequence seq, - returns a Forward - Sequence containing all the elements of the original except those - with a given key. + For an associative] + Forward Sequence + seq, returns a associative] + Forward Sequence + containing all the elements of the original except those with a given + key.

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

Table 1.64. Parameters

+

Table 1.68. Parameters

@@ -81,7 +82,8 @@ @@ -112,7 +114,7 @@

- A model of Associative + A model of Forward + Sequence and Associative Sequence


- + Expression Semantics
@@ -120,6 +122,7 @@

Return type: A model of Forward + Sequence and Associative Sequence.

@@ -128,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 f7c61012..e940298d 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.53. Parameters

+

Table 1.57. Parameters

@@ -109,16 +109,27 @@

- + Expression Semantics
filter<T>(seq);
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a sequence containing all the elements of seq @@ -126,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 7e116090..6f3b9d56 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.54. Parameters

+

Table 1.58. Parameters

@@ -111,16 +111,27 @@

- + Expression Semantics
filter_if<Pred>(seq);
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a sequence containing all the elements of seq @@ -129,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 611f2903..57107705 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<
@@ -43,10 +43,11 @@
     typename Pos,
     typename T
     >
-unspecified insert(Sequence const& seq, Pos const& pos, T const& t);
+typename result_of::insert<Sequence const, Pos, T>::type insert(
+    Sequence const& seq, Pos const& pos, T const& t);
 
-

Table 1.65. Parameters

+

Table 1.69. Parameters

@@ -128,16 +129,27 @@

- + Expression Semantics
insert(seq, p, t);
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a new sequence, containing all the elements of seq, @@ -146,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 80182ca2..0f066d8b 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.66. Parameters

+

Table 1.70. Parameters

@@ -130,16 +130,27 @@

- + Expression Semantics
insert(seq, pos, range);
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a new sequence, containing all the elements of seq, @@ -148,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 7fafdc6b..c72655d4 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.67. Parameters

+

Table 1.71. Parameters

@@ -109,38 +109,50 @@

- + Expression Semantics
join(lhs, rhs);
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a sequence containing all the elements of lhs followed by all the elements of rhs. - The order of th elements is preserved. + 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 aa16c821..cf2f5dd2 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.69. Parameters

+

Table 1.73. Parameters

@@ -88,16 +88,27 @@

- + Expression Semantics
pop_back(seq);
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a new sequence containing all the elements of seq, @@ -105,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 16659b70..685a4a95 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.70. Parameters

+

Table 1.74. Parameters

@@ -88,16 +88,27 @@

- + Expression Semantics
pop_front(seq);
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a new sequence containing all the elements of seq, @@ -105,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 42b0cf19..7e2327d2 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.71. Parameters

+

Table 1.75. Parameters

@@ -109,16 +109,27 @@

- + Expression Semantics
push_back(seq, t);
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a new sequence, containing all the elements of seq, @@ -126,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 f75945d2..8df4815d 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.72. Parameters

+

Table 1.76. Parameters

@@ -109,16 +109,27 @@

- + Expression Semantics
push_back(seq, t);
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a new sequence, containing all the elements of seq, @@ -127,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 1fac6734..50200f29 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.59. Parameters

+

Table 1.63. Parameters

@@ -109,16 +109,27 @@

- + Expression Semantics
remove<T>(seq);
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a new sequence, containing all the elements of seq, @@ -126,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 6c5d3176..99fbb05b 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.60. Parameters

+

Table 1.64. Parameters

@@ -110,16 +110,27 @@

- + Expression Semantics
remove_if<Pred>(seq);
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a new sequence, containing all the elements of seq, @@ -128,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 dbc52bbc..3d8f2df2 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.57. 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 09332470..060777b0 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.58. 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 a2c9ae62..f58a0cb0 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.61. Parameters

+

Table 1.65. Parameters

@@ -88,37 +88,48 @@

- + Expression Semantics
reverse(seq);
 

- Return type: A model of Bidirectional - Sequence. + Return type:

+

Semantics: Returns a new sequence containing all the elements of seq 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 15f8ce13..5c218807 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.55. 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.56. 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 cdbc74c4..8b5dcffe 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.68. 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 06726030..92877226 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.82. 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 a405f67a..0122d950 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.83. Parameters

+

Table 1.87. Parameters

@@ -131,16 +131,27 @@

- + Expression Semantics
result_of::erase<Sequence, It1>::type
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a new sequence with the element at It1 removed. @@ -157,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 057d4da5..fd778beb 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.84. Parameters

+

Table 1.88. Parameters

@@ -81,7 +81,8 @@ @@ -112,14 +113,15 @@

- A model of Associative + A model of Forward + Sequence and Associative Sequence


- + Expression Semantics
result_of::erase_key<Sequence, Key>::type
 

- Return type: A model of Associative + Return type: A model of Forward + Sequence and Associative Sequence.

@@ -128,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 e9bb9e25..9fd475a7 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.73. Parameter

+

Table 1.77. Parameter

@@ -112,16 +112,27 @@

- + Expression Semantics
result_of::filter<Sequence, T>::type
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a sequence containing the elements of Sequence @@ -130,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 6977f542..8c286843 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.74. Parameter

+

Table 1.78. Parameter

@@ -114,16 +114,27 @@

- + Expression Semantics
result_of::filter_if<Sequence, Pred>::type
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a sequence containing the elements of Sequence @@ -131,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 d9cab4a4..461d7a25 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.85. Parameters

+

Table 1.89. Parameters

@@ -131,16 +131,27 @@

- + Expression Semantics
result_of::insert<Sequence, Position, T>::type
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a sequence with an element of type T inserted @@ -148,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 7f646da6..4c84cc92 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.86. Parameters

+

Table 1.90. Parameters

@@ -132,16 +132,27 @@

- + Expression Semantics
result_of::insert_range<Sequence, Position, Range>::type
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a sequence with the elements of Range inserted @@ -149,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 d070fa83..90144f25 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,16 +47,28 @@
 };
 
- + Expression Semantics
result_of::join<LhSequence, RhSequence>::type
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a sequence containing the elements of LhSequence @@ -64,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 f81a731d..07126462 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.87. Parameters

+

Table 1.91. Parameters

@@ -92,33 +92,44 @@

- + Expression Semantics
result_of::pop_back<Sequence>::type
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a sequence with all the elements of Sequence except the last element.

- + Complexity

Constant.

- + Header
-
#include <boost/fusion/algorithm/tranformation/pop_back.hpp>
+
#include <boost/fusion/algorithm/transformation/pop_back.hpp>
 #include <boost/fusion/include/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 4c24ae2c..35097865 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.88. Parameters

+

Table 1.92. Parameters

@@ -92,31 +92,46 @@

- + Expression Semantics
result_of::pop_front<Sequence>::type
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a sequence with all the elements of Sequence except the first element.

- + Complexity

Constant.

-

- /algorithm/transformation/pop_front.hpp> -

+
+ + Header +
+
#include <boost/fusion/algorithm/transformation/pop_front.hpp>
+#include <boost/fusion/include/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 b621b2f1..a3ca9ab8 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.89. Parameters

+

Table 1.93. Parameters

@@ -112,16 +112,27 @@

- + Expression Semantics
result_of::push_back<Sequence, T>::type
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a sequence with the elements of Sequence @@ -129,15 +140,19 @@ added to the end.

- + Complexity

Constant.

-

- /algorithm/transformation/push_back.hpp> -

+
+ + Header +
+
#include <boost/fusion/algorithm/transformation/push_back.hpp>
+#include <boost/fusion/include/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 706e3424..2dc255c6 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.90. Parameters

+

Table 1.94. Parameters

@@ -112,16 +112,27 @@

- + Expression Semantics
result_of::push_front<Sequence, T>::type
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a sequence with the elements of Sequence @@ -129,15 +140,19 @@ added to the beginning.

- + Complexity

Constant.

-

- /algorithm/transformation/push_front.hpp> -

+
+ + Header +
+
#include <boost/fusion/algorithm/transformation/push_front.hpp>
+#include <boost/fusion/include/push_front.hpp>
+
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/remove.html b/doc/html/fusion/algorithm/transformation/metafunctions/remove.html index 24c65272..b0c35d55 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.79. Parameters

+

Table 1.83. Parameters

@@ -112,16 +112,27 @@

- + Expression Semantics
result_of::remove<Sequence, T>::type
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a sequence containing the elements of Sequence @@ -130,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 78553670..2f7f4c1b 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.80. Parameters

+

Table 1.84. Parameters

@@ -114,16 +114,27 @@

- + Expression Semantics
result_of::remove_if<Sequence, Pred>::type
 

- Return type: A model of Forward - Sequence. + Return type:

+

Semantics: Returns a sequence containing the elements of Sequence @@ -131,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 c8729fa6..6717f02b 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.77. 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 1b0a0d2f..41d17aac 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.78. 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 e9509e70..25e27171 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.81. Parameters

+

Table 1.85. Parameters

@@ -92,29 +92,40 @@

- + Expression Semantics
result_of::reverse<Sequence>::type
 

- Return type: A model of Bidirectional - Sequence. + Return type:

+

Semantics: Returns a sequence with the 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 b55b8e7b..10d39493 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.75. Parameters

+

Table 1.79. Parameters

@@ -117,23 +117,34 @@

- + Expression Semantics
transform(seq, f);
 

- Return type: A model of Forward - Sequence + Return type:

+

Semantics: Returns a new sequence, containing the return values of f(e) for each element e within seq.

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

Table 1.76. Parameters

+

Table 1.80. Parameters

@@ -241,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 9c5afd54..8524320e 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 87cf803f..322ae7a9 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 3959fb5a..ec018f91 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 570bbfb5..74eb030d 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 e5ad39fe..2982fba6 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 d935ec13..7b1471cc 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 45100478..c53308d9 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 f935559a..92e4a850 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 9f2908a5..6a394daa 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 8c2400d6..2edac668 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 6451e236..157da053 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 a233239e..0ef5f318 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 c75fa0d9..12b28ef5 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 6b051f9f..fc8b14f7 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 22edd5b4..107e14cd 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 e32a6b83..73814f0d 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 6006482e..fe7e4cdd 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 3f6d8ffb..6e69498a 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 317b7df2..5f2f1e64 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 e3e8abfe..5d7d8c1e 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 081ad4c9..49949e49 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 7b036b9e..83a3e051 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 c985177f..76c9daa5 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 fd6a3453..e96bab2d 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 21e33767..b2e62b89 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 eef09fb9..615677c7 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 b6a770f2..2ee25d9a 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 e28161a9..49353a70 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 8bf69960..154f53db 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 ebee6e6f..e9e97662 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 c805355d..235b5592 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 370bfcce..941e396b 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 de28ce2e..f62bc35f 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 91e34f00..c1bd235f 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 6c8f5760..b23ba503 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,18 +217,17 @@

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

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

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

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

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

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

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 required. The remainder of the process is very repetitive, simply - requiring implementation of a suitable xxxx_impl - for each feature xxxx. + 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.

- + Implementing the remaining iterator functionality

- Ok, now we have seen the way 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: + 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:

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

- + Implementing the intrinsic functions of the sequence
@@ -429,7 +431,7 @@ value_at_impl and at_impl.

- + Enabling our type as an associative container
@@ -496,7 +498,7 @@ of is_associative_impl.

- + Summary

diff --git a/doc/html/fusion/extension/iterator_facade.html b/doc/html/fusion/extension/iterator_facade.html index 5899320b..47d9d6b4 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.93. Parameters

+

Table 1.97. Parameters

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

-

Table 1.94. Key Expressions

+

Table 1.98. Key Expressions

@@ -365,14 +365,14 @@

- + 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 1c2d035d..04d5acad 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.91. Parameters

+

Table 1.95. Parameters

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

-

Table 1.92. 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 cdc2347b..2412e1fc 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 3100beaf..59cef3f5 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 7fd166c8..7b07c053 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 f87ffaf8..5e921585 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 0b781778..8e30bbf7 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 7dac7510..57d74043 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 a14e8e11..dcbb6e46 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 6ef17732..26afb6c7 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 86590b42..93edd73e 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 c372ef06..56e27bab 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 26bce9d2..d62a3079 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 b7343db1..71bb87cd 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 ba003210..97392ab9 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 3fcd3cd2..2a9d4dc4 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 b843ad31..605baed6 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 bb60c475..9b2aa132 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 9bca4c5b..97cdc013 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 aaebc8ba..37cf01be 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 ad49bb7f..063d8b42 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 39a48b79..4911d688 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 6fd28607..feadf6c7 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 7cb02502..a38b09b1 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 31d28911..f12ab8c5 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 9574cbca..a9f367fc 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 7300544a..afbc76de 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 b3b9527d..7daa3477 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 e8b177d2..d20f29b6 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 775406c3..dbb42e55 100644 --- a/doc/html/fusion/iterator.html +++ b/doc/html/fusion/iterator.html @@ -35,6 +35,8 @@ Iterator

Random Access Iterator
+
Associative + Iterator
Functions
@@ -44,6 +46,7 @@
distance
advance
advance_c
+
deref_data
Operator
@@ -64,6 +67,9 @@
distance
advance
advance_c
+
key_of
+
value_of_data
+
deref_data

@@ -75,7 +81,7 @@ Sequence.

- + Header

#include <boost/fusion/iterator.hpp>
diff --git a/doc/html/fusion/iterator/concepts.html b/doc/html/fusion/iterator/concepts.html
index fa9ccc33..4ea09ff5 100644
--- a/doc/html/fusion/iterator/concepts.html
+++ b/doc/html/fusion/iterator/concepts.html
@@ -33,6 +33,8 @@
         Iterator
 
Random Access Iterator
+
Associative + Iterator

Fusion iterators are divided into different traversal categories. Forward @@ -40,7 +42,11 @@ Iterator is a refinement of Forward Iterator. Random Access Iterator is a refinement of Bidirectional - Iterator. + Iterator. Associative + Iterator is a refinement of Forward + Iterator, Bidirectional + Iterator or Random + Access Iterator.

diff --git a/doc/html/fusion/iterator/concepts/associative_iterator.html b/doc/html/fusion/iterator/concepts/associative_iterator.html new file mode 100644 index 00000000..8760db1b --- /dev/null +++ b/doc/html/fusion/iterator/concepts/associative_iterator.html @@ -0,0 +1,228 @@ + + + +Associative Iterator + + + + + + + + +
+ + + + + + +
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+ + Description +
+

+ An Associative Iterator provides additional semantics to obtain the properties + of the element of an associative forward, bidirectional or random access + sequence. +

+
+

Notation

+
+
i
+

+ Associative Iterator +

+
I
+

+ Associative Iterator type +

+
+
+
+ + Refinement + of +
+

+ Forward Iterator, + Bidirectional + Iterator or Random + Access Iterator +

+
+ + Expression + requirements +
+

+ In addition to the requirements defined in Forward + Iterator, Bidirectional + Iterator or Random + Access Iterator the following expressions must be valid: +

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

+ Expression +

+
+

+ Return type +

+
+

+ Runtime Complexity +

+
+

+ deref_data(i) +

+
+

+ result_of::deref_data<I>::type +

+
+

+ Constant +

+
+
+ + Meta + Expressions +
+
++++ + + + + + + + + + + + + + + + + + + +
+

+ Expression +

+
+

+ Compile Time Complexity +

+
+

+ result_of::key_of<I>::type +

+
+

+ Amortized constant time +

+
+

+ result_of::value_of_data<I>::type +

+
+

+ Amortized constant time +

+
+

+ result_of::deref_data<I>::type +

+
+

+ Amortized constant time +

+
+
+ + Models +
+
+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/fusion/iterator/concepts/bidirectional_iterator.html b/doc/html/fusion/iterator/concepts/bidirectional_iterator.html index 5ccf6cf7..ba898c38 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 554b83e5..4ea7245a 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 3b7a0a94..7cfd3d42 100644 --- a/doc/html/fusion/iterator/concepts/random_access_iterator.html +++ b/doc/html/fusion/iterator/concepts/random_access_iterator.html @@ -7,7 +7,7 @@ - + @@ -20,7 +20,7 @@

    -PrevUpHomeNext +PrevUpHomeNext

    @@ -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
    @@ -284,7 +284,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterator/functions.html b/doc/html/fusion/iterator/functions.html index 17087d66..6927aa54 100644 --- a/doc/html/fusion/iterator/functions.html +++ b/doc/html/fusion/iterator/functions.html @@ -6,7 +6,7 @@ - + @@ -20,7 +20,7 @@
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -33,6 +33,7 @@
    distance
    advance
    advance_c
    +
    deref_data

    Fusion provides functions for manipulating iterators, analogous to the similar @@ -51,7 +52,7 @@


    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterator/functions/advance.html b/doc/html/fusion/iterator/functions/advance.html index f8a94987..48c18056 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 c1404eb7..5497daa4 100644
    --- a/doc/html/fusion/iterator/functions/advance_c.html
    +++ b/doc/html/fusion/iterator/functions/advance_c.html
    @@ -7,7 +7,7 @@
     
     
     
    -
    +
     
     
     
    @@ -20,21 +20,21 @@
     

    -PrevUpHomeNext +PrevUpHomeNext
    - + 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;
    @@ -154,7 +154,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterator/functions/deref.html b/doc/html/fusion/iterator/functions/deref.html index 7eb45ffe..8c6c51ab 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
new file mode 100644
index 00000000..cc82f3f5
--- /dev/null
+++ b/doc/html/fusion/iterator/functions/deref_data.html
@@ -0,0 +1,138 @@
+
+
+
+deref_data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+ + Description +
+

+ Deferences the data property associated with the element referenced by + an associative iterator. +

+
+ + Synopsis +
+
template<
+    typename I
+    >
+typename result_of::deref_data<I>::type deref(I const& i);
+
+
+

Table 1.8. Parameters

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

+ Parameter +

+
+

+ Requirement +

+
+

+ Description +

+
+

+ i +

+
+

+ Model of Associative + Iterator +

+
+

+ Operation's argument +

+
+
+
+ + Expression + Semantics +
+
deref_data(i);
+
+

+ Return type: result_of::deref_data<I>::type +

+

+ Semantics: Dereferences the data property + 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;
+
+int i(0);
+map m(1.0f,i);
+assert(deref_data(begin(m)) == 0);
+assert(&(deref_data(begin(m))) == &i);
+
+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/fusion/iterator/functions/distance.html b/doc/html/fusion/iterator/functions/distance.html index e76598e2..5f4e7816 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 fda83c51..2b0cca48 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 5e3fad70..090681de 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.html b/doc/html/fusion/iterator/metafunctions.html
index 00a4a45b..e62b490b 100644
--- a/doc/html/fusion/iterator/metafunctions.html
+++ b/doc/html/fusion/iterator/metafunctions.html
@@ -35,6 +35,9 @@
 
distance
advance
advance_c
+
key_of
+
value_of_data
+
deref_data
diff --git a/doc/html/fusion/iterator/metafunctions/advance.html b/doc/html/fusion/iterator/metafunctions/advance.html index 7e79f18f..9a78295a 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.17. 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 1f6be8c5..fe456c8c 100644
--- a/doc/html/fusion/iterator/metafunctions/advance_c.html
+++ b/doc/html/fusion/iterator/metafunctions/advance_c.html
@@ -7,7 +7,7 @@
 
 
 
-
+
 
 
 
@@ -20,21 +20,21 @@
 

-PrevUpHomeNext +PrevUpHomeNext
- + Description

Moves an iterator by a specified distance.

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

Table 1.18. 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;
@@ -158,7 +158,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/iterator/metafunctions/deref.html b/doc/html/fusion/iterator/metafunctions/deref.html index bb3e8854..a0a165dd 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.12. 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
new file mode 100644
index 00000000..0df181a5
--- /dev/null
+++ b/doc/html/fusion/iterator/metafunctions/deref_data.html
@@ -0,0 +1,139 @@
+
+
+
+deref_data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+ + Description +
+

+ Returns the type that will be returned by dereferencing the data property + referenced by an associative iterator. +

+
+ + Synposis +
+
template<
+    typename I
+    >
+struct deref_data
+{
+    typedef unspecified type;
+};
+
+
+

Table 1.22. Parameters

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

+ Parameter +

+
+

+ Requirement +

+
+

+ Description +

+
+

+ I +

+
+

+ Model of Associative + Iterator +

+
+

+ Operation's argument +

+
+
+
+ + Expression + Semantics +
+
result_of::deref_data<I>::type
+
+

+ Return type: Any type +

+

+ Semantics: Returns the result of dereferencing + 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;
+typedef result_of::begin<vec>::type first;
+
+BOOST_MPL_ASSERT((boost::is_same<result_of::deref_data<first>::type, int&>));
+
+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/fusion/iterator/metafunctions/distance.html b/doc/html/fusion/iterator/metafunctions/distance.html index 501a4647..9e54386d 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.16. 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 0620dd58..ecf65f9e 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.15. 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
new file mode 100644
index 00000000..55356c2c
--- /dev/null
+++ b/doc/html/fusion/iterator/metafunctions/key_of.html
@@ -0,0 +1,139 @@
+
+
+
+key_of
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+

+key_of +

+
+ + Description +
+

+ Returns the key type associated with the element referenced by an associative + iterator. +

+
+ + Synopsis +
+
template<
+    typename I
+    >
+struct key_of
+{
+    typedef unspecified type;
+};
+
+
+

Table 1.20. Parameters

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

+ Parameter +

+
+

+ Requirement +

+
+

+ Description +

+
+

+ I +

+
+

+ Model of Associative + Iterator +

+
+

+ Operation's argument +

+
+
+
+ + Expression + Semantics +
+
result_of::key_of<I>::type
+
+

+ Return type: Any type +

+

+ Semantics: Returns the key type associated + 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;
+typedef result_of::begin<vec>::type first;
+
+BOOST_MPL_ASSERT((boost::is_same<result_of::key_of<first>::type, float>));
+
+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/fusion/iterator/metafunctions/next.html b/doc/html/fusion/iterator/metafunctions/next.html index 1620b22b..e5d4e350 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.13. 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 d953db31..d42f9808 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.14. 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 1ef34859..8c85ea75 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.11. 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
new file mode 100644
index 00000000..7b978b71
--- /dev/null
+++ b/doc/html/fusion/iterator/metafunctions/value_of_data.html
@@ -0,0 +1,140 @@
+
+
+
+value_of_data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+ + Description +
+

+ Returns the type of the data property associated with the element referenced + by an associative iterator references. +

+
+ + Synopsis +
+
template<
+    typename I
+    >
+struct value_of_data
+{
+    typedef unspecified type;
+};
+
+
+

Table 1.21. Parameters

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

+ Parameter +

+
+

+ Requirement +

+
+

+ Description +

+
+

+ I +

+
+

+ Model of Associative + Iterator +

+
+

+ Operation's argument +

+
+
+
+ + Expression + Semantics +
+
result_of::value_of_data<I>::type
+
+

+ Return type: Any type +

+

+ Semantics: Returns the type of the data + property associated with the element referenced by an associative iterator + 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;
+typedef result_of::begin<vec>::type first;
+
+BOOST_MPL_ASSERT((boost::is_same<result_of::value_of_data<first>::type, int>));
+
+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/fusion/iterator/operator.html b/doc/html/fusion/iterator/operator.html index 256ae230..8dc66e89 100644 --- a/doc/html/fusion/iterator/operator.html +++ b/doc/html/fusion/iterator/operator.html @@ -6,7 +6,7 @@ - + @@ -20,7 +20,7 @@
-PrevUpHomeNext +PrevUpHomeNext

@@ -50,7 +50,7 @@
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/iterator/operator/operator_equality.html b/doc/html/fusion/iterator/operator/operator_equality.html index 286fbb7b..debda0f3 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.9. 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 3a4352de..9e156273 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.10. 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 2ec05403..c4a94f7c 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.8. 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 c8886f1e..0e61bcd5 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 e5877008..05ca9807 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 4bb05e32..47d353ae 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 fe8197ee..c10f5e91 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 f480f370..c267e16a 100644 --- a/doc/html/fusion/sequence.html +++ b/doc/html/fusion/sequence.html @@ -6,7 +6,7 @@ - + @@ -20,7 +20,7 @@


-PrevUpHomeNext +PrevUpHomeNext

@@ -60,7 +60,7 @@ type that can be used to iterate through the Sequence's elements.

- + Header

#include <boost/fusion/sequence.hpp>
@@ -78,7 +78,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/sequence/concepts.html b/doc/html/fusion/sequence/concepts.html index 34996e39..8fb42718 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 e68b98de..8c234513 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

@@ -36,12 +36,7 @@ keys. Like associative sequences in MPL, and unlike associative containers in STL, Fusion associative sequences have no implied ordering relation. Instead, - type identity is used to impose an equivalence relation on keys, and the - order in which sequence elements are traversed during iteration is left - unspecified. In addition, unlike STL, - Associative Sequences have mutable iterators. This is due to the fact that - there is no associated ordering relation and the runtime value of the keys - themselves do not have any effect on the associativity of the sequence. + type identity is used to impose an equivalence relation on keys.

Notation

@@ -69,7 +64,7 @@
- + Valid Expressions
@@ -178,7 +173,7 @@
- + Result Type Expressions
@@ -253,7 +248,7 @@

- + Expression Semantics
@@ -308,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 3036a63b..b80d73b5 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 27204400..f0105472 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 93cc98a5..62850c60 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 8981b1e4..d9d8a3de 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 1210fa84..5553ca55 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 84770c41..21b9782d 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 34ef15e7..dbe814da 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 d9987ae8..e39524d9 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 8081e9ac..6b1f3f30 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,37 +92,48 @@
- + Expression Semantics
begin(seq);
 

- Return type: Forward - Iterator if seq - is a Forward - Sequence else, Bidirectional - Iterator if seq - is a Bidirectional - Sequence else, Random - Access Iterator if seq - is a Random - Access Sequence. + Return type:

+

Semantics: Returns an iterator pointing 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 f02d63dc..802caf6a 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 0d30dc68..fbb905e6 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,37 +92,48 @@
- + Expression Semantics
end(seq);
 

- Return type: Forward - Iterator if seq - is a Forward - Sequence else, Bidirectional - Iterator if seq - is a Bidirectional - Sequence else, Random - Access Iterator if seq - is a Random - Access Sequence. + Return type:

+

Semantics: Returns an iterator pointing 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 9fcf997b..e6f73b70 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 7d049caf..1037f55d 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 de71118c..3a3732f0 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 eed72510..6ed387ec 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 ba65312d..f50592e5 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.25. Parameters

+

Table 1.29. Parameters

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

- + Expression Semantics
@@ -126,11 +126,15 @@ Semantics: Returns the result type of using at to access the Nth element of Seq.

-

- /sequence/intrinsic/at.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/at.hpp>
+#include <boost/fusion/include/at.hpp>
+
- + Example
typedef vector<int,float,char> vec;
@@ -138,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 0025ed1e..b3bc0c1e 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.26. Parameters

+

Table 1.30. Parameters

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

- + Expression Semantics
@@ -125,11 +125,15 @@ Semantics: Returns the result type of using at_c to access the Mth element of Seq.

-

- /sequence/intrinsic/at.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/at.hpp>
+#include <boost/fusion/include/at.hpp>
+
- + Example
typedef vector<int,float,char> vec;
@@ -137,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 e9a57507..46065887 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.30. Parameters

+

Table 1.34. Parameters

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

- + Expression Semantics
@@ -127,11 +127,15 @@ with key type Key in Seq.

-

- /sequence/intrinsic/at_key.hpp> -

+
+ + 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;
@@ -139,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 5f450323..d0b51999 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.23. Parameters

+

Table 1.27. Parameters

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

- + Expression Semantics
@@ -102,11 +102,15 @@ Semantics: The type returned by dereferencing an iterator to the last element in the sequence. Equivalent to result_of::deref<result_of::prior<result_of::end<Seq>::type>::type>::type.

-

- /sequence/intrinsic/back.hpp> -

+
+ + 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 5fdfaa34..b3de01de 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.19. Parameters

+

Table 1.23. Parameters

@@ -89,25 +89,48 @@

- + Expression Semantics
result_of::begin<Seq>::type
 

- Return type: An iterator modelling the - same traversal concept as Seq. + Return type:

+

Semantics: Returns the type of an iterator to the first element of Seq.

-

- /sequence/intrinsic/begin.hpp> -

+
+ + 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 d127877c..a8a54dd9 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.21. Parameters

+

Table 1.25. Parameters

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

- + Expression Semantics
@@ -104,11 +104,15 @@ if Seq has zero elements, mpl::false_ otherwise.

-

- /sequence/intrinsic/empty.hpp> -

+
+ + 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 74905219..c87b7f0f 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.20. Parameters

+

Table 1.24. Parameters

@@ -89,25 +89,48 @@

- + Expression Semantics
result_of::end<Seq>::type
 

- Return type: A model of the same traversal - concept as Seq. + Return type:

+

Semantics: Returns the type of an iterator one past the end of Seq.

-

- /sequence/intrinsic/end.hpp> -

+
+ + 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 93ad7782..c58512b1 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.22. Parameters

+

Table 1.26. Parameters

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

- + Expression Semantics
@@ -103,11 +103,15 @@ an iterator to the first element in Seq. Equivalent to result_of::deref<result_of::begin<Seq>::type>::type.

-

- /sequence/intrinsic/front.hpp> -

+
+ + 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 8691e4dd..424a3a30 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.29. Parameters

+

Table 1.33. Parameters

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

- + Expression Semantics
@@ -126,11 +126,15 @@ with key type Key, returns mpl::false_ otherwise.

-

- /sequence/intrinsic/has_key.hpp> -

+
+ + 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 b2edb7d4..2219819f 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.24. Parameters

+

Table 1.28. Parameters

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

- + Expression Semantics
@@ -103,11 +103,15 @@ Semantics: Returns the number of elements in Seq.

-

- /sequence/intrinsic/size.hpp> -

+
+ + 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 c8c14d9b..b61958b9 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.32. Parameters

+

Table 1.36. Parameters

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

- + Expression Semantics
@@ -101,9 +101,13 @@

Semantics: Always returns void.

-

- /sequence/intrinsic/swap.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/swap.hpp>
+#include <boost/fusion/include/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 90a27030..8be851f4 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.27. Parameters

+

Table 1.31. Parameters

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

- + Expression Semantics
@@ -124,11 +124,15 @@ Semantics: Returns the actual type at the Nth element of Seq.

-

- /sequence/intrinsic/value_at.hpp> -

+
+ + 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 464df88b..fb23c905 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.28. Parameters

+

Table 1.32. Parameters

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

- + Expression Semantics
@@ -123,11 +123,15 @@ Semantics: Returns the actual type at the Mth element of Seq.

-

- /sequence/intrinsic/value_at.hpp> -

+
+ + 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 116ded9f..e2afd3ba 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.31. Parameters

+

Table 1.35. Parameters

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

- + Expression Semantics
@@ -124,11 +124,15 @@ type associated with key type Key in Seq.

-

- /sequence/intrinsic/value_at_key.hpp> -

+
+ + 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 60b388fb..5b9e7ac2 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 252e84e3..23f65285 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 839ff8a7..2fb8d36f 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 2d86039a..7b238302 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 c5553787..b08a00b8 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 92bbb874..5be7d8d5 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 7e967361..b87c8919 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 a01c3f81..4d04bd68 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 1a001d74..1022a083 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 3ea40a01..9ab8f979 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 cc5b7423..d5ff5268 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
@@ -105,27 +105,7 @@ Return type:

- For Iterators, the return type is derived from one of: -

-
namespace boost { namespace fusion
-{
-    struct incrementable_traversal_tag {};
-
-    struct single_pass_traversal_tag
-        : incrementable_traversal_tag {};
-
-    struct forward_traversal_tag
-        : single_pass_traversal_tag {};
-
-    struct bidirectional_traversal_tag
-        : forward_traversal_tag {};
-
-    struct random_access_traversal_tag
-        : bidirectional_traversal_tag {};
-}}
-
-

- For Sequences, the return type is derived from one of: + The return type is derived from one of:

namespace boost { namespace fusion
 {
@@ -157,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 9bf91bce..05a7dd61 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 461fefe8..ef036d6b 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 2b957eed..4db68079 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 1358f40e..a561ed13 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 b5d71309..bd08257a 100644
--- a/doc/html/fusion/support/pair.html
+++ b/doc/html/fusion/support/pair.html
@@ -27,18 +27,17 @@
 pair
 
 
- + Description

Fusion pair type is a half runtime pair. A half runtime pair is similar to a std::pair, but, unlike std::pair, - the first type does not have data. It is used as elements in _map_s, - for example. + the first type does not have data. It is used as elements in maps, for example.

- + Synopsis
template <typename First, typename Second>
@@ -61,7 +60,7 @@
 make_pair(Second const &);
 
- + Template parameters
@@ -140,7 +139,7 @@
- + Expression Semantics
@@ -320,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 b4e10250..77925096 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 397cfb79..1a069594 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 560adb59..45336953 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 b6c70ba6..987c0611 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 1b7ea11c..7d2470ed 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 16d2e2de..f9fc8731 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 e3387c41..08f7f9fc 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 a7688590..5d4507a1 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 31d107f9..9826ab6c 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 4263b220..e4651e16 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,10 +115,18 @@
- + Model of
- +

Notation

@@ -138,13 +146,12 @@
- + Expression Semantics

Semantics of an expression is defined only where it differs from, or is not - defined in Forward - Sequence. + defined in the implemented models.

@@ -209,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 1aaba203..f35ed5d5 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,17 +111,26 @@
- + Model of
-

Notation

@@ -145,14 +154,13 @@
- + Expression Semantics

Semantics of an expression is defined only where it differs from, or is not - defined in Forward - Sequence. + defined in the implemented models.

@@ -219,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 9f425894..7a75cb6a 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,10 +113,19 @@
- + Model of
- +

Notation

@@ -140,13 +149,12 @@
- + Expression Semantics

Semantics of an expression is defined only where it differs from, or is not - defined in Forward - Sequence. + defined in the implemented models.

@@ -212,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 db4678fe..91b29bad 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 8d1c4ada..23398390 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,11 +91,12 @@
- + Model of
- +

+ A model of the same sequence concept as Sequence. +

Notation

@@ -115,14 +116,13 @@
- + Expression Semantics

Semantics of an expression is defined only where it differs from, or is not - defined in Bidirectional - Sequence. + defined in the implemented models.

@@ -187,7 +187,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 aaf1858f..fa4f8e27 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 f3b5d718..fb0a12e0 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 96f4cc62..3919f6e8 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 7f3be981..00586a26 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)

@@ -67,6 +67,8 @@ Iterator
Random Access Iterator
+
Associative + Iterator
Functions
@@ -76,6 +78,7 @@
distance
advance
advance_c
+
deref_data
Operator
@@ -96,6 +99,9 @@
distance
advance
advance_c
+
key_of
+
value_of_data
+
deref_data
Sequence
@@ -241,7 +247,7 @@
- +

Last revised: October 20, 2009 at 14:59:29 GMT

Last revised: October 30, 2009 at 00:09:36 GMT


diff --git a/doc/iterator.qbk b/doc/iterator.qbk index b057513c..5a706c5a 100644 --- a/doc/iterator.qbk +++ b/doc/iterator.qbk @@ -20,7 +20,9 @@ provide access to data within an underlying __sequence__. Fusion iterators are divided into different traversal categories. __forward_iterator__ is the most basic concept. __bidirectional_iterator__ is a refinement of __forward_iterator__. __random_access_iterator__ is a -refinement of __bidirectional_iterator__. +refinement of __bidirectional_iterator__. __associative_iterator__ is a +refinement of __forward_iterator__, __bidirectional_iterator__ or +__random_access_iterator__. [section Forward Iterator] @@ -210,6 +212,47 @@ the following expressions must be valid: [endsect] +[section Associative Iterator] +[heading Description] +An Associative Iterator provides additional semantics to obtain the properties +of the element of an associative forward, bidirectional or random access sequence. + +[variablelist Notation + [[`i`] [Associative Iterator]] + [[`I`] [Associative Iterator type]] +] + +[heading Refinement of] +__forward_iterator__, __bidirectional_iterator__ or __random_access_iterator__ + +[heading Expression requirements] +In addition to the requirements defined in __forward_iterator__, +__bidirectional_iterator__ or __random_access_iterator__ the following +expressions must be valid: + +[table + [[Expression] [Return type] [Runtime Complexity]] + [[`__deref_data__(i)`][`__result_of_deref_data__::type`][Constant]] +] + +[heading Meta Expressions] +[table + [[Expression] [Compile Time Complexity]] + [[`__result_of_key_of__::type`][Amortized constant time]] + [[`__result_of_value_of_data__::type`][Amortized constant time]] + [[`__result_of_deref_data__::type`][Amortized constant time]] +] + +[heading Models] +* __map__ iterator +* __set__ iterator +* __filter_view__ iterator (where adapted sequence is an __associative_sequence__ and a __forward_sequence__) +* __iterator_range__ iterator (where adapted iterators are __associative_iterator__\ s) +* __joint_view__ iterator (where adapted sequences are __associative_sequence__\ s and __forward_sequence__\ s) +* __reverse_view__ iterator (where adapted sequence is an __associative_sequence__ and a __bidirectional_sequence__) + +[endsect] + [endsect] [section Functions] @@ -437,6 +480,43 @@ Moves an iterator by a specified distance. [endsect] +[section deref_data] + +[heading Description] +Deferences the data property associated with the element referenced by an associative iterator. + +[heading Synopsis] + template< + typename I + > + typename __result_of_deref_data__::type deref(I const& i); + +[table Parameters + [[Parameter] [Requirement] [Description]] + [[`i`] [Model of __associative_iterator__] [Operation's argument]] +] + +[heading Expression Semantics] + __deref_data__(i); + +[*Return type]: `__result_of_deref_data__::type` + +[*Semantics]: Dereferences the data property associated with the element referenced by an associative iterator `i`. + +[heading Header] + #include + #include + +[heading Example] + typedef __map__<__pair__ > map; + + int i(0); + map m(1.0f,i); + assert(__deref_data__(__begin__(m)) == 0); + assert(&(__deref_data__(__begin__(m))) == &i); + +[endsect] + [endsect] [section Operator] @@ -876,6 +956,122 @@ Moves an iterator by a specified distance. [endsect] +[section key_of] + +[heading Description] + +Returns the key type associated with the element referenced by an associative iterator. + +[heading Synopsis] + template< + typename I + > + struct key_of + { + typedef __unspecified__ type; + }; + +[table Parameters + [[Parameter] [Requirement] [Description]] + [[`I`] [Model of __associative_iterator__] [Operation's argument]] +] + +[heading Expression Semantics] + __result_of_key_of__::type + +[*Return type]: Any type + +[*Semantics]: Returns the key type associated with the element referenced by an associative iterator `I`. + +[heading Header] + #include + #include + +[heading Example] + typedef __map__<__pair__ > vec; + typedef __result_of_begin__::type first; + + BOOST_MPL_ASSERT((boost::is_same<__result_of_key_of__::type, float>)); + +[endsect] + +[section value_of_data] + +[heading Description] + +Returns the type of the data property associated with the element referenced by an associative iterator references. + +[heading Synopsis] + template< + typename I + > + struct value_of_data + { + typedef __unspecified__ type; + }; + +[table Parameters + [[Parameter] [Requirement] [Description]] + [[`I`] [Model of __associative_iterator__] [Operation's argument]] +] + +[heading Expression Semantics] + __result_of_value_of_data__::type + +[*Return type]: Any type + +[*Semantics]: Returns the type of the data property associated with the element referenced by an associative iterator `I`. + +[heading Header] + #include + #include + +[heading Example] + typedef __map__<__pair__ > vec; + typedef __result_of_begin__::type first; + + BOOST_MPL_ASSERT((boost::is_same<__result_of_value_of_data__::type, int>)); + +[endsect] + +[section deref_data] + +[heading Description] +Returns the type that will be returned by dereferencing the data property referenced by an associative iterator. + +[heading Synposis] + template< + typename I + > + struct deref_data + { + typedef __unspecified__ type; + }; + +[table Parameters + [[Parameter] [Requirement] [Description]] + [[`I`] [Model of __associative_iterator__] [Operation's argument]] +] + +[heading Expression Semantics] + __result_of_deref_data__::type + +[*Return type]: Any type + +[*Semantics]: Returns the result of dereferencing the data property referenced by an associative iterator of type `I`. + +[heading Header] + #include + #include + +[heading Example] + typedef __map__<__pair__ > map; + typedef __result_of_begin__::type first; + + BOOST_MPL_ASSERT((boost::is_same<__result_of_deref_data__::type, int&>)); + +[endsect] + [endsect] [endsect] diff --git a/doc/sequence.qbk b/doc/sequence.qbk index 18d65191..495039b5 100644 --- a/doc/sequence.qbk +++ b/doc/sequence.qbk @@ -277,13 +277,7 @@ are not defined in __bidirectional_sequence__. An Associative Sequence allows efficient retrieval of elements based on keys. Like associative sequences in __mpl__, and unlike associative containers in __stl__, Fusion associative sequences have no implied ordering relation. -Instead, type identity is used to impose an equivalence relation on keys, and -the order in which sequence elements are traversed during iteration is left -unspecified. In addition, unlike __stl__, Associative Sequences have mutable -iterators. This is due to the fact that there is no associated ordering relation -and the runtime value of the keys themselves do not have any effect on the -associativity of the sequence. - +Instead, type identity is used to impose an equivalence relation on keys. [variablelist Notation [[`s`] [An Associative Sequence]] @@ -388,9 +382,12 @@ Returns an iterator pointing to the first element in the sequence. begin(seq); -[*Return type]: __forward_iterator__ if `seq` is a __forward_sequence__ +[*Return type]: + +* A model of __forward_iterator__ if `seq` is a __forward_sequence__ else, __bidirectional_iterator__ if `seq` is a __bidirectional_sequence__ else, __random_access_iterator__ if `seq` is a __random_access_sequence__. +* A model of __associative_iterator__ if `seq` is an __associative_sequence__. [*Semantics]: Returns an iterator pointing to the first element in the sequence. @@ -433,9 +430,12 @@ Returns an iterator pointing to one element past the end of the sequence. end(seq); -[*Return type]: __forward_iterator__ if `seq` is a __forward_sequence__ +[*Return type]: + +* A model of __forward_iterator__ if `seq` is a __forward_sequence__ else, __bidirectional_iterator__ if `seq` is a __bidirectional_sequence__ else, __random_access_iterator__ if `seq` is a __random_access_sequence__. +* A model of __associative_iterator__ if `seq` is an __associative_sequence__. [*Semantics]: Returns an iterator pointing to one element past the end of the sequence. @@ -888,11 +888,19 @@ Returns the result type of __begin__. [heading Expression Semantics] result_of::begin::type -[*Return type]: An iterator modelling the same traversal concept as `Seq`. +[*Return type]: + +* A model of __forward_iterator__ if `seq` is a __forward_sequence__ +else, __bidirectional_iterator__ if `seq` is a __bidirectional_sequence__ +else, __random_access_iterator__ if `seq` is a __random_access_sequence__. +* A model of __associative_iterator__ if `seq` is an __associative_sequence__. [*Semantics]: Returns the type of an iterator to the first element of `Seq`. -/sequence/intrinsic/begin.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -921,11 +929,19 @@ Returns the result type of __end__. [heading Expression Semantics] result_of::end::type -[*Return type]: A model of the same traversal concept as `Seq`. +[*Return type]: + +* A model of __forward_iterator__ if `seq` is a __forward_sequence__ +else, __bidirectional_iterator__ if `seq` is a __bidirectional_sequence__ +else, __random_access_iterator__ if `seq` is a __random_access_sequence__. +* A model of __associative_iterator__ if `seq` is an __associative_sequence__. [*Semantics]: Returns the type of an iterator one past the end of `Seq`. -/sequence/intrinsic/end.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -958,7 +974,10 @@ Returns the result type of __empty__. [*Semantics]: Returns `mpl::true_` if `Seq` has zero elements, `mpl::false_` otherwise. -/sequence/intrinsic/empty.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__<> empty_vec; @@ -993,7 +1012,10 @@ Returns the result type of __front__. [*Semantics]: The type returned by dereferencing an iterator to the first element in `Seq`. Equivalent to `__result_of_deref__<__result_of_begin__::type>::type`. -/sequence/intrinsic/front.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -1025,7 +1047,10 @@ Returns the result type of __back__. [*Semantics]: The type returned by dereferencing an iterator to the last element in the sequence. Equivalent to `__result_of_deref__<__result_of_prior__<__result_of_end__::type>::type>::type`. -/sequence/intrinsic/back.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -1057,7 +1082,10 @@ Returns the result type of __size__. [*Semantics]: Returns the number of elements in `Seq`. -/sequence/intrinsic/size.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -1097,7 +1125,10 @@ the actual element type, use __result_of_value_at__]. [*Semantics]: Returns the result type of using __at__ to access the `N`th element of `Seq`. -/sequence/intrinsic/at.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -1136,7 +1167,10 @@ get the actual element type, use __result_of_value_at_c__]. [*Semantics]: Returns the result type of using __at_c__ to access the `M`th element of `Seq`. -/sequence/intrinsic/at.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -1172,7 +1206,10 @@ Returns the actual type at a given index from the __sequence__. [*Semantics]: Returns the actual type at the `N`th element of `Seq`. -/sequence/intrinsic/value_at.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -1208,7 +1245,10 @@ Returns the actual type at a given index from the __sequence__. [*Semantics]: Returns the actual type at the `M`th element of `Seq`. -/sequence/intrinsic/value_at.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -1243,7 +1283,10 @@ Returns the result type of __has_key__. [*Semantics]: Returns `mpl::true_` if `Seq` contains an element with key type `Key`, returns `mpl::false_` otherwise. -/sequence/intrinsic/has_key.hpp> +[heading Header] + + #include + #include [heading Example] typedef __map__<__pair__, __pair__, __pair__ > mymap; @@ -1283,7 +1326,10 @@ you want to get the actual element type, use __result_of_value_at_key__]. [*Semantics]: Returns the result of using __at_key__ to access the element with key type `Key` in `Seq`. -/sequence/intrinsic/at_key.hpp> +[heading Header] + + #include + #include [heading Example] typedef __map__<__pair__, __pair__, __pair__ > mymap; @@ -1319,8 +1365,11 @@ Returns the actual element type associated with a Key from the __sequence__. [*Semantics]: Returns the actual element type associated with key type `Key` in `Seq`. -/sequence/intrinsic/value_at_key.hpp> +[heading Header] + #include + #include + [heading Example] typedef __map__<__pair__, __pair__, __pair__ > mymap; BOOST_MPL_ASSERT((boost::is_same<__result_of_at_key__::type, char>)); @@ -1351,7 +1400,10 @@ Returns the return type of swap. [*Semantics]: Always returns `void`. -/sequence/intrinsic/swap.hpp> +[heading Header] + + #include + #include [endsect] diff --git a/doc/support.qbk b/doc/support.qbk index 6418766e..c607911b 100644 --- a/doc/support.qbk +++ b/doc/support.qbk @@ -202,26 +202,7 @@ __sequence_concepts__). [*Return type]: -For Iterators, the return type is derived from one of: - - namespace boost { namespace fusion - { - struct incrementable_traversal_tag {}; - - struct single_pass_traversal_tag - : incrementable_traversal_tag {}; - - struct forward_traversal_tag - : single_pass_traversal_tag {}; - - struct bidirectional_traversal_tag - : forward_traversal_tag {}; - - struct random_access_traversal_tag - : bidirectional_traversal_tag {}; - }} - -For Sequences, the return type is derived from one of: +The return type is derived from one of: namespace boost { namespace fusion { @@ -363,7 +344,7 @@ constructor accepting the original type as its argument. Fusion `pair` type is a half runtime pair. A half runtime pair is similar to a __std_pair__, but, unlike __std_pair__, the first type does not have data. -It is used as elements in __map__s, for example. +It is used as elements in __map__\ s, for example. [heading Synopsis] diff --git a/doc/view.qbk b/doc/view.qbk index 313ff8cc..0395558a 100644 --- a/doc/view.qbk +++ b/doc/view.qbk @@ -101,6 +101,7 @@ presents only those elements for which its predicate evaluates to [heading Model of] * __forward_sequence__ +* __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [variablelist Notation [[`F`] [A `filter_view` type]] @@ -111,7 +112,7 @@ presents only those elements for which its predicate evaluates to [heading Expression Semantics] Semantics of an expression is defined only where it differs from, or is not -defined in __forward_sequence__. +defined in the implemented models. [table [[Expression] [Semantics]] @@ -164,6 +165,7 @@ by a pair of iterators. * __forward_sequence__, __bidirectional_sequence__ or __random_access_sequence__ depending on the traversal characteristics (see __traversal_concept__) of its underlying sequence. +* __associative_sequence__ if `First` and `Last` implement the __associative_iterator__ model. [variablelist Notation [[`IR`] [An `iterator_range` type]] @@ -175,7 +177,7 @@ __traversal_concept__) of its underlying sequence. [heading Expression Semantics] Semantics of an expression is defined only where it differs from, or is not -defined in __forward_sequence__. +defined in the implemented models. [table [[Expression] [Semantics]] @@ -230,6 +232,7 @@ defined in __forward_sequence__. [heading Model of] * __forward_sequence__ +* __associative_sequence__ if `Sequence1` and `Sequence2` implement the __associative_sequence__ model. [variablelist Notation [[`JV`] [A `joint_view` type]] @@ -241,7 +244,7 @@ defined in __forward_sequence__. [heading Expression Semantics] Semantics of an expression is defined only where it differs from, or is not -defined in __forward_sequence__. +defined in the implemented models. [table [[Expression] [Semantics]] @@ -443,7 +446,7 @@ element will be its last and the last element will be its first. [heading Model of] -* __bidirectional_sequence__ +A model of the same sequence concept as `Sequence`. [variablelist Notation [[`RV`] [A `reverse_view` type]] @@ -454,7 +457,7 @@ element will be its last and the last element will be its first. [heading Expression Semantics] Semantics of an expression is defined only where it differs from, or is not -defined in __bidirectional_sequence__. +defined in the implemented models. [table [[Expression] [Semantics]] diff --git a/include/boost/fusion/include/deref_data.hpp b/include/boost/fusion/include/deref_data.hpp new file mode 100644 index 00000000..24d4e7cf --- /dev/null +++ b/include/boost/fusion/include/deref_data.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + 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_INCLUDE_DEREF_DATA_HPP +#define BOOST_FUSION_INCLUDE_DEREF_DATA_HPP + +#include + +#endif diff --git a/include/boost/fusion/include/key_of.hpp b/include/boost/fusion/include/key_of.hpp new file mode 100644 index 00000000..cb29f571 --- /dev/null +++ b/include/boost/fusion/include/key_of.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + 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_INCLUDE_KEY_OF_HPP +#define BOOST_FUSION_INCLUDE_KEY_OF_HPP + +#include + +#endif diff --git a/include/boost/fusion/include/value_of_data.hpp b/include/boost/fusion/include/value_of_data.hpp new file mode 100644 index 00000000..6884185f --- /dev/null +++ b/include/boost/fusion/include/value_of_data.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + 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_INCLUDE_VALUE_OF_DATA_HPP +#define BOOST_FUSION_INCLUDE_VALUE_OF_DATA_HPP + +#include + +#endif From 60fabbdf9a125cee9998d0e3809ca0658712eee6 Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Fri, 30 Oct 2009 15:14:50 +0000 Subject: [PATCH 14/36] Fusion: adding a missing 'const' [SVN r57248] --- include/boost/fusion/algorithm/query/find_if.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/fusion/algorithm/query/find_if.hpp b/include/boost/fusion/algorithm/query/find_if.hpp index 6b96cc71..3950958c 100644 --- a/include/boost/fusion/algorithm/query/find_if.hpp +++ b/include/boost/fusion/algorithm/query/find_if.hpp @@ -55,7 +55,7 @@ namespace boost { namespace fusion inline typename result_of::find_if::type const find_if(Sequence const& seq) { - typedef typename result_of::find_if::filter filter; + typedef typename result_of::find_if::filter filter; return filter::call(fusion::begin(seq)); } }} From 65895017bdf172a6dc5e6a46d1b20302410ca355 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Tue, 3 Nov 2009 17:35:33 +0000 Subject: [PATCH 15/36] associative_sequence_tag -> associative_tag [SVN r57337] --- changelist.txt | 5 ++-- doc/html/fusion/adapted.html | 2 +- doc/html/fusion/adapted/adapt_assoc.html | 10 ++++---- doc/html/fusion/adapted/adapt_struct.html | 10 ++++---- doc/html/fusion/adapted/boost__array.html | 8 +++--- doc/html/fusion/adapted/boost__tuple.html | 8 +++--- doc/html/fusion/adapted/mpl_sequence.html | 8 +++--- doc/html/fusion/adapted/std__pair.html | 8 +++--- doc/html/fusion/algorithm.html | 6 ++--- doc/html/fusion/algorithm/iteration.html | 2 +- .../iteration/functions/accumulate.html | 14 +++++------ .../algorithm/iteration/functions/fold.html | 14 +++++------ .../iteration/functions/for_each.html | 14 +++++------ .../iteration/metafunctions/accumulate.html | 12 ++++----- .../iteration/metafunctions/fold.html | 12 ++++----- .../iteration/metafunctions/for_each.html | 12 ++++----- doc/html/fusion/algorithm/query.html | 2 +- .../fusion/algorithm/query/functions/all.html | 14 +++++------ .../fusion/algorithm/query/functions/any.html | 14 +++++------ .../algorithm/query/functions/count.html | 14 +++++------ .../algorithm/query/functions/count_if.html | 14 +++++------ .../algorithm/query/functions/find.html | 14 +++++------ .../algorithm/query/functions/find_if.html | 12 ++++----- .../algorithm/query/functions/none.html | 14 +++++------ .../algorithm/query/metafunctions/all.html | 12 ++++----- .../algorithm/query/metafunctions/any.html | 12 ++++----- .../algorithm/query/metafunctions/count.html | 12 ++++----- .../query/metafunctions/count_if.html | 12 ++++----- .../algorithm/query/metafunctions/find.html | 12 ++++----- .../query/metafunctions/find_if.html | 12 ++++----- .../algorithm/query/metafunctions/none.html | 12 ++++----- doc/html/fusion/algorithm/transformation.html | 2 +- .../transformation/functions/clear.html | 14 +++++------ .../transformation/functions/erase.html | 14 +++++------ .../transformation/functions/erase_key.html | 14 +++++------ .../transformation/functions/filter.html | 14 +++++------ .../transformation/functions/filter_if.html | 14 +++++------ .../transformation/functions/insert.html | 14 +++++------ .../functions/insert_range.html | 14 +++++------ .../transformation/functions/join.html | 14 +++++------ .../transformation/functions/pop_back.html | 14 +++++------ .../transformation/functions/pop_front.html | 14 +++++------ .../transformation/functions/push_back.html | 14 +++++------ .../transformation/functions/push_front.html | 14 +++++------ .../transformation/functions/remove.html | 14 +++++------ .../transformation/functions/remove_if.html | 14 +++++------ .../transformation/functions/replace.html | 14 +++++------ .../transformation/functions/replace_if.html | 14 +++++------ .../transformation/functions/reverse.html | 14 +++++------ .../transformation/functions/transform.html | 18 ++++++------- .../transformation/functions/zip.html | 14 +++++------ .../transformation/metafunctions/clear.html | 12 ++++----- .../transformation/metafunctions/erase.html | 12 ++++----- .../metafunctions/erase_key.html | 12 ++++----- .../transformation/metafunctions/filter.html | 12 ++++----- .../metafunctions/filter_if.html | 12 ++++----- .../transformation/metafunctions/insert.html | 12 ++++----- .../metafunctions/insert_range.html | 12 ++++----- .../transformation/metafunctions/join.html | 10 ++++---- .../metafunctions/pop_back.html | 12 ++++----- .../metafunctions/pop_front.html | 12 ++++----- .../metafunctions/push_back.html | 12 ++++----- .../metafunctions/push_front.html | 12 ++++----- .../transformation/metafunctions/remove.html | 12 ++++----- .../metafunctions/remove_if.html | 12 ++++----- .../transformation/metafunctions/replace.html | 12 ++++----- .../metafunctions/replace_if.html | 12 ++++----- .../transformation/metafunctions/reverse.html | 12 ++++----- .../metafunctions/transform.html | 18 ++++++------- .../transformation/metafunctions/zip.html | 10 ++++---- doc/html/fusion/container.html | 2 +- doc/html/fusion/container/cons.html | 14 +++++------ doc/html/fusion/container/conversion.html | 2 +- .../conversion/functions/as_list.html | 12 ++++----- .../conversion/functions/as_map.html | 12 ++++----- .../conversion/functions/as_set.html | 12 ++++----- .../conversion/functions/as_vector.html | 12 ++++----- .../conversion/metafunctions/as_list.html | 12 ++++----- .../conversion/metafunctions/as_map.html | 12 ++++----- .../conversion/metafunctions/as_set.html | 12 ++++----- .../conversion/metafunctions/as_vector.html | 12 ++++----- doc/html/fusion/container/generation.html | 2 +- .../generation/functions/list_tie.html | 12 ++++----- .../generation/functions/make_cons.html | 14 +++++------ .../generation/functions/make_list.html | 14 +++++------ .../generation/functions/make_map.html | 14 +++++------ .../generation/functions/make_set.html | 14 +++++------ .../generation/functions/make_vector.html | 14 +++++------ .../generation/functions/map_tie.html | 12 ++++----- .../container/generation/functions/tiers.html | 6 ++--- .../generation/functions/vector_tie.html | 12 ++++----- .../generation/metafunctions/list_tie.html | 12 ++++----- .../generation/metafunctions/make_cons.html | 12 ++++----- .../generation/metafunctions/make_list.html | 12 ++++----- .../generation/metafunctions/make_map.html | 14 +++++------ .../generation/metafunctions/make_set.html | 12 ++++----- .../generation/metafunctions/make_vector.html | 12 ++++----- .../generation/metafunctions/map_tie.html | 12 ++++----- .../generation/metafunctions/vector_tie.html | 12 ++++----- doc/html/fusion/container/list.html | 14 +++++------ doc/html/fusion/container/map.html | 14 +++++------ doc/html/fusion/container/set.html | 14 +++++------ doc/html/fusion/container/vector.html | 14 +++++------ doc/html/fusion/extension/ext_full.html | 16 ++++++------ .../fusion/extension/iterator_facade.html | 14 +++++------ .../fusion/extension/sequence_facade.html | 14 +++++------ doc/html/fusion/functional.html | 8 +++--- .../fusion/functional/adapters/fused.html | 16 ++++++------ .../adapters/fused_function_object.html | 16 ++++++------ .../functional/adapters/fused_procedure.html | 16 ++++++------ .../fusion/functional/adapters/limits.html | 4 +-- .../fusion/functional/adapters/unfused.html | 16 ++++++------ .../functional/adapters/unfused_typed.html | 16 ++++++------ .../fusion/functional/concepts/callable.html | 6 ++--- .../functional/concepts/def_callable.html | 10 ++++---- doc/html/fusion/functional/concepts/poly.html | 10 ++++---- .../functional/concepts/reg_callable.html | 10 ++++---- .../generation/functions/mk_fused.html | 14 +++++------ .../generation/functions/mk_fused_fobj.html | 14 +++++------ .../generation/functions/mk_fused_proc.html | 14 +++++------ .../generation/functions/mk_unfused.html | 14 +++++------ .../generation/metafunctions/mk_fused.html | 8 +++--- .../metafunctions/mk_fused_fobj.html | 8 +++--- .../metafunctions/mk_fused_proc.html | 8 +++--- .../generation/metafunctions/mk_unfused.html | 8 +++--- .../invocation/functions/invoke.html | 14 +++++------ .../invocation/functions/invoke_fobj.html | 14 +++++------ .../invocation/functions/invoke_proc.html | 14 +++++------ .../fusion/functional/invocation/limits.html | 4 +-- .../invocation/metafunctions/invoke.html | 6 ++--- .../invocation/metafunctions/invoke_fobj.html | 6 ++--- .../invocation/metafunctions/invoke_proc.html | 6 ++--- doc/html/fusion/introduction.html | 4 +-- doc/html/fusion/iterator.html | 2 +- .../concepts/associative_iterator.html | 10 ++++---- .../concepts/bidirectional_iterator.html | 14 +++++------ .../iterator/concepts/forward_iterator.html | 12 ++++----- .../concepts/random_access_iterator.html | 10 ++++---- .../fusion/iterator/functions/advance.html | 12 ++++----- .../fusion/iterator/functions/advance_c.html | 12 ++++----- doc/html/fusion/iterator/functions/deref.html | 12 ++++----- .../fusion/iterator/functions/deref_data.html | 12 ++++----- .../fusion/iterator/functions/distance.html | 12 ++++----- doc/html/fusion/iterator/functions/next.html | 12 ++++----- doc/html/fusion/iterator/functions/prior.html | 12 ++++----- .../iterator/metafunctions/advance.html | 12 ++++----- .../iterator/metafunctions/advance_c.html | 12 ++++----- .../fusion/iterator/metafunctions/deref.html | 12 ++++----- .../iterator/metafunctions/deref_data.html | 12 ++++----- .../iterator/metafunctions/distance.html | 12 ++++----- .../iterator/metafunctions/equal_to.html | 12 ++++----- .../fusion/iterator/metafunctions/key_of.html | 12 ++++----- .../fusion/iterator/metafunctions/next.html | 12 ++++----- .../fusion/iterator/metafunctions/prior.html | 12 ++++----- .../iterator/metafunctions/value_of.html | 12 ++++----- .../iterator/metafunctions/value_of_data.html | 12 ++++----- .../iterator/operator/operator_equality.html | 10 ++++---- .../operator/operator_inequality.html | 10 ++++---- .../operator/operator_unary_star.html | 12 ++++----- doc/html/fusion/notes.html | 16 ++++++------ doc/html/fusion/organization.html | 10 ++++---- doc/html/fusion/preface.html | 10 ++++---- doc/html/fusion/quick_start.html | 16 ++++++------ doc/html/fusion/sequence.html | 2 +- doc/html/fusion/sequence/concepts.html | 4 +-- .../concepts/associative_sequence.html | 10 ++++---- .../concepts/bidirectional_sequence.html | 12 ++++----- .../sequence/concepts/forward_sequence.html | 12 ++++----- .../concepts/random_access_sequence.html | 12 ++++----- doc/html/fusion/sequence/intrinsic.html | 6 ++--- .../sequence/intrinsic/functions/at.html | 12 ++++----- .../sequence/intrinsic/functions/at_c.html | 12 ++++----- .../sequence/intrinsic/functions/at_key.html | 12 ++++----- .../sequence/intrinsic/functions/back.html | 12 ++++----- .../sequence/intrinsic/functions/begin.html | 12 ++++----- .../sequence/intrinsic/functions/empty.html | 12 ++++----- .../sequence/intrinsic/functions/end.html | 12 ++++----- .../sequence/intrinsic/functions/front.html | 12 ++++----- .../sequence/intrinsic/functions/has_key.html | 12 ++++----- .../sequence/intrinsic/functions/size.html | 12 ++++----- .../sequence/intrinsic/functions/swap.html | 10 ++++---- .../sequence/intrinsic/metafunctions/at.html | 16 ++++++------ .../intrinsic/metafunctions/at_c.html | 16 ++++++------ .../intrinsic/metafunctions/at_key.html | 16 ++++++------ .../intrinsic/metafunctions/back.html | 12 ++++----- .../intrinsic/metafunctions/begin.html | 12 ++++----- .../intrinsic/metafunctions/empty.html | 12 ++++----- .../sequence/intrinsic/metafunctions/end.html | 12 ++++----- .../intrinsic/metafunctions/front.html | 12 ++++----- .../intrinsic/metafunctions/has_key.html | 12 ++++----- .../intrinsic/metafunctions/size.html | 12 ++++----- .../intrinsic/metafunctions/swap.html | 10 ++++---- .../intrinsic/metafunctions/value_at.html | 12 ++++----- .../intrinsic/metafunctions/value_at_c.html | 12 ++++----- .../intrinsic/metafunctions/value_at_key.html | 12 ++++----- .../fusion/sequence/operator/comparison.html | 2 +- .../sequence/operator/comparison/equal.html | 12 ++++----- .../operator/comparison/greater_than.html | 10 ++++---- .../comparison/greater_than_equal.html | 10 ++++---- .../operator/comparison/less_than.html | 10 ++++---- .../operator/comparison/less_than_equal.html | 10 ++++---- .../operator/comparison/not_equal.html | 10 ++++---- doc/html/fusion/sequence/operator/i_o.html | 2 +- doc/html/fusion/sequence/operator/i_o/in.html | 12 ++++----- .../fusion/sequence/operator/i_o/out.html | 12 ++++----- doc/html/fusion/support/category_of.html | 14 +++++------ doc/html/fusion/support/deduce.html | 10 ++++---- doc/html/fusion/support/deduce_sequence.html | 10 ++++---- doc/html/fusion/support/is_sequence.html | 12 ++++----- doc/html/fusion/support/is_view.html | 12 ++++----- doc/html/fusion/support/pair.html | 12 ++++----- doc/html/fusion/support/tag_of.html | 12 ++++----- .../fusion/tuple/class_template_tuple.html | 2 +- .../class_template_tuple/construction.html | 4 +-- .../class_template_tuple/element_access.html | 4 +-- .../relational_operators.html | 4 +-- .../tuple_creation_functions.html | 4 +-- .../tuple_helper_classes.html | 4 +-- doc/html/fusion/tuple/pairs.html | 4 +-- doc/html/fusion/view.html | 2 +- doc/html/fusion/view/filter_view.html | 14 +++++------ doc/html/fusion/view/iterator_range.html | 14 +++++------ doc/html/fusion/view/joint_view.html | 14 +++++------ doc/html/fusion/view/nview.html | 14 +++++------ doc/html/fusion/view/reverse_view.html | 25 ++++++++++++------- doc/html/fusion/view/single_view.html | 12 ++++----- doc/html/fusion/view/transform_view.html | 12 ++++----- doc/html/fusion/view/zip_view.html | 14 +++++------ doc/html/index.html | 4 +-- doc/support.qbk | 2 +- doc/view.qbk | 3 ++- example/extension/detail/category_of_impl.hpp | 2 +- include/boost/fusion/algorithm/query/find.hpp | 2 -- include/boost/fusion/container/map/map.hpp | 2 +- include/boost/fusion/container/set/set.hpp | 2 +- include/boost/fusion/support/category_of.hpp | 4 +-- .../fusion/view/filter_view/filter_view.hpp | 2 +- .../fusion/view/joint_view/joint_view.hpp | 2 +- .../fusion/view/reverse_view/reverse_view.hpp | 6 ++--- 239 files changed, 1305 insertions(+), 1298 deletions(-) diff --git a/changelist.txt b/changelist.txt index 0ec99b22..33dfac83 100644 --- a/changelist.txt +++ b/changelist.txt @@ -5,5 +5,6 @@ Interface Changes - September 24, 2009: added nview and friends - October 12, 2009: the accumulator is the first argument to the functor of fold and accumulate. Fixes Boost Trac Ticket #2355. -- October 30, 2009: Added support for associative iterators & views. Fixes - Boost Trac Ticket #3473. +- October 30, 2009: Added support for associative iterators & views. + Renamd associative_sequence_tag to associative_tag. Fixes Boost Trac + Ticket #3473. diff --git a/doc/html/fusion/adapted.html b/doc/html/fusion/adapted.html index c7f8e1e1..593172fd 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 18b58de6..f6250667 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 ecb8fea6..ba35d185 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 03d3af56..e5fe8697 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 77927116..8b6dd0f4 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 abb17037..8e2cf64b 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 b5a1d1a1..c9d2cf3b 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 3faa3782..9fabfd0e 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 610b0261..4acf98be 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 211daf32..2851849d 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 a5dc5922..f5a032a4 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 21f5afea..fe3a9142 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 62c43ef6..1b0c6410 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 fa65a293..681cefb4 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 d15bcd05..f4817301 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 b8aa272a..a3183d00 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 ffaf6be6..f7f954f9 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 80045c83..252ac7b6 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 6cc902d2..bdf3ac88 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 c62990f1..be6ad55f 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 f1cebaa2..da1b4500 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 ea894ebd..e0f4c866 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 6ff7f23a..4e00a145 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 c932cb14..5ea46152 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 0076de8f..262e6ebd 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 f3ffb484..8a5eb983 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 88d3dcfb..2a969a95 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 f03ccdd6..8db4e56a 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 f53e68f9..a5412221 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 821d967e..d4e9717f 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 7cb55c08..d8612278 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 0d1ad10b..5b080159 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 4c190ab2..d7803241 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 10a93363..0182949d 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 e940298d..8b7622dc 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 6f3b9d56..4a1babc1 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 57107705..907b9960 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 0f066d8b..95106072 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 c72655d4..6c1fef88 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 cf2f5dd2..b0acb6cb 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 685a4a95..b96e0677 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 7e2327d2..a5805e7d 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 8df4815d..75ed98c9 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 50200f29..28d095c0 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 99fbb05b..df618dcd 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 3d8f2df2..d49e0aa2 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 060777b0..4914f208 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 f58a0cb0..4ed4ee00 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
@@ -115,21 +115,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 5c218807..4f61a0d7 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 8b5dcffe..fcca97e0 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 92877226..fa0b9cc8 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 0122d950..62a88793 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 fd778beb..aefb39e1 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 9fd475a7..6cc433a6 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 8c286843..d1584a5e 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 461d7a25..6442d639 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 4c84cc92..7db82ee0 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 90144f25..9daf0b29 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 07126462..18cf879c 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 35097865..41a9349c 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 a3ca9ab8..2f30917e 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 2dc255c6..44b536ad 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 b0c35d55..13d09788 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 2f7f4c1b..1d1eb149 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 6717f02b..98e90b79 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 41d17aac..de10b39b 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 25e27171..fb00ee7b 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
@@ -118,14 +118,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 10d39493..155c5883 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 8524320e..42574d06 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 322ae7a9..21b88e9d 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 ec018f91..40e232d8 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 74eb030d..63a8fa11 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 2982fba6..a8a8f5de 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 7b1471cc..7eb0986e 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 c53308d9..f254606d 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 92e4a850..910c13be 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 6a394daa..148380fd 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 2edac668..54b58677 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 157da053..0e6edc1b 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 0ef5f318..02eae311 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 12b28ef5..4f18f589 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 fc8b14f7..9892a94d 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 107e14cd..ff354c44 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 73814f0d..68a5edb8 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 fe7e4cdd..aff5a531 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 6e69498a..4e391c6a 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 5f2f1e64..91f57004 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 5d7d8c1e..82fa4659 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 49949e49..f94a42ca 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 83a3e051..1de9c5c2 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 76c9daa5..cffa631a 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 e96bab2d..f2400eef 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 b2e62b89..07f83ac7 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 615677c7..3be14999 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 2ee25d9a..9ef28461 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 49353a70..44798099 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 154f53db..e89a8f4c 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 e9e97662..ca4b04aa 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 235b5592..88300a29 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 941e396b..be0fd8fe 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 f62bc35f..fef903fb 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 c1bd235f..b0821c84 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 b23ba503..1ddb774e 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
@@ -323,7 +323,7 @@

- + Implementing the remaining iterator functionality
@@ -375,7 +375,7 @@ are provided in the example code.

- + Implementing the intrinsic functions of the sequence
@@ -431,7 +431,7 @@ value_at_impl and at_impl.

- + Enabling our type as an associative container
@@ -498,7 +498,7 @@ of is_associative_impl.

- + Summary

diff --git a/doc/html/fusion/extension/iterator_facade.html b/doc/html/fusion/extension/iterator_facade.html index 47d9d6b4..57be40ee 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

@@ -365,14 +365,14 @@

- + 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 04d5acad..12aac94e 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 2412e1fc..c5d32590 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 59cef3f5..42727bfa 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 7b07c053..844cff46 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 5e921585..164715b1 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 8e30bbf7..38d51212 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 57d74043..5150754c 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 dcbb6e46..6c413a8d 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 26afb6c7..d322f154 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 93edd73e..3ff2a3bb 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 56e27bab..5bb16989 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 d62a3079..4359eaa9 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 71bb87cd..a6a52e6b 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 97392ab9..68c9df90 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 2a9d4dc4..840e3808 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 605baed6..2a72ef6f 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 9b2aa132..257385fe 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 97cdc013..8d1ba40f 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 37cf01be..6fcc8cc7 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 063d8b42..e1151f0d 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 4911d688..acddcfd7 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 feadf6c7..5f7730e1 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 a38b09b1..9b6ff6a9 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 f12ab8c5..9172b14a 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 a9f367fc..1ac4b188 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 afbc76de..b74ebb77 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 7daa3477..3a5c58ac 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 d20f29b6..5f9f191a 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 dbb42e55..c993f3c8 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 8760db1b..d988a1b3 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 ba898c38..6e9b1a59 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 4ea7245a..ec8d2e19 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 7cfd3d42..eadc58ea 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 48c18056..4d5da4f6 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 5497daa4..68d755b9 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 8c6c51ab..2fa7526a 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 cc82f3f5..449b3997 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 5f4e7816..eee22322 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 2b0cca48..336b434c 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 090681de..160c2d18 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 9a78295a..a23f810c 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 fe456c8c..9340fdf9 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 a0a165dd..08b2d5d5 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 0df181a5..ff422adf 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 9e54386d..6c8657ef 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 ecf65f9e..f7a93aca 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 55356c2c..bb0a3617 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 e5d4e350..cf20ab2f 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 d42f9808..906f97c9 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 8c85ea75..c0cccf0a 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 7b978b71..f60577ee 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 debda0f3..3f205f49 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 9e156273..27d881d1 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 c4a94f7c..fee2f390 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 0e61bcd5..c64cf551 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 05ca9807..d1fb4fcc 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 47d353ae..c0ca0e00 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 c10f5e91..aa528786 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 c267e16a..36849b2e 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 8fb42718..7509cacd 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 8c234513..79be45a4 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 b80d73b5..1b448850 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 f0105472..0ab32e09 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 62850c60..1ff1a528 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 d9d8a3de..97df41e2 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 5553ca55..799c578e 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 21b9782d..6faa93c8 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 dbe814da..fcde2054 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 e39524d9..e1181f36 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 6b1f3f30..6ae7c5b7 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 802caf6a..941e6969 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 fbb905e6..bba5c407 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 e6f73b70..3741d7da 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 1037f55d..90e0a036 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 3a3732f0..e60339b2 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 6ed387ec..12734b3d 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 f50592e5..87542acc 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 b3bc0c1e..8b8f1dda 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 46065887..46b5030b 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 d0b51999..317acc9f 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 b3de01de..0b3ca791 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 a8a54dd9..846333f1 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 c87b7f0f..a74fe71b 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 c58512b1..44e19cb4 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 424a3a30..334e21b3 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 2219819f..3fb7facb 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 b61958b9..f2a145cb 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 8be851f4..4c1a95c4 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 fb23c905..7ba53e71 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 e2afd3ba..1ca36f7c 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 5b9e7ac2..c007bde6 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 23f65285..06073430 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 2fb8d36f..58c42370 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 7b238302..9e641a9d 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 b08a00b8..5e21f506 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 5be7d8d5..03cf874c 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 b87c8919..7b0eea8a 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 4d04bd68..9540a643 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 1022a083..63487ee0 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 9ab8f979..3380a04e 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 d5ff5268..b766ec44 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
@@ -129,7 +129,7 @@

namespace boost { namespace fusion
 {
-    struct associative_sequence_tag {};
+    struct associative_tag {};
 }}
 

@@ -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 05a7dd61..d5a8ee78 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 ef036d6b..8c9d5525 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 4db68079..c8067daf 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 a561ed13..64dbe46e 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 bd08257a..b691ef9e 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 77925096..635b67b4 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 1a069594..8e502093 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 45336953..8481059b 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 987c0611..ca5c8c40 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 7d2470ed..cd5d0563 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 f9fc8731..9e9909c0 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 08f7f9fc..6c0c7e1c 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 5d4507a1..d39bdef1 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 9826ab6c..588982c5 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 e4651e16..32d56b42 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 f35ed5d5..2e180846 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 7a75cb6a..d047dbb4 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 91b29bad..a8838606 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 23398390..39d8f29f 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,12 +91,19 @@
- + Model of
-

- A model of the same sequence concept as Sequence. -

+

Notation

@@ -116,7 +123,7 @@
- + Expression Semantics
@@ -187,7 +194,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 fa4f8e27..f78b1509 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 fb0a12e0..c1410e20 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 3919f6e8..ab41fdcf 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 00586a26..a81e1976 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: October 30, 2009 at 00:09:36 GMT

Last revised: November 03, 2009 at 17:25:59 GMT


diff --git a/doc/support.qbk b/doc/support.qbk index c607911b..ec24a498 100644 --- a/doc/support.qbk +++ b/doc/support.qbk @@ -225,7 +225,7 @@ And optionally from: namespace boost { namespace fusion { - struct associative_sequence_tag {}; + struct associative_tag {}; }} [*Semantics]: Establishes the conceptual classification of a particular diff --git a/doc/view.qbk b/doc/view.qbk index 0395558a..7f260127 100644 --- a/doc/view.qbk +++ b/doc/view.qbk @@ -446,7 +446,8 @@ element will be its last and the last element will be its first. [heading Model of] -A model of the same sequence concept as `Sequence`. +* __bidirectional_sequence__ +* __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [variablelist Notation [[`RV`] [A `reverse_view` type]] diff --git a/example/extension/detail/category_of_impl.hpp b/example/extension/detail/category_of_impl.hpp index bbc8fe64..8420cbac 100644 --- a/example/extension/detail/category_of_impl.hpp +++ b/example/extension/detail/category_of_impl.hpp @@ -25,7 +25,7 @@ namespace boost { namespace fusion { template struct apply { - struct type : random_access_traversal_tag, associative_sequence_tag {}; + struct type : random_access_traversal_tag, associative_tag {}; }; }; } diff --git a/include/boost/fusion/algorithm/query/find.hpp b/include/boost/fusion/algorithm/query/find.hpp index 8816c9a5..6beb9005 100644 --- a/include/boost/fusion/algorithm/query/find.hpp +++ b/include/boost/fusion/algorithm/query/find.hpp @@ -20,8 +20,6 @@ namespace boost { namespace fusion { - struct associative_sequence_tag; - namespace result_of { template < diff --git a/include/boost/fusion/container/map/map.hpp b/include/boost/fusion/container/map/map.hpp index 1ecd906f..77fe2920 100644 --- a/include/boost/fusion/container/map/map.hpp +++ b/include/boost/fusion/container/map/map.hpp @@ -30,7 +30,7 @@ namespace boost { namespace fusion template struct map : sequence_base > { - struct category : forward_traversal_tag, associative_sequence_tag {}; + struct category : forward_traversal_tag, associative_tag {}; typedef map_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL diff --git a/include/boost/fusion/container/set/set.hpp b/include/boost/fusion/container/set/set.hpp index 52c0b5bd..62b91402 100644 --- a/include/boost/fusion/container/set/set.hpp +++ b/include/boost/fusion/container/set/set.hpp @@ -30,7 +30,7 @@ namespace boost { namespace fusion template struct set : sequence_base > { - struct category : forward_traversal_tag, associative_sequence_tag {}; + struct category : forward_traversal_tag, associative_tag {}; typedef set_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL diff --git a/include/boost/fusion/support/category_of.hpp b/include/boost/fusion/support/category_of.hpp index 4d38fb64..8877b347 100644 --- a/include/boost/fusion/support/category_of.hpp +++ b/include/boost/fusion/support/category_of.hpp @@ -33,7 +33,7 @@ namespace boost { namespace fusion struct random_access_traversal_tag : bidirectional_traversal_tag {}; - struct associative_sequence_tag {}; + struct associative_tag {}; namespace extension { @@ -68,7 +68,7 @@ namespace boost { namespace fusion template struct is_associative : is_base_of< - associative_sequence_tag + associative_tag , typename category_of::type> {}; diff --git a/include/boost/fusion/view/filter_view/filter_view.hpp b/include/boost/fusion/view/filter_view/filter_view.hpp index d913a8c8..c74476c7 100644 --- a/include/boost/fusion/view/filter_view/filter_view.hpp +++ b/include/boost/fusion/view/filter_view/filter_view.hpp @@ -36,7 +36,7 @@ namespace boost { namespace fusion typedef typename mpl::eval_if< traits::is_associative - , mpl::inherit2 + , mpl::inherit2 , mpl::identity >::type category; diff --git a/include/boost/fusion/view/joint_view/joint_view.hpp b/include/boost/fusion/view/joint_view/joint_view.hpp index 94404a98..48d912cd 100644 --- a/include/boost/fusion/view/joint_view/joint_view.hpp +++ b/include/boost/fusion/view/joint_view/joint_view.hpp @@ -40,7 +40,7 @@ namespace boost { namespace fusion traits::is_associative , traits::is_associative > - , mpl::inherit2 + , mpl::inherit2 , mpl::identity >::type category; diff --git a/include/boost/fusion/view/reverse_view/reverse_view.hpp b/include/boost/fusion/view/reverse_view/reverse_view.hpp index 08735d45..62bd15d7 100644 --- a/include/boost/fusion/view/reverse_view/reverse_view.hpp +++ b/include/boost/fusion/view/reverse_view/reverse_view.hpp @@ -28,6 +28,7 @@ namespace boost { namespace fusion { struct reverse_view_tag; struct fusion_sequence_tag; + struct bidirectional_traversal_tag; template struct reverse_view : sequence_base > @@ -35,13 +36,12 @@ namespace boost { namespace fusion typedef reverse_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::true_ is_view; - typedef typename traits::category_of::type seq_category; typedef typename mpl::eval_if< traits::is_associative - , mpl::inherit2 - , mpl::identity + , mpl::inherit2 + , mpl::identity >::type category; typedef typename result_of::begin::type first_type; From 03290abb853bbd4f3411b337a2b400e1d91afa8f Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Mon, 9 Nov 2009 03:57:40 +0000 Subject: [PATCH 16/36] Fusion: silenced a couple of MSVC warnings created during Spirit test runs [SVN r57502] --- include/boost/fusion/adapted/struct/struct_iterator.hpp | 4 ++++ include/boost/fusion/container/list/cons_iterator.hpp | 6 +++++- include/boost/fusion/container/vector/detail/vector_n.hpp | 6 +++--- include/boost/fusion/sequence/io/detail/in.hpp | 4 ++-- include/boost/fusion/sequence/io/detail/manip.hpp | 4 ++++ include/boost/fusion/sequence/io/detail/out.hpp | 4 ++-- include/boost/fusion/view/filter_view/filter_view.hpp | 4 ++++ include/boost/fusion/view/nview/nview_iterator.hpp | 4 ++++ .../boost/fusion/view/transform_view/transform_view.hpp | 4 ++++ .../view/transform_view/transform_view_iterator.hpp | 8 ++++++++ 10 files changed, 40 insertions(+), 8 deletions(-) diff --git a/include/boost/fusion/adapted/struct/struct_iterator.hpp b/include/boost/fusion/adapted/struct/struct_iterator.hpp index f2eb7ea9..fe26aa33 100644 --- a/include/boost/fusion/adapted/struct/struct_iterator.hpp +++ b/include/boost/fusion/adapted/struct/struct_iterator.hpp @@ -95,6 +95,10 @@ namespace boost { namespace fusion return type(); } }; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + struct_iterator& operator= (struct_iterator const&); }; }} diff --git a/include/boost/fusion/container/list/cons_iterator.hpp b/include/boost/fusion/container/list/cons_iterator.hpp index 7ef034e3..9d67a649 100644 --- a/include/boost/fusion/container/list/cons_iterator.hpp +++ b/include/boost/fusion/container/list/cons_iterator.hpp @@ -34,11 +34,15 @@ namespace boost { namespace fusion typedef cons_iterator_identity< typename add_const::type> identity; - + explicit cons_iterator(cons_type& cons) : cons(cons) {} cons_type& cons; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + cons_iterator& operator= (cons_iterator const&); }; struct nil_iterator : iterator_base diff --git a/include/boost/fusion/container/vector/detail/vector_n.hpp b/include/boost/fusion/container/vector/detail/vector_n.hpp index 2d9ac128..ea314ac2 100644 --- a/include/boost/fusion/container/vector/detail/vector_n.hpp +++ b/include/boost/fusion/container/vector/detail/vector_n.hpp @@ -105,7 +105,7 @@ BOOST_PP_CAT(vector, N)( Sequence const& seq #if (N == 1) - , typename disable_if >::type* dummy = 0 + , typename disable_if >::type* /*dummy*/ = 0 #endif ) : base_type(base_type::init_from_sequence(seq)) {} @@ -133,14 +133,14 @@ template typename add_reference::type>::type - at_impl(I i) + at_impl(I) { return this->at_impl(mpl::int_()); } template typename add_reference::type>::type>::type - at_impl(I i) const + at_impl(I) const { return this->at_impl(mpl::int_()); } diff --git a/include/boost/fusion/sequence/io/detail/in.hpp b/include/boost/fusion/sequence/io/detail/in.hpp index cd772514..b0620284 100644 --- a/include/boost/fusion/sequence/io/detail/in.hpp +++ b/include/boost/fusion/sequence/io/detail/in.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion { namespace detail template static void - read(IS& is, char const* delim, mpl::true_) + read(IS&, char const*, mpl::true_) { } }; @@ -44,7 +44,7 @@ namespace boost { namespace fusion { namespace detail { template static void - call(IS& is, First const&, Last const&, mpl::true_) + call(IS&, First const&, Last const&, mpl::true_) { } diff --git a/include/boost/fusion/sequence/io/detail/manip.hpp b/include/boost/fusion/sequence/io/detail/manip.hpp index dd9a5265..988f8bc2 100644 --- a/include/boost/fusion/sequence/io/detail/manip.hpp +++ b/include/boost/fusion/sequence/io/detail/manip.hpp @@ -146,6 +146,10 @@ namespace boost { namespace fusion } Stream& stream; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + string_ios_manip& operator= (string_ios_manip const&); }; } // detail diff --git a/include/boost/fusion/sequence/io/detail/out.hpp b/include/boost/fusion/sequence/io/detail/out.hpp index c8ab2085..6d0c28a7 100644 --- a/include/boost/fusion/sequence/io/detail/out.hpp +++ b/include/boost/fusion/sequence/io/detail/out.hpp @@ -35,7 +35,7 @@ namespace boost { namespace fusion { namespace detail template static void - print(OS& os, char const* delim, mpl::true_) + print(OS&, char const*, mpl::true_) { } }; @@ -44,7 +44,7 @@ namespace boost { namespace fusion { namespace detail { template static void - call(OS& os, First const&, Last const&, mpl::true_) + call(OS&, First const&, Last const&, mpl::true_) { } diff --git a/include/boost/fusion/view/filter_view/filter_view.hpp b/include/boost/fusion/view/filter_view/filter_view.hpp index c74476c7..69f17329 100644 --- a/include/boost/fusion/view/filter_view/filter_view.hpp +++ b/include/boost/fusion/view/filter_view/filter_view.hpp @@ -53,6 +53,10 @@ namespace boost { namespace fusion first_type first() const { return fusion::begin(seq); } last_type last() const { return fusion::end(seq); } typename mpl::if_, Sequence, Sequence&>::type seq; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + filter_view& operator= (filter_view const&); }; }} diff --git a/include/boost/fusion/view/nview/nview_iterator.hpp b/include/boost/fusion/view/nview/nview_iterator.hpp index 60895093..4fc06a85 100644 --- a/include/boost/fusion/view/nview/nview_iterator.hpp +++ b/include/boost/fusion/view/nview/nview_iterator.hpp @@ -45,6 +45,10 @@ namespace boost { namespace fusion : seq(seq) {} Sequence& seq; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + nview_iterator& operator= (nview_iterator const&); }; }} diff --git a/include/boost/fusion/view/transform_view/transform_view.hpp b/include/boost/fusion/view/transform_view/transform_view.hpp index fcf876a0..78b6560e 100644 --- a/include/boost/fusion/view/transform_view/transform_view.hpp +++ b/include/boost/fusion/view/transform_view/transform_view.hpp @@ -99,6 +99,10 @@ namespace boost { namespace fusion last_type last() const { return fusion::end(seq); } typename mpl::if_, Sequence, Sequence&>::type seq; transform_type f; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + transform_view& operator= (transform_view const&); }; }} diff --git a/include/boost/fusion/view/transform_view/transform_view_iterator.hpp b/include/boost/fusion/view/transform_view/transform_view_iterator.hpp index bb4b6afd..fde67323 100644 --- a/include/boost/fusion/view/transform_view/transform_view_iterator.hpp +++ b/include/boost/fusion/view/transform_view/transform_view_iterator.hpp @@ -39,6 +39,10 @@ namespace boost { namespace fusion first_type first; transform_type f; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + transform_view_iterator& operator= (transform_view_iterator const&); }; // Binary Version @@ -62,6 +66,10 @@ namespace boost { namespace fusion first1_type first1; first2_type first2; transform_type f; + + private: + // silence MSVC warning C4512: assignment operator could not be generated + transform_view_iterator2& operator= (transform_view_iterator2 const&); }; }} From f1da55c1e9c5ef9bccd8bc674e04478871b0bc59 Mon Sep 17 00:00:00 2001 From: Eric Niebler Date: Fri, 13 Nov 2009 02:52:34 +0000 Subject: [PATCH 17/36] avoid iterator invalidation in segmented_range, fixes #3583 [SVN r57622] --- .../fusion/view/ext_/segmented_iterator.hpp | 56 ++++++++++++------- 1 file changed, 35 insertions(+), 21 deletions(-) diff --git a/include/boost/fusion/view/ext_/segmented_iterator.hpp b/include/boost/fusion/view/ext_/segmented_iterator.hpp index b28182a4..79bc707e 100644 --- a/include/boost/fusion/view/ext_/segmented_iterator.hpp +++ b/include/boost/fusion/view/ext_/segmented_iterator.hpp @@ -9,8 +9,10 @@ #define FUSION_SEGMENTED_ITERATOR_EAN_05032006_1027 #include +#include #include #include +#include #include #include #include @@ -20,6 +22,7 @@ #include #include // for nil #include +#include #include #include #include @@ -59,16 +62,15 @@ namespace boost { namespace fusion struct segmented_range_tag; //////////////////////////////////////////////////////////////////////////// - template + template struct segmented_range - : sequence_base > + : sequence_base > { BOOST_MPL_ASSERT_NOT((is_reference)); typedef mpl::bool_ is_segmented; typedef segmented_range_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL typedef mpl::true_ is_view; - typedef Iterator iterator_type; // If this is a range of segments, skip over the empty ones typedef typename mpl::if_< @@ -83,20 +85,34 @@ namespace boost { namespace fusion , sequence_non_ref_type & >::type sequence_type; + typedef + typename fusion::result_of::advance< + typename fusion::result_of::begin::type + , Index + >::type + iterator_type; + typedef typename traits::category_of::type category; explicit segmented_range(Sequence &sequence_) : sequence(sequence_type(sequence_)) - , where_(fusion::begin(sequence)) {} - segmented_range(sequence_type sequence_, iterator_type const &wh) + segmented_range(sequence_type sequence_, int) : sequence(sequence_) - , where_(wh) {} + iterator_type where_() const + { + return fusion::advance( + fusion::begin(const_cast(this->sequence)) + ); + } + sequence_type sequence; - iterator_type where_; + + private: + segmented_range &operator =(segmented_range const &); }; } @@ -148,7 +164,7 @@ namespace boost { namespace fusion typedef typename Sequence::iterator_type type; static type call(Sequence &seq) { - return seq.where_; + return seq.where_(); } }; }; @@ -176,15 +192,15 @@ namespace boost { namespace fusion template struct range_next; - template - struct range_next > + template + struct range_next > { - typedef typename result_of::next::type iterator_type; - typedef segmented_range type; + typedef typename mpl::next::type index_type; + typedef segmented_range type; - static type call(segmented_range const &rng) + static type call(segmented_range const &rng) { - return type(rng.sequence, fusion::next(rng.where_)); + return type(rng.sequence, 0); } }; @@ -205,8 +221,7 @@ namespace boost { namespace fusion { typedef typename result_of::segments::type segments; typedef typename remove_reference::type sequence; - typedef typename result_of::begin >::type begin; - typedef segmented_range type; + typedef segmented_range, true> type; static type call(Sequence &seq) { @@ -219,8 +234,7 @@ namespace boost { namespace fusion struct as_segmented_range { typedef typename remove_reference::type sequence; - typedef typename result_of::begin::type begin; - typedef segmented_range type; + typedef segmented_range, false> type; static type call(Sequence &seq) { @@ -228,10 +242,10 @@ namespace boost { namespace fusion } }; - template - struct as_segmented_range, IsSegmented> + template + struct as_segmented_range, IsSegmented> { - typedef segmented_range type; + typedef segmented_range type; static type &call(type &seq) { return seq; From 2587757d47ea0a4036801a4e52894c9bd375f269 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Fri, 11 Dec 2009 21:01:22 +0000 Subject: [PATCH 18/36] corrected reverse_view [SVN r58299] --- doc/algorithm.qbk | 6 ++- doc/html/fusion/acknowledgements.html | 8 ++-- doc/html/fusion/adapted.html | 10 ++--- doc/html/fusion/adapted/adapt_assoc.html | 16 ++++---- doc/html/fusion/adapted/adapt_struct.html | 16 ++++---- doc/html/fusion/adapted/boost__array.html | 14 +++---- doc/html/fusion/adapted/boost__tuple.html | 14 +++---- doc/html/fusion/adapted/mpl_sequence.html | 14 +++---- doc/html/fusion/adapted/std__pair.html | 14 +++---- doc/html/fusion/algorithm.html | 14 +++---- doc/html/fusion/algorithm/iteration.html | 8 ++-- .../fusion/algorithm/iteration/functions.html | 6 +-- .../iteration/functions/accumulate.html | 20 ++++----- .../algorithm/iteration/functions/fold.html | 20 ++++----- .../iteration/functions/for_each.html | 20 ++++----- .../algorithm/iteration/metafunctions.html | 6 +-- .../iteration/metafunctions/accumulate.html | 18 ++++---- .../iteration/metafunctions/fold.html | 18 ++++---- .../iteration/metafunctions/for_each.html | 18 ++++---- doc/html/fusion/algorithm/query.html | 8 ++-- .../fusion/algorithm/query/functions.html | 6 +-- .../fusion/algorithm/query/functions/all.html | 20 ++++----- .../fusion/algorithm/query/functions/any.html | 20 ++++----- .../algorithm/query/functions/count.html | 20 ++++----- .../algorithm/query/functions/count_if.html | 20 ++++----- .../algorithm/query/functions/find.html | 20 ++++----- .../algorithm/query/functions/find_if.html | 18 ++++---- .../algorithm/query/functions/none.html | 20 ++++----- .../fusion/algorithm/query/metafunctions.html | 6 +-- .../algorithm/query/metafunctions/all.html | 18 ++++---- .../algorithm/query/metafunctions/any.html | 18 ++++---- .../algorithm/query/metafunctions/count.html | 18 ++++---- .../query/metafunctions/count_if.html | 18 ++++---- .../algorithm/query/metafunctions/find.html | 18 ++++---- .../query/metafunctions/find_if.html | 18 ++++---- .../algorithm/query/metafunctions/none.html | 18 ++++---- doc/html/fusion/algorithm/transformation.html | 8 ++-- .../algorithm/transformation/functions.html | 6 +-- .../transformation/functions/clear.html | 20 ++++----- .../transformation/functions/erase.html | 20 ++++----- .../transformation/functions/erase_key.html | 20 ++++----- .../transformation/functions/filter.html | 20 ++++----- .../transformation/functions/filter_if.html | 20 ++++----- .../transformation/functions/insert.html | 20 ++++----- .../functions/insert_range.html | 20 ++++----- .../transformation/functions/join.html | 20 ++++----- .../transformation/functions/pop_back.html | 20 ++++----- .../transformation/functions/pop_front.html | 20 ++++----- .../transformation/functions/push_back.html | 20 ++++----- .../transformation/functions/push_front.html | 20 ++++----- .../transformation/functions/remove.html | 20 ++++----- .../transformation/functions/remove_if.html | 20 ++++----- .../transformation/functions/replace.html | 20 ++++----- .../transformation/functions/replace_if.html | 20 ++++----- .../transformation/functions/reverse.html | 27 +++++++----- .../transformation/functions/transform.html | 24 +++++------ .../transformation/functions/zip.html | 20 ++++----- .../transformation/metafunctions.html | 6 +-- .../transformation/metafunctions/clear.html | 18 ++++---- .../transformation/metafunctions/erase.html | 18 ++++---- .../metafunctions/erase_key.html | 18 ++++---- .../transformation/metafunctions/filter.html | 18 ++++---- .../metafunctions/filter_if.html | 18 ++++---- .../transformation/metafunctions/insert.html | 18 ++++---- .../metafunctions/insert_range.html | 18 ++++---- .../transformation/metafunctions/join.html | 16 ++++---- .../metafunctions/pop_back.html | 18 ++++---- .../metafunctions/pop_front.html | 18 ++++---- .../metafunctions/push_back.html | 18 ++++---- .../metafunctions/push_front.html | 18 ++++---- .../transformation/metafunctions/remove.html | 18 ++++---- .../metafunctions/remove_if.html | 18 ++++---- .../transformation/metafunctions/replace.html | 18 ++++---- .../metafunctions/replace_if.html | 18 ++++---- .../transformation/metafunctions/reverse.html | 25 ++++++----- .../metafunctions/transform.html | 24 +++++------ .../transformation/metafunctions/zip.html | 16 ++++---- doc/html/fusion/change_log.html | 8 ++-- doc/html/fusion/container.html | 10 ++--- doc/html/fusion/container/cons.html | 20 ++++----- doc/html/fusion/container/conversion.html | 8 ++-- .../container/conversion/functions.html | 6 +-- .../conversion/functions/as_list.html | 18 ++++---- .../conversion/functions/as_map.html | 18 ++++---- .../conversion/functions/as_set.html | 18 ++++---- .../conversion/functions/as_vector.html | 18 ++++---- .../container/conversion/metafunctions.html | 6 +-- .../conversion/metafunctions/as_list.html | 18 ++++---- .../conversion/metafunctions/as_map.html | 18 ++++---- .../conversion/metafunctions/as_set.html | 18 ++++---- .../conversion/metafunctions/as_vector.html | 18 ++++---- doc/html/fusion/container/generation.html | 8 ++-- .../container/generation/functions.html | 6 +-- .../generation/functions/list_tie.html | 18 ++++---- .../generation/functions/make_cons.html | 20 ++++----- .../generation/functions/make_list.html | 20 ++++----- .../generation/functions/make_map.html | 20 ++++----- .../generation/functions/make_set.html | 20 ++++----- .../generation/functions/make_vector.html | 20 ++++----- .../generation/functions/map_tie.html | 18 ++++---- .../container/generation/functions/tiers.html | 12 +++--- .../generation/functions/vector_tie.html | 18 ++++---- .../container/generation/metafunctions.html | 6 +-- .../generation/metafunctions/list_tie.html | 18 ++++---- .../generation/metafunctions/make_cons.html | 18 ++++---- .../generation/metafunctions/make_list.html | 18 ++++---- .../generation/metafunctions/make_map.html | 20 ++++----- .../generation/metafunctions/make_set.html | 18 ++++---- .../generation/metafunctions/make_vector.html | 18 ++++---- .../generation/metafunctions/map_tie.html | 18 ++++---- .../generation/metafunctions/vector_tie.html | 18 ++++---- doc/html/fusion/container/list.html | 20 ++++----- doc/html/fusion/container/map.html | 20 ++++----- doc/html/fusion/container/set.html | 20 ++++----- doc/html/fusion/container/vector.html | 20 ++++----- doc/html/fusion/extension.html | 8 ++-- doc/html/fusion/extension/ext_full.html | 22 +++++----- .../fusion/extension/iterator_facade.html | 20 ++++----- .../fusion/extension/sequence_facade.html | 20 ++++----- doc/html/fusion/functional.html | 16 ++++---- doc/html/fusion/functional/adapters.html | 6 +-- .../fusion/functional/adapters/fused.html | 22 +++++----- .../adapters/fused_function_object.html | 22 +++++----- .../functional/adapters/fused_procedure.html | 22 +++++----- .../fusion/functional/adapters/limits.html | 10 ++--- .../fusion/functional/adapters/unfused.html | 22 +++++----- .../functional/adapters/unfused_typed.html | 22 +++++----- doc/html/fusion/functional/concepts.html | 6 +-- .../fusion/functional/concepts/callable.html | 12 +++--- .../functional/concepts/def_callable.html | 16 ++++---- doc/html/fusion/functional/concepts/poly.html | 16 ++++---- .../functional/concepts/reg_callable.html | 16 ++++---- doc/html/fusion/functional/generation.html | 6 +-- .../functional/generation/functions.html | 6 +-- .../generation/functions/mk_fused.html | 20 ++++----- .../generation/functions/mk_fused_fobj.html | 20 ++++----- .../generation/functions/mk_fused_proc.html | 20 ++++----- .../generation/functions/mk_unfused.html | 20 ++++----- .../functional/generation/metafunctions.html | 6 +-- .../generation/metafunctions/mk_fused.html | 14 +++---- .../metafunctions/mk_fused_fobj.html | 14 +++---- .../metafunctions/mk_fused_proc.html | 14 +++---- .../generation/metafunctions/mk_unfused.html | 14 +++---- doc/html/fusion/functional/invocation.html | 6 +-- .../functional/invocation/functions.html | 6 +-- .../invocation/functions/invoke.html | 20 ++++----- .../invocation/functions/invoke_fobj.html | 20 ++++----- .../invocation/functions/invoke_proc.html | 20 ++++----- .../fusion/functional/invocation/limits.html | 10 ++--- .../functional/invocation/metafunctions.html | 6 +-- .../invocation/metafunctions/invoke.html | 12 +++--- .../invocation/metafunctions/invoke_fobj.html | 12 +++--- .../invocation/metafunctions/invoke_proc.html | 12 +++--- doc/html/fusion/introduction.html | 12 +++--- doc/html/fusion/iterator.html | 10 ++--- doc/html/fusion/iterator/concepts.html | 6 +-- .../concepts/associative_iterator.html | 16 ++++---- .../concepts/bidirectional_iterator.html | 20 ++++----- .../iterator/concepts/forward_iterator.html | 18 ++++---- .../concepts/random_access_iterator.html | 16 ++++---- doc/html/fusion/iterator/functions.html | 6 +-- .../fusion/iterator/functions/advance.html | 18 ++++---- .../fusion/iterator/functions/advance_c.html | 18 ++++---- doc/html/fusion/iterator/functions/deref.html | 18 ++++---- .../fusion/iterator/functions/deref_data.html | 18 ++++---- .../fusion/iterator/functions/distance.html | 18 ++++---- doc/html/fusion/iterator/functions/next.html | 18 ++++---- doc/html/fusion/iterator/functions/prior.html | 18 ++++---- doc/html/fusion/iterator/metafunctions.html | 6 +-- .../iterator/metafunctions/advance.html | 18 ++++---- .../iterator/metafunctions/advance_c.html | 18 ++++---- .../fusion/iterator/metafunctions/deref.html | 18 ++++---- .../iterator/metafunctions/deref_data.html | 18 ++++---- .../iterator/metafunctions/distance.html | 18 ++++---- .../iterator/metafunctions/equal_to.html | 18 ++++---- .../fusion/iterator/metafunctions/key_of.html | 18 ++++---- .../fusion/iterator/metafunctions/next.html | 18 ++++---- .../fusion/iterator/metafunctions/prior.html | 18 ++++---- .../iterator/metafunctions/value_of.html | 18 ++++---- .../iterator/metafunctions/value_of_data.html | 18 ++++---- doc/html/fusion/iterator/operator.html | 6 +-- .../iterator/operator/operator_equality.html | 16 ++++---- .../operator/operator_inequality.html | 16 ++++---- .../operator/operator_unary_star.html | 18 ++++---- doc/html/fusion/notes.html | 24 +++++------ doc/html/fusion/organization.html | 18 ++++---- doc/html/fusion/preface.html | 20 ++++----- doc/html/fusion/quick_start.html | 24 +++++------ doc/html/fusion/references.html | 8 ++-- doc/html/fusion/sequence.html | 10 ++--- doc/html/fusion/sequence/concepts.html | 10 ++--- .../concepts/associative_sequence.html | 39 ++++++++++++++---- .../concepts/bidirectional_sequence.html | 20 ++++----- .../sequence/concepts/forward_sequence.html | 18 ++++---- .../concepts/random_access_sequence.html | 20 ++++----- doc/html/fusion/sequence/intrinsic.html | 12 +++--- .../fusion/sequence/intrinsic/functions.html | 6 +-- .../sequence/intrinsic/functions/at.html | 18 ++++---- .../sequence/intrinsic/functions/at_c.html | 18 ++++---- .../sequence/intrinsic/functions/at_key.html | 18 ++++---- .../sequence/intrinsic/functions/back.html | 18 ++++---- .../sequence/intrinsic/functions/begin.html | 18 ++++---- .../sequence/intrinsic/functions/empty.html | 18 ++++---- .../sequence/intrinsic/functions/end.html | 18 ++++---- .../sequence/intrinsic/functions/front.html | 18 ++++---- .../sequence/intrinsic/functions/has_key.html | 18 ++++---- .../sequence/intrinsic/functions/size.html | 18 ++++---- .../sequence/intrinsic/functions/swap.html | 16 ++++---- .../sequence/intrinsic/metafunctions.html | 6 +-- .../sequence/intrinsic/metafunctions/at.html | 22 +++++----- .../intrinsic/metafunctions/at_c.html | 22 +++++----- .../intrinsic/metafunctions/at_key.html | 22 +++++----- .../intrinsic/metafunctions/back.html | 18 ++++---- .../intrinsic/metafunctions/begin.html | 18 ++++---- .../intrinsic/metafunctions/empty.html | 18 ++++---- .../sequence/intrinsic/metafunctions/end.html | 18 ++++---- .../intrinsic/metafunctions/front.html | 18 ++++---- .../intrinsic/metafunctions/has_key.html | 18 ++++---- .../intrinsic/metafunctions/size.html | 18 ++++---- .../intrinsic/metafunctions/swap.html | 16 ++++---- .../intrinsic/metafunctions/value_at.html | 18 ++++---- .../intrinsic/metafunctions/value_at_c.html | 18 ++++---- .../intrinsic/metafunctions/value_at_key.html | 18 ++++---- doc/html/fusion/sequence/operator.html | 6 +-- .../fusion/sequence/operator/comparison.html | 8 ++-- .../sequence/operator/comparison/equal.html | 18 ++++---- .../operator/comparison/greater_than.html | 16 ++++---- .../comparison/greater_than_equal.html | 16 ++++---- .../operator/comparison/less_than.html | 16 ++++---- .../operator/comparison/less_than_equal.html | 16 ++++---- .../operator/comparison/not_equal.html | 16 ++++---- doc/html/fusion/sequence/operator/i_o.html | 8 ++-- doc/html/fusion/sequence/operator/i_o/in.html | 18 ++++---- .../fusion/sequence/operator/i_o/out.html | 18 ++++---- doc/html/fusion/support.html | 8 ++-- doc/html/fusion/support/category_of.html | 18 ++++---- doc/html/fusion/support/deduce.html | 16 ++++---- doc/html/fusion/support/deduce_sequence.html | 16 ++++---- doc/html/fusion/support/is_sequence.html | 18 ++++---- doc/html/fusion/support/is_view.html | 18 ++++---- doc/html/fusion/support/pair.html | 18 ++++---- doc/html/fusion/support/tag_of.html | 18 ++++---- doc/html/fusion/tuple.html | 8 ++-- .../fusion/tuple/class_template_tuple.html | 8 ++-- .../class_template_tuple/construction.html | 10 ++--- .../class_template_tuple/element_access.html | 10 ++--- .../relational_operators.html | 10 ++--- .../tuple_creation_functions.html | 10 ++--- .../tuple_helper_classes.html | 10 ++--- doc/html/fusion/tuple/pairs.html | 10 ++--- doc/html/fusion/view.html | 10 ++--- doc/html/fusion/view/filter_view.html | 20 ++++----- doc/html/fusion/view/iterator_range.html | 20 ++++----- doc/html/fusion/view/joint_view.html | 20 ++++----- doc/html/fusion/view/nview.html | 20 ++++----- doc/html/fusion/view/reverse_view.html | 29 ++++++++----- doc/html/fusion/view/single_view.html | 18 ++++---- doc/html/fusion/view/transform_view.html | 18 ++++---- doc/html/fusion/view/zip_view.html | 20 ++++----- doc/html/index.html | 16 ++++---- doc/sequence.qbk | 8 +++- doc/view.qbk | 3 +- .../view/reverse_view/detail/at_impl.hpp | 41 +++++++++++++++++++ .../reverse_view/detail/value_at_impl.hpp | 33 +++++++++++++++ .../fusion/view/reverse_view/reverse_view.hpp | 12 ++---- test/sequence/reverse_view.cpp | 23 +++++++++++ 266 files changed, 2236 insertions(+), 2096 deletions(-) create mode 100644 include/boost/fusion/view/reverse_view/detail/at_impl.hpp create mode 100644 include/boost/fusion/view/reverse_view/detail/value_at_impl.hpp diff --git a/doc/algorithm.qbk b/doc/algorithm.qbk index d0ab62ca..3fa194b2 100644 --- a/doc/algorithm.qbk +++ b/doc/algorithm.qbk @@ -1319,7 +1319,8 @@ Returns a new sequence with the elements of the original in reverse order. [*Return type]: -* A model of __bidirectional_sequence__. +* A model of __bidirectional_sequence__ if `seq` is a __bidirectional_sequence__ +else, __random_access_sequence__ if `seq` is a __random_access_sequence__. * A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence containing all the elements of `seq` in reverse order. @@ -2159,7 +2160,8 @@ Returns the result type of __reverse__, given the input sequence type. [*Return type]: -* A model of __bidirectional_sequence__. +* A model of __bidirectional_sequence__ if `Sequence` is a __bidirectional_sequence__ +else, __random_access_sequence__ if `Sequence` is a __random_access_sequence__. * A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with the elements in the reverse order to `Sequence`. diff --git a/doc/html/fusion/acknowledgements.html b/doc/html/fusion/acknowledgements.html index c6731325..d1f544ad 100644 --- a/doc/html/fusion/acknowledgements.html +++ b/doc/html/fusion/acknowledgements.html @@ -1,11 +1,11 @@ - + Acknowledgements - - + + @@ -43,7 +43,7 @@ -
-
- + Description

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

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

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

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

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

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

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

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

- + Lazy Evaluation

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

- + Sequence Extension

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

- + Header

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

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

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

Table 1.38. Parameters

+

Table 1.38. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.37. Parameters

+

Table 1.37. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.39. Parameters

+

Table 1.39. Parameters

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

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

- + Complexity

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

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

Returns the result type of accumulate.

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

Table 1.41. Parameters

+

Table 1.41. Parameters

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

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

- + Complexity

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

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

Returns the result type of fold.

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

Table 1.40. Parameters

+

Table 1.40. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.44. Parameters

+

Table 1.44. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.43. Parameters

+

Table 1.43. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.48. Parameters

+

Table 1.48. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.49. Parameters

+

Table 1.49. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.46. Parameters

+

Table 1.46. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.45. Parameters

+

Table 1.45. Parameters

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

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

- + Complexity

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

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

A metafunction returning the result type of all.

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

Table 1.51. Parameters

+

Table 1.51. Parameters

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

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

- + Complexity

Constant.

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

A metafunction returning the result type of any.

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

Table 1.50. Parameters

+

Table 1.50. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.55. Parameters

+

Table 1.55. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.56. Parameters

+

Table 1.56. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.53. Parameters

+

Table 1.53. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.54. Parameters

+

Table 1.54. Parameters

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

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

- + Complexity

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

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

A metafunction returning the result type of none.

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

Table 1.52. Parameters

+

Table 1.52. Parameters

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

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

- + Complexity

Constant.

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

clear returns an empty sequence.

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

Table 1.66. Parameters

+

Table 1.66. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.67. Parameters

+

Table 1.67. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.68. Parameters

+

Table 1.68. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.57. Parameters

+

Table 1.57. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.58. Parameters

+

Table 1.58. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.69. Parameters

+

Table 1.69. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.70. Parameters

+

Table 1.70. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.71. Parameters

+

Table 1.71. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.73. Parameters

+

Table 1.73. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.74. Parameters

+

Table 1.74. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.75. Parameters

+

Table 1.75. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.76. Parameters

+

Table 1.76. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.63. Parameters

+

Table 1.63. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.64. Parameters

+

Table 1.64. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.61. Parameters

+

Table 1.61. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.62. Parameters

+

Table 1.62. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.65. Parameters

+

Table 1.65. Parameters

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

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

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

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

Table 1.59. Parameters

+

Table 1.59. Parameters

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

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

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

Table 1.60. Parameters

+

Table 1.60. Parameters

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.72. Parameters

+

Table 1.72. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.86. Parameters

+

Table 1.86. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.88. Parameters

+

Table 1.88. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.77. Parameter

+

Table 1.77. Parameter

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

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

- + Complexity

Constant.

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

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

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

Table 1.78. Parameter

+

Table 1.78. Parameter

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

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

- + Complexity

Constant.

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

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

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

Table 1.89. Parameters

+

Table 1.89. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.90. Parameters

+

Table 1.90. Parameters

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

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

- + Complexity

Constant.

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

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

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

- + Complexity

Constant.

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

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

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

Table 1.91. Parameters

+

Table 1.91. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.92. Parameters

+

Table 1.92. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.93. Parameters

+

Table 1.93. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.94. Parameters

+

Table 1.94. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.83. Parameters

+

Table 1.83. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.84. Parameters

+

Table 1.84. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.81. Parameters

+

Table 1.81. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.82. Parameters

+

Table 1.82. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.85. Parameters

+

Table 1.85. Parameters

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

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

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

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

Table 1.79. Parameters

+

Table 1.79. Parameters

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

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

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

Table 1.80. Parameters

+

Table 1.80. Parameters

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

- + Complexity

Constant.

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

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

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

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

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

Convert a fusion sequence to a list.

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

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

Convert a fusion sequence to a map.

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

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

Convert a fusion sequence to a set.

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

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

Convert a fusion sequence to a vector.

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

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

Returns the result type of as_list.

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

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

Returns the result type of as_map.

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

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

Returns the result type of as_set.

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

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

Returns the result type of as_vector.

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

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

Constructs a tie using a list sequence.

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

Constructs a tie using a map sequence.

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

- + Header
#include <boost/fusion/container/generation/map_tie.hpp>
 #include <boost/fusion/include/map_tie.hpp>
 
- + Example
struct int_key;
@@ -156,7 +156,7 @@
 
 
-
- + Models
    diff --git a/doc/html/fusion/iterator/concepts/random_access_iterator.html b/doc/html/fusion/iterator/concepts/random_access_iterator.html index 305dadfd..6d17e974 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 9079c261..ebd93dd0 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 7ea34c91..4380cb26 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 d9da935c..b23f2718 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 0b4863ff..7a71b6e5 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 81dadc39..70c48dff 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 4b0fabd6..d9e96b99 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 e873a32a..c2bd4d5d 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 b7418136..83b28461 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 1b9f3ad1..2d1522ba 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 cc0cf002..e9a27614 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 2a43cbc2..3ed8e7f8 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 03dc38a4..73686f23 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 0bb836fa..4b8a5550 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 8888ef4d..9c970f1e 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 797f37b5..37aea6da 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 845a663a..8583e140 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 5649c487..28d2032b 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 4a6076a6..4d6f5b62 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 607387a3..de1bc5b4 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 6ba71408..9a49474d 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 94c5c648..f48d3a61 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 39fb7f42..8d0fbb3e 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 538c2eab..2f2b7a63 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 0dc17f18..bc0950f0 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 86112ed2..4f405b46 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 c92e7998..f8ab0fb4 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 b5b029fe..a47c5e4e 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 218bbfc2..539212ad 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 d808319f..62a5b62e 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 c54cd18e..538ccfd7 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 e638d96c..e9d3c047 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 d457a43f..df8f9ba1 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 787b0d0a..92dfbeef 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 e155e4a2..39e6e856 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 f3f7e8c9..5d81c668 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 5f90348a..0f985a0b 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 e1b2e5b2..37121c2b 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 37f1edd3..445fc6ae 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 0525b809..d4cbff1a 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 0b4bb902..186e4b4b 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 5c1d9f26..33f8d0af 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 e4eba0d6..7f3fae2a 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 dc4b074f..52bfcc4c 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 31637394..4755cc85 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 bc74903d..dfc97c63 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 326e2f38..664cb3c9 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 da5a0d28..3dc83d24 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 3405f0cb..10f7aae0 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 1fe22963..d508e701 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 90057870..5d4a67ba 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 896b9d1a..6f91732e 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 ab3b1e21..984c0337 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 d23ae608..d08cf066 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 21deab61..931c8783 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 34f7013e..19a1337e 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 ab36005b..505a1f71 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 56621586..0230713a 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 43bfe18c..ee3fd80e 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 292a662c..9a4fee50 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 bb97efd2..3a31942e 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 2434ac02..08d0a8d1 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 206166ef..c63042ef 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 a3a0433d..d33c2e85 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 0b9c01ad..b1ddf682 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 94bf51ff..0e558bef 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 ccc8e9f9..1c19d838 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 7d5140a5..07b99b2d 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 c89fe81f..90419c35 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
@@ -109,10 +109,10 @@

namespace boost { namespace fusion
 {
-    struct incrementable_sequence_tag {};
+    struct incrementable_traversal_tag {};
 
-    struct single_pass_sequence_tag
-        : incrementable_sequence_tag {};
+    struct single_pass_traversal_tag
+        : incrementable_traversal_tag {};
 
     struct forward_traversal_tag
         : single_pass_sequence_tag {};
@@ -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 234b4b7e..cf633595 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 b709a584..3173c758 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 ddc567e4..e87e2f3d 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 ed23c52c..acbff2d4 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 1305b1f3..e8b02cb4 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 8378d335..e24fa614 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 c0830f14..8cebf794 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 c2356ef1..3a0f4d97 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 79993269..b86f149e 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 6c1a8836..907b9c17 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 ae5eb385..cf121fa8 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 0eef6b48..59cbfbc3 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 932e1f5a..72318c53 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 9690dda8..39955c8a 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 7a5feaad..31d9556d 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 d15099b6..c951fdf7 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 dbf30226..15c7e645 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 9a31d944..86f4e0e6 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 935a5a6f..a3a98f40 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 d3331dc6..c3b7f782 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 eba81553..b6fd7d28 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 454d431d..7e436212 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 49cc0b31..c74e8686 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 29, 2009 at 13:36:01 GMT

Last revised: December 29, 2009 at 14:02:18 GMT


diff --git a/doc/support.qbk b/doc/support.qbk index ec24a498..a90d3383 100644 --- a/doc/support.qbk +++ b/doc/support.qbk @@ -206,10 +206,10 @@ The return type is derived from one of: namespace boost { namespace fusion { - struct incrementable_sequence_tag {}; + struct incrementable_traversal_tag {}; - struct single_pass_sequence_tag - : incrementable_sequence_tag {}; + struct single_pass_traversal_tag + : incrementable_traversal_tag {}; struct forward_traversal_tag : single_pass_sequence_tag {}; From f7fd836354878f2561cee9af0c3da79ccd2a9218 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Tue, 29 Dec 2009 18:29:59 +0000 Subject: [PATCH 23/36] corrected category_of documentation (2) [SVN r58568] --- doc/html/fusion/adapted.html | 2 +- doc/html/fusion/adapted/adapt_assoc.html | 10 +++++----- doc/html/fusion/adapted/adapt_struct.html | 10 +++++----- doc/html/fusion/adapted/boost__array.html | 8 ++++---- doc/html/fusion/adapted/boost__tuple.html | 8 ++++---- doc/html/fusion/adapted/mpl_sequence.html | 8 ++++---- doc/html/fusion/adapted/std__pair.html | 8 ++++---- doc/html/fusion/algorithm.html | 6 +++--- doc/html/fusion/algorithm/iteration.html | 2 +- .../iteration/functions/accumulate.html | 14 +++++++------- .../algorithm/iteration/functions/fold.html | 14 +++++++------- .../iteration/functions/for_each.html | 14 +++++++------- .../iteration/metafunctions/accumulate.html | 12 ++++++------ .../iteration/metafunctions/fold.html | 12 ++++++------ .../iteration/metafunctions/for_each.html | 12 ++++++------ doc/html/fusion/algorithm/query.html | 2 +- .../fusion/algorithm/query/functions/all.html | 14 +++++++------- .../fusion/algorithm/query/functions/any.html | 14 +++++++------- .../algorithm/query/functions/count.html | 14 +++++++------- .../algorithm/query/functions/count_if.html | 14 +++++++------- .../fusion/algorithm/query/functions/find.html | 14 +++++++------- .../algorithm/query/functions/find_if.html | 12 ++++++------ .../fusion/algorithm/query/functions/none.html | 14 +++++++------- .../algorithm/query/metafunctions/all.html | 12 ++++++------ .../algorithm/query/metafunctions/any.html | 12 ++++++------ .../algorithm/query/metafunctions/count.html | 12 ++++++------ .../query/metafunctions/count_if.html | 12 ++++++------ .../algorithm/query/metafunctions/find.html | 12 ++++++------ .../algorithm/query/metafunctions/find_if.html | 12 ++++++------ .../algorithm/query/metafunctions/none.html | 12 ++++++------ doc/html/fusion/algorithm/transformation.html | 2 +- .../transformation/functions/clear.html | 14 +++++++------- .../transformation/functions/erase.html | 14 +++++++------- .../transformation/functions/erase_key.html | 14 +++++++------- .../transformation/functions/filter.html | 14 +++++++------- .../transformation/functions/filter_if.html | 14 +++++++------- .../transformation/functions/insert.html | 14 +++++++------- .../transformation/functions/insert_range.html | 14 +++++++------- .../transformation/functions/join.html | 14 +++++++------- .../transformation/functions/pop_back.html | 14 +++++++------- .../transformation/functions/pop_front.html | 14 +++++++------- .../transformation/functions/push_back.html | 14 +++++++------- .../transformation/functions/push_front.html | 14 +++++++------- .../transformation/functions/remove.html | 14 +++++++------- .../transformation/functions/remove_if.html | 14 +++++++------- .../transformation/functions/replace.html | 14 +++++++------- .../transformation/functions/replace_if.html | 14 +++++++------- .../transformation/functions/reverse.html | 14 +++++++------- .../transformation/functions/transform.html | 18 +++++++++--------- .../transformation/functions/zip.html | 14 +++++++------- .../transformation/metafunctions/clear.html | 12 ++++++------ .../transformation/metafunctions/erase.html | 12 ++++++------ .../metafunctions/erase_key.html | 12 ++++++------ .../transformation/metafunctions/filter.html | 12 ++++++------ .../metafunctions/filter_if.html | 12 ++++++------ .../transformation/metafunctions/insert.html | 12 ++++++------ .../metafunctions/insert_range.html | 12 ++++++------ .../transformation/metafunctions/join.html | 10 +++++----- .../transformation/metafunctions/pop_back.html | 12 ++++++------ .../metafunctions/pop_front.html | 12 ++++++------ .../metafunctions/push_back.html | 12 ++++++------ .../metafunctions/push_front.html | 12 ++++++------ .../transformation/metafunctions/remove.html | 12 ++++++------ .../metafunctions/remove_if.html | 12 ++++++------ .../transformation/metafunctions/replace.html | 12 ++++++------ .../metafunctions/replace_if.html | 12 ++++++------ .../transformation/metafunctions/reverse.html | 12 ++++++------ .../metafunctions/transform.html | 18 +++++++++--------- .../transformation/metafunctions/zip.html | 10 +++++----- doc/html/fusion/container.html | 2 +- doc/html/fusion/container/cons.html | 14 +++++++------- doc/html/fusion/container/conversion.html | 2 +- .../conversion/functions/as_list.html | 12 ++++++------ .../container/conversion/functions/as_map.html | 12 ++++++------ .../container/conversion/functions/as_set.html | 12 ++++++------ .../conversion/functions/as_vector.html | 12 ++++++------ .../conversion/metafunctions/as_list.html | 12 ++++++------ .../conversion/metafunctions/as_map.html | 12 ++++++------ .../conversion/metafunctions/as_set.html | 12 ++++++------ .../conversion/metafunctions/as_vector.html | 12 ++++++------ doc/html/fusion/container/generation.html | 2 +- .../generation/functions/list_tie.html | 12 ++++++------ .../generation/functions/make_cons.html | 14 +++++++------- .../generation/functions/make_list.html | 14 +++++++------- .../generation/functions/make_map.html | 14 +++++++------- .../generation/functions/make_set.html | 14 +++++++------- .../generation/functions/make_vector.html | 14 +++++++------- .../generation/functions/map_tie.html | 12 ++++++------ .../container/generation/functions/tiers.html | 6 +++--- .../generation/functions/vector_tie.html | 12 ++++++------ .../generation/metafunctions/list_tie.html | 12 ++++++------ .../generation/metafunctions/make_cons.html | 12 ++++++------ .../generation/metafunctions/make_list.html | 12 ++++++------ .../generation/metafunctions/make_map.html | 14 +++++++------- .../generation/metafunctions/make_set.html | 12 ++++++------ .../generation/metafunctions/make_vector.html | 12 ++++++------ .../generation/metafunctions/map_tie.html | 12 ++++++------ .../generation/metafunctions/vector_tie.html | 12 ++++++------ doc/html/fusion/container/list.html | 14 +++++++------- doc/html/fusion/container/map.html | 14 +++++++------- doc/html/fusion/container/set.html | 14 +++++++------- doc/html/fusion/container/vector.html | 14 +++++++------- doc/html/fusion/extension/ext_full.html | 16 ++++++++-------- doc/html/fusion/extension/iterator_facade.html | 14 +++++++------- doc/html/fusion/extension/sequence_facade.html | 14 +++++++------- doc/html/fusion/functional.html | 8 ++++---- doc/html/fusion/functional/adapters/fused.html | 16 ++++++++-------- .../adapters/fused_function_object.html | 16 ++++++++-------- .../functional/adapters/fused_procedure.html | 16 ++++++++-------- .../fusion/functional/adapters/limits.html | 4 ++-- .../fusion/functional/adapters/unfused.html | 16 ++++++++-------- .../functional/adapters/unfused_typed.html | 16 ++++++++-------- .../fusion/functional/concepts/callable.html | 6 +++--- .../functional/concepts/def_callable.html | 10 +++++----- doc/html/fusion/functional/concepts/poly.html | 10 +++++----- .../functional/concepts/reg_callable.html | 10 +++++----- .../generation/functions/mk_fused.html | 14 +++++++------- .../generation/functions/mk_fused_fobj.html | 14 +++++++------- .../generation/functions/mk_fused_proc.html | 14 +++++++------- .../generation/functions/mk_unfused.html | 14 +++++++------- .../generation/metafunctions/mk_fused.html | 8 ++++---- .../metafunctions/mk_fused_fobj.html | 8 ++++---- .../metafunctions/mk_fused_proc.html | 8 ++++---- .../generation/metafunctions/mk_unfused.html | 8 ++++---- .../invocation/functions/invoke.html | 14 +++++++------- .../invocation/functions/invoke_fobj.html | 14 +++++++------- .../invocation/functions/invoke_proc.html | 14 +++++++------- .../fusion/functional/invocation/limits.html | 4 ++-- .../invocation/metafunctions/invoke.html | 6 +++--- .../invocation/metafunctions/invoke_fobj.html | 6 +++--- .../invocation/metafunctions/invoke_proc.html | 6 +++--- doc/html/fusion/introduction.html | 4 ++-- doc/html/fusion/iterator.html | 2 +- .../concepts/associative_iterator.html | 10 +++++----- .../concepts/bidirectional_iterator.html | 14 +++++++------- .../iterator/concepts/forward_iterator.html | 12 ++++++------ .../concepts/random_access_iterator.html | 10 +++++----- .../fusion/iterator/functions/advance.html | 12 ++++++------ .../fusion/iterator/functions/advance_c.html | 12 ++++++------ doc/html/fusion/iterator/functions/deref.html | 12 ++++++------ .../fusion/iterator/functions/deref_data.html | 12 ++++++------ .../fusion/iterator/functions/distance.html | 12 ++++++------ doc/html/fusion/iterator/functions/next.html | 12 ++++++------ doc/html/fusion/iterator/functions/prior.html | 12 ++++++------ .../fusion/iterator/metafunctions/advance.html | 12 ++++++------ .../iterator/metafunctions/advance_c.html | 12 ++++++------ .../fusion/iterator/metafunctions/deref.html | 12 ++++++------ .../iterator/metafunctions/deref_data.html | 12 ++++++------ .../iterator/metafunctions/distance.html | 12 ++++++------ .../iterator/metafunctions/equal_to.html | 12 ++++++------ .../fusion/iterator/metafunctions/key_of.html | 12 ++++++------ .../fusion/iterator/metafunctions/next.html | 12 ++++++------ .../fusion/iterator/metafunctions/prior.html | 12 ++++++------ .../iterator/metafunctions/value_of.html | 12 ++++++------ .../iterator/metafunctions/value_of_data.html | 12 ++++++------ .../iterator/operator/operator_equality.html | 10 +++++----- .../iterator/operator/operator_inequality.html | 10 +++++----- .../iterator/operator/operator_unary_star.html | 12 ++++++------ doc/html/fusion/notes.html | 16 ++++++++-------- doc/html/fusion/organization.html | 10 +++++----- doc/html/fusion/preface.html | 10 +++++----- doc/html/fusion/quick_start.html | 16 ++++++++-------- doc/html/fusion/sequence.html | 2 +- doc/html/fusion/sequence/concepts.html | 4 ++-- .../concepts/associative_sequence.html | 10 +++++----- .../concepts/bidirectional_sequence.html | 12 ++++++------ .../sequence/concepts/forward_sequence.html | 12 ++++++------ .../concepts/random_access_sequence.html | 12 ++++++------ doc/html/fusion/sequence/intrinsic.html | 6 +++--- .../sequence/intrinsic/functions/at.html | 12 ++++++------ .../sequence/intrinsic/functions/at_c.html | 12 ++++++------ .../sequence/intrinsic/functions/at_key.html | 12 ++++++------ .../sequence/intrinsic/functions/back.html | 12 ++++++------ .../sequence/intrinsic/functions/begin.html | 12 ++++++------ .../sequence/intrinsic/functions/empty.html | 12 ++++++------ .../sequence/intrinsic/functions/end.html | 12 ++++++------ .../sequence/intrinsic/functions/front.html | 12 ++++++------ .../sequence/intrinsic/functions/has_key.html | 12 ++++++------ .../sequence/intrinsic/functions/size.html | 12 ++++++------ .../sequence/intrinsic/functions/swap.html | 10 +++++----- .../sequence/intrinsic/metafunctions/at.html | 16 ++++++++-------- .../sequence/intrinsic/metafunctions/at_c.html | 16 ++++++++-------- .../intrinsic/metafunctions/at_key.html | 16 ++++++++-------- .../sequence/intrinsic/metafunctions/back.html | 12 ++++++------ .../intrinsic/metafunctions/begin.html | 12 ++++++------ .../intrinsic/metafunctions/empty.html | 12 ++++++------ .../sequence/intrinsic/metafunctions/end.html | 12 ++++++------ .../intrinsic/metafunctions/front.html | 12 ++++++------ .../intrinsic/metafunctions/has_key.html | 12 ++++++------ .../sequence/intrinsic/metafunctions/size.html | 12 ++++++------ .../sequence/intrinsic/metafunctions/swap.html | 10 +++++----- .../intrinsic/metafunctions/value_at.html | 12 ++++++------ .../intrinsic/metafunctions/value_at_c.html | 12 ++++++------ .../intrinsic/metafunctions/value_at_key.html | 12 ++++++------ .../fusion/sequence/operator/comparison.html | 2 +- .../sequence/operator/comparison/equal.html | 12 ++++++------ .../operator/comparison/greater_than.html | 10 +++++----- .../comparison/greater_than_equal.html | 10 +++++----- .../operator/comparison/less_than.html | 10 +++++----- .../operator/comparison/less_than_equal.html | 10 +++++----- .../operator/comparison/not_equal.html | 10 +++++----- doc/html/fusion/sequence/operator/i_o.html | 2 +- doc/html/fusion/sequence/operator/i_o/in.html | 12 ++++++------ doc/html/fusion/sequence/operator/i_o/out.html | 12 ++++++------ doc/html/fusion/support/category_of.html | 14 +++++++------- doc/html/fusion/support/deduce.html | 10 +++++----- doc/html/fusion/support/deduce_sequence.html | 10 +++++----- doc/html/fusion/support/is_sequence.html | 12 ++++++------ doc/html/fusion/support/is_view.html | 12 ++++++------ doc/html/fusion/support/pair.html | 12 ++++++------ doc/html/fusion/support/tag_of.html | 12 ++++++------ .../fusion/tuple/class_template_tuple.html | 2 +- .../class_template_tuple/construction.html | 4 ++-- .../class_template_tuple/element_access.html | 4 ++-- .../relational_operators.html | 4 ++-- .../tuple_creation_functions.html | 4 ++-- .../tuple_helper_classes.html | 4 ++-- doc/html/fusion/tuple/pairs.html | 4 ++-- doc/html/fusion/view.html | 2 +- doc/html/fusion/view/filter_view.html | 14 +++++++------- doc/html/fusion/view/iterator_range.html | 14 +++++++------- doc/html/fusion/view/joint_view.html | 14 +++++++------- doc/html/fusion/view/nview.html | 14 +++++++------- doc/html/fusion/view/reverse_view.html | 12 ++++++------ doc/html/fusion/view/single_view.html | 12 ++++++------ doc/html/fusion/view/transform_view.html | 12 ++++++------ doc/html/fusion/view/zip_view.html | 14 +++++++------- doc/html/index.html | 4 ++-- doc/support.qbk | 2 +- 229 files changed, 1280 insertions(+), 1280 deletions(-) diff --git a/doc/html/fusion/adapted.html b/doc/html/fusion/adapted.html index 26471c8c..beb3e6aa 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 53b95838..eb3a76d6 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 f48f5787..3719bf9d 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 e6c63b6d..b0aabd33 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 7c915bbe..e90a52e3 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 ae75bbf9..e801606b 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 27d18aa0..19c7ab19 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 4f9f60b6..7b8ab330 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 5c0f28d8..196b56f0 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 4e898a75..7b559a04 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 220fff41..5343479a 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 2b5c6c8c..81aa8f9b 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 ecafec73..09122217 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 174ad407..87a86e41 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 ba41cab6..5f8b4a42 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 a7f43a88..d93b96b9 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 416c1e03..851d318c 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 c0191c09..d90e4edb 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 f0eec86c..df90ba60 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 83696ada..1a706368 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 f66a87d3..cead1370 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 3335466c..60096844 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 75c0c0ea..feeed992 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 49486cb7..82ce09bc 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 3dc979c4..913292cd 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 8938ba1b..3b504e96 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 ac7a7ffc..02f10dc0 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 4f519703..6eeb4b49 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 ba5a7009..21546032 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 2d66cb3d..b5137049 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 19d8e790..9a96ba1b 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 ebb9b553..088bd15b 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 94582e39..1bb329a3 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 441f5e30..0365dfcf 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 d15997f6..e567f308 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 84fb6b4e..b0cf3d3c 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 089a8468..b50ea27f 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 5f705816..c1c5b5a2 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 e9f35d0b..db653f21 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 cdf4f181..71d16629 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 e858339a..5d32ce45 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 1f7a4c88..218ea784 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 831e725f..b3e628f9 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 87b5bde2..0a2f02ea 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 80ee05c2..22911110 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 4b5d50b5..2591cd69 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 f23534a0..49b63efe 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 2de57811..37bfd1d0 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 a085156a..b5f6003f 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 537de0fa..82304916 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 da030f46..c3055b77 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 3f10e46e..73ad8959 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 d65f5f1e..c5c1b08a 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 4db91423..2d9236c1 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 538c67f0..b4b65b1a 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 a04ae427..bb8e7538 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 8f9da84c..ac1e5f14 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 5b1a915c..ee4a7894 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 b4cb025f..d20ea2da 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 07e926bd..e87265cf 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 22c10043..de0911fd 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 32f8f763..73387e9b 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 1cb46819..519ae0d5 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 df898a08..4fe0e0ef 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 3c4f9780..b756d5a1 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 806d8b6a..b7d26a4f 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 85761786..e2b22ce0 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 dee71ffc..7d1c3e94 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 ed9c82f9..99187ce0 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 68a56047..cda425aa 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 1bb916be..844fb56d 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 be03b2a8..1c61f4f6 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 4140e3ac..1235bdef 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 c297d8b8..37e5379b 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 ecb825ae..af695532 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 d80a7d30..883bf503 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 3a6f75b3..410e455b 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 4b59131d..de9412aa 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 bcf9e9a7..1a3bf64f 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 8659e875..70a4a127 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 43d11c3f..f9999511 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 d061eaf2..33a824d3 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 76b890a5..eff0b797 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 315ddb47..8f5d19bd 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 1e2e48a1..f2781816 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 66a2a93b..d96886eb 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 27619ff8..f602297f 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 8103e2b2..6cbdb8ab 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 67535a89..4d76ec45 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 02ea4bac..88ec2dfa 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 1b407c6d..36b17b53 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 63d2262d..5d26d653 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 2850dad7..f6f28793 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 860c1dbb..de4129c4 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 1a896df8..0ea2b7c6 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 9349b166..b1a564d2 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 78900c5a..2acd4161 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 0af20d28..f9315495 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 07142702..4aec42ce 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 735e7c6d..41483836 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 cc4fb0b5..27152ebc 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 82e28503..458b2e16 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 863abb8f..a0787e0c 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
@@ -322,7 +322,7 @@

- + Implementing the remaining iterator functionality
@@ -373,7 +373,7 @@ are provided in the example code.

- + Implementing the intrinsic functions of the sequence
@@ -429,7 +429,7 @@ value_at_impl and at_impl.

- + Enabling our type as an associative sequence
@@ -493,7 +493,7 @@ are provided in the example code.

- + Summary

diff --git a/doc/html/fusion/extension/iterator_facade.html b/doc/html/fusion/extension/iterator_facade.html index 52396964..49b74580 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

@@ -435,14 +435,14 @@

- + 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 36c9d486..039f349d 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 66cf4a73..427b6aba 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 1f1ee7f2..1319a107 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 b9c26466..39ab6c3b 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 8d5bdf0e..43ab2e3f 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 bc5a39e0..f36d3bd4 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 29f95be3..54c7229d 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 b429515b..f4d23e0a 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 dba4b745..df1db4da 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 44bd2e16..56fc5adf 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 04752037..c8300289 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 bc61d094..7249e446 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 2cf281bf..fe800bf5 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 e8b36e51..a630a67b 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 355c7a84..b5808550 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 4138b2ae..bf13a28f 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 46bede22..c2b87eaa 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 9bd084d1..46a0a80d 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 ba386ecb..8c264124 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 683e62a2..5ad10ef3 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 87405364..b92bc23c 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 dbb246bc..f68cddfb 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 33fe4f4d..ba4b3560 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 f0d31b4c..24a522d3 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 47c30524..26fe36f8 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 7cf4e717..4fdc4b90 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 6bf3b1cb..a779304a 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 c258eec0..c11f10cf 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 77d9569d..24b786f9 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 533ff8a7..309b314c 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 137759c2..79878316 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 bb5e1381..e8d8c8ea 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 6d17e974..04f37615 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 ebd93dd0..d6ea36c1 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 4380cb26..6cdaf89f 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 b23f2718..f8496388 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 7a71b6e5..0f4092aa 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 70c48dff..449ceffa 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 d9e96b99..6c7be88d 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 c2bd4d5d..688f1f4e 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 83b28461..48c72717 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 2d1522ba..20c66d95 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 e9a27614..c54733ac 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 3ed8e7f8..140c292c 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 73686f23..a29d884f 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 4b8a5550..3e048154 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 9c970f1e..8e0b6f20 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 37aea6da..638b9985 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 8583e140..cafb37d7 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 28d2032b..e2c2af43 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 4d6f5b62..d14d922e 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 de1bc5b4..2c8b4170 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 9a49474d..bcd7468d 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 f48d3a61..c52f4216 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 8d0fbb3e..494350e5 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 2f2b7a63..b4a81b1d 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 bc0950f0..43f7f60e 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 4f405b46..9d2bc6a1 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 f8ab0fb4..ecac45e7 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 a47c5e4e..82b4d273 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 539212ad..6c9ca166 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 62a5b62e..9a38b700 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 538ccfd7..64ee321d 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 e9d3c047..2735b06d 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 df8f9ba1..33d310c2 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 92dfbeef..2e6f9895 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 39e6e856..3fcb7f6a 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 5d81c668..decbe7c3 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 0f985a0b..5e02ab00 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 37121c2b..f9ccf211 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 445fc6ae..ee713d13 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 d4cbff1a..f0055b03 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 186e4b4b..a6467a42 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 33f8d0af..3e9b9f07 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 7f3fae2a..54945730 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 52bfcc4c..e0b8e11a 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 4755cc85..e93f34e9 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 dfc97c63..27311720 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 664cb3c9..7ae7b6e2 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 3dc83d24..a2e0fd9a 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 10f7aae0..e8a35d28 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 d508e701..5dee4743 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 5d4a67ba..5ba2ef53 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 6f91732e..0428314e 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 984c0337..cdf59b02 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 d08cf066..62577c2c 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 931c8783..1bb080df 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 19a1337e..761a47ac 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 505a1f71..ba075a1f 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 0230713a..97f0adb5 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 ee3fd80e..6306aab6 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 9a4fee50..8e3f9757 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 3a31942e..7197b642 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 08d0a8d1..17f5979d 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 c63042ef..e0eb2c1c 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 d33c2e85..b2c03472 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 b1ddf682..70072299 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 0e558bef..2b1d4cc2 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 1c19d838..51030266 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 07b99b2d..224061f5 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 90419c35..175af66a 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
@@ -115,7 +115,7 @@ : incrementable_traversal_tag {}; struct forward_traversal_tag - : single_pass_sequence_tag {}; + : single_pass_traversal_tag {}; struct bidirectional_traversal_tag : forward_traversal_tag {}; @@ -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 cf633595..ac7fdeba 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 3173c758..d8c12462 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 e87e2f3d..a03532ee 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 acbff2d4..1a05d34c 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 e8b02cb4..e04e0199 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 e24fa614..bb1667e1 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 8cebf794..4ede42f6 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 3a0f4d97..0ad6dbcb 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 b86f149e..ae472e17 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 907b9c17..c3972485 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 cf121fa8..c376b80d 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 59cbfbc3..af861b00 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 72318c53..63f9ad31 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 39955c8a..157d61d7 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 31d9556d..a9ffa089 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 c951fdf7..dca63711 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 15c7e645..ec578a7b 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 86f4e0e6..85b9ec53 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 a3a98f40..095f4a9c 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 c3b7f782..278f5e63 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 b6fd7d28..6b51608b 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 7e436212..1c275ea5 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 c74e8686..a5c02b3f 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 29, 2009 at 14:02:18 GMT

Last revised: December 29, 2009 at 18:24:22 GMT


diff --git a/doc/support.qbk b/doc/support.qbk index a90d3383..dae8d031 100644 --- a/doc/support.qbk +++ b/doc/support.qbk @@ -212,7 +212,7 @@ The return type is derived from one of: : incrementable_traversal_tag {}; struct forward_traversal_tag - : single_pass_sequence_tag {}; + : single_pass_traversal_tag {}; struct bidirectional_traversal_tag : forward_traversal_tag {}; From dae19f178140d6f743f44b9c321cbdb09a2b0ce3 Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Wed, 27 Jan 2010 16:25:41 +0000 Subject: [PATCH 24/36] Fusion: adding overload for const parameter types [SVN r59276] --- include/boost/fusion/view/nview/nview.hpp | 7 +++++++ 1 file changed, 7 insertions(+) diff --git a/include/boost/fusion/view/nview/nview.hpp b/include/boost/fusion/view/nview/nview.hpp index fe8d35cf..bfb81976 100644 --- a/include/boost/fusion/view/nview/nview.hpp +++ b/include/boost/fusion/view/nview/nview.hpp @@ -57,6 +57,13 @@ namespace boost { namespace fusion { return x; } + + template + typename boost::result_of::type + operator()(T const& x) const + { + return x; + } }; } From e7c00c1843e03720a98104c6061bd3d6eaf48e2a Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Thu, 28 Jan 2010 21:27:32 +0000 Subject: [PATCH 25/36] Fusion adding ADAPT_NAMED_STRUCT [SVN r59335] --- include/boost/fusion/adapted/struct.hpp | 1 + .../adapted/struct/adapt_named_struct.hpp | 119 ++++++++++++++++++ 2 files changed, 120 insertions(+) create mode 100644 include/boost/fusion/adapted/struct/adapt_named_struct.hpp diff --git a/include/boost/fusion/adapted/struct.hpp b/include/boost/fusion/adapted/struct.hpp index c3c24e0b..fa92723c 100644 --- a/include/boost/fusion/adapted/struct.hpp +++ b/include/boost/fusion/adapted/struct.hpp @@ -10,6 +10,7 @@ #include #include +#include #include #include diff --git a/include/boost/fusion/adapted/struct/adapt_named_struct.hpp b/include/boost/fusion/adapted/struct/adapt_named_struct.hpp new file mode 100644 index 00000000..cc177480 --- /dev/null +++ b/include/boost/fusion/adapted/struct/adapt_named_struct.hpp @@ -0,0 +1,119 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + Copyright (c) 2009-2010 Hartmut Kaiser + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_NAMED_ADAPT_STRUCT_SEP_29_2009_0748PM) +#define BOOST_FUSION_NAMED_ADAPT_STRUCT_SEP_29_2009_0748PM + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BOOST_FUSION_ADAPT_NAMED_STRUCT(name, newname, bseq) \ + BOOST_FUSION_ADAPT_NAMED_STRUCT_I((())(name)(newname), \ + BOOST_PP_CAT(BOOST_FUSION_ADAPT_NAMED_STRUCT_X bseq, 0)) \ + /***/ + +#define BOOST_FUSION_ADAPT_NAMED_STRUCT_NS(name, ns, newname, bseq) \ + BOOST_FUSION_ADAPT_NAMED_STRUCT_I((ns)(name)(newname), \ + BOOST_PP_CAT(BOOST_FUSION_ADAPT_NAMED_STRUCT_X bseq, 0)) \ + /***/ + +#define BOOST_FUSION_ADAPT_NAMED_STRUCT_X(x, y) ((x, y)) BOOST_FUSION_ADAPT_NAMED_STRUCT_Y +#define BOOST_FUSION_ADAPT_NAMED_STRUCT_Y(x, y) ((x, y)) BOOST_FUSION_ADAPT_NAMED_STRUCT_X +#define BOOST_FUSION_ADAPT_NAMED_STRUCT_X0 +#define BOOST_FUSION_ADAPT_NAMED_STRUCT_Y0 + +// BOOST_FUSION_ADAPT_NAMED_STRUCT_I generates the overarching structure and uses +// uses SEQ_FOR_EACH_I to generate the "linear" substructures. +// Thanks to Paul Mensonides for the PP macro help + +#define BOOST_FUSION_ADAPT_NAMED_STRUCT_I(names, seq) \ + BOOST_PP_SEQ_FOR_EACH( \ + BOOST_FUSION_ADAPT_NAMED_STRUCT_NS_B, _, BOOST_PP_SEQ_ELEM(0, names)) \ + struct BOOST_PP_SEQ_ELEM(2, names) \ + { \ + BOOST_PP_SEQ_ELEM(2, names)(BOOST_PP_SEQ_ELEM(1, names)& s) \ + : s_(s) {} \ + BOOST_PP_SEQ_ELEM(1, names)& s_; \ + }; \ + BOOST_PP_SEQ_FOR_EACH( \ + BOOST_FUSION_ADAPT_NAMED_STRUCT_NS_E, _, BOOST_PP_SEQ_ELEM(0, names)) \ + namespace boost { namespace fusion { namespace traits \ + { \ + template <> \ + struct tag_of \ + { \ + typedef struct_tag type; \ + }; \ + }}} \ + \ + namespace boost { namespace mpl \ + { \ + template \ + struct sequence_tag; \ + \ + template<> \ + struct sequence_tag \ + { \ + typedef fusion::fusion_sequence_tag type; \ + }; \ + \ + template<> \ + struct sequence_tag \ + { \ + typedef fusion::fusion_sequence_tag type; \ + }; \ + }} \ + \ + namespace boost { namespace fusion { namespace extension \ + { \ + template <> \ + struct struct_size \ + : mpl::int_ {}; \ + BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_NAMED_STRUCT_C, names, seq) \ + }}} \ + /***/ + +#define BOOST_FUSION_ADAPT_NAMED_STRUCT_NS_B(r, _, ns) namespace ns { \ + /***/ +#define BOOST_FUSION_ADAPT_NAMED_STRUCT_NS_E(r, _, ns) } \ + /***/ + +#define BOOST_FUSION_ADAPT_NAMED_STRUCT_C(r, names, i, xy) \ + template <> \ + struct struct_member \ + { \ + typedef BOOST_PP_TUPLE_ELEM(2, 0, xy) type; \ + static type& call(BOOST_PP_SEQ_ELEM(1, names)& struct_) \ + { \ + return struct_.s_.BOOST_PP_TUPLE_ELEM(2, 1, xy); \ + } \ + }; \ + /***/ + +#endif + From 3873f007e84443e1263bdf2b574c99af1da58f3f Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Fri, 29 Jan 2010 01:58:50 +0000 Subject: [PATCH 26/36] Fusion: more work on adapt_struct_named [SVN r59337] --- include/boost/fusion/adapted/struct.hpp | 2 +- ...amed_struct.hpp => adapt_struct_named.hpp} | 77 +++++++++++-------- .../fusion/include/adapt_struct_named.hpp | 12 +++ 3 files changed, 56 insertions(+), 35 deletions(-) rename include/boost/fusion/adapted/struct/{adapt_named_struct.hpp => adapt_struct_named.hpp} (63%) create mode 100644 include/boost/fusion/include/adapt_struct_named.hpp diff --git a/include/boost/fusion/adapted/struct.hpp b/include/boost/fusion/adapted/struct.hpp index fa92723c..28a137ae 100644 --- a/include/boost/fusion/adapted/struct.hpp +++ b/include/boost/fusion/adapted/struct.hpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include diff --git a/include/boost/fusion/adapted/struct/adapt_named_struct.hpp b/include/boost/fusion/adapted/struct/adapt_struct_named.hpp similarity index 63% rename from include/boost/fusion/adapted/struct/adapt_named_struct.hpp rename to include/boost/fusion/adapted/struct/adapt_struct_named.hpp index cc177480..b77b9150 100644 --- a/include/boost/fusion/adapted/struct/adapt_named_struct.hpp +++ b/include/boost/fusion/adapted/struct/adapt_struct_named.hpp @@ -5,8 +5,8 @@ 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) ==============================================================================*/ -#if !defined(BOOST_FUSION_NAMED_ADAPT_STRUCT_SEP_29_2009_0748PM) -#define BOOST_FUSION_NAMED_ADAPT_STRUCT_SEP_29_2009_0748PM +#if !defined(BOOST_FUSION_ADAPT_STRUCT_NAMED_SEP_29_2009_0748PM) +#define BOOST_FUSION_ADAPT_STRUCT_NAMED_SEP_29_2009_0748PM #include #include @@ -31,41 +31,41 @@ #include #include #include +#include +#include -#define BOOST_FUSION_ADAPT_NAMED_STRUCT(name, newname, bseq) \ - BOOST_FUSION_ADAPT_NAMED_STRUCT_I((())(name)(newname), \ - BOOST_PP_CAT(BOOST_FUSION_ADAPT_NAMED_STRUCT_X bseq, 0)) \ +#define BOOST_FUSION_ADAPT_STRUCT_NAMED(name, newname, bseq) \ + BOOST_FUSION_ADAPT_STRUCT_NAMED_I(name, (boost)(fusion)(adapted), newname, \ + BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_NAMED_X bseq, 0)) \ /***/ -#define BOOST_FUSION_ADAPT_NAMED_STRUCT_NS(name, ns, newname, bseq) \ - BOOST_FUSION_ADAPT_NAMED_STRUCT_I((ns)(name)(newname), \ - BOOST_PP_CAT(BOOST_FUSION_ADAPT_NAMED_STRUCT_X bseq, 0)) \ +#define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS(name, ns, newname, bseq) \ + BOOST_FUSION_ADAPT_STRUCT_NAMED_I(name, ns, newname, \ + BOOST_PP_CAT(BOOST_FUSION_ADAPT_STRUCT_NAMED_X bseq, 0)) \ /***/ -#define BOOST_FUSION_ADAPT_NAMED_STRUCT_X(x, y) ((x, y)) BOOST_FUSION_ADAPT_NAMED_STRUCT_Y -#define BOOST_FUSION_ADAPT_NAMED_STRUCT_Y(x, y) ((x, y)) BOOST_FUSION_ADAPT_NAMED_STRUCT_X -#define BOOST_FUSION_ADAPT_NAMED_STRUCT_X0 -#define BOOST_FUSION_ADAPT_NAMED_STRUCT_Y0 +#define BOOST_FUSION_ADAPT_STRUCT_NAMED_X(x, y) ((x, y)) BOOST_FUSION_ADAPT_STRUCT_NAMED_Y +#define BOOST_FUSION_ADAPT_STRUCT_NAMED_Y(x, y) ((x, y)) BOOST_FUSION_ADAPT_STRUCT_NAMED_X +#define BOOST_FUSION_ADAPT_STRUCT_NAMED_X0 +#define BOOST_FUSION_ADAPT_STRUCT_NAMED_Y0 -// BOOST_FUSION_ADAPT_NAMED_STRUCT_I generates the overarching structure and uses +// BOOST_FUSION_ADAPT_STRUCT_NAMED_I generates the overarching structure and uses // uses SEQ_FOR_EACH_I to generate the "linear" substructures. // Thanks to Paul Mensonides for the PP macro help -#define BOOST_FUSION_ADAPT_NAMED_STRUCT_I(names, seq) \ - BOOST_PP_SEQ_FOR_EACH( \ - BOOST_FUSION_ADAPT_NAMED_STRUCT_NS_B, _, BOOST_PP_SEQ_ELEM(0, names)) \ - struct BOOST_PP_SEQ_ELEM(2, names) \ +#define BOOST_FUSION_ADAPT_STRUCT_NAMED_I(name, ns, newname, seq) \ + BOOST_PP_SEQ_FOR_EACH_R(1, BOOST_FUSION_ADAPT_STRUCT_NAMED_NS_B, _, ns) \ + struct newname \ { \ - BOOST_PP_SEQ_ELEM(2, names)(BOOST_PP_SEQ_ELEM(1, names)& s) \ - : s_(s) {} \ - BOOST_PP_SEQ_ELEM(1, names)& s_; \ + newname(name& s) : s_(s) {} \ + name& s_; \ }; \ - BOOST_PP_SEQ_FOR_EACH( \ - BOOST_FUSION_ADAPT_NAMED_STRUCT_NS_E, _, BOOST_PP_SEQ_ELEM(0, names)) \ + BOOST_PP_SEQ_FOR_EACH_R(1, BOOST_FUSION_ADAPT_STRUCT_NAMED_NS_E, _, ns) \ + \ namespace boost { namespace fusion { namespace traits \ { \ template <> \ - struct tag_of \ + struct tag_of \ { \ typedef struct_tag type; \ }; \ @@ -77,13 +77,13 @@ struct sequence_tag; \ \ template<> \ - struct sequence_tag \ + struct sequence_tag \ { \ typedef fusion::fusion_sequence_tag type; \ }; \ \ template<> \ - struct sequence_tag \ + struct sequence_tag \ { \ typedef fusion::fusion_sequence_tag type; \ }; \ @@ -92,23 +92,32 @@ namespace boost { namespace fusion { namespace extension \ { \ template <> \ - struct struct_size \ + struct struct_size \ : mpl::int_ {}; \ - BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_NAMED_STRUCT_C, names, seq) \ + template struct class_member_proxy; \ + BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_STRUCT_NAMED_C, \ + (BOOST_FUSION_ADAPT_STRUCT_NAMED_NAME(ns, newname), name), seq) \ }}} \ /***/ -#define BOOST_FUSION_ADAPT_NAMED_STRUCT_NS_B(r, _, ns) namespace ns { \ - /***/ -#define BOOST_FUSION_ADAPT_NAMED_STRUCT_NS_E(r, _, ns) } \ +#define BOOST_FUSION_ADAPT_STRUCT_NAMED_NAME(ns, newname) \ + BOOST_PP_SEQ_FOR_EACH_R(1, BOOST_FUSION_ADAPT_STRUCT_NAMED_NS_D, _, ns) \ + newname \ /***/ -#define BOOST_FUSION_ADAPT_NAMED_STRUCT_C(r, names, i, xy) \ +#define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS_B(r, _, ns) namespace ns { +#define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS_D(r, _, ns) ns:: +#define BOOST_FUSION_ADAPT_STRUCT_NAMED_NS_E(r, _, ns) } + +#define BOOST_FUSION_ADAPT_STRUCT_NAMED_C(r, names, i, xy) \ template <> \ - struct struct_member \ + struct struct_member \ { \ - typedef BOOST_PP_TUPLE_ELEM(2, 0, xy) type; \ - static type& call(BOOST_PP_SEQ_ELEM(1, names)& struct_) \ + typedef boost::mpl::if_< \ + boost::is_const \ + , boost::add_const::type \ + , BOOST_PP_TUPLE_ELEM(2, 0, xy)>::type type; \ + static type& call(BOOST_PP_TUPLE_ELEM(2, 0, names)& struct_) \ { \ return struct_.s_.BOOST_PP_TUPLE_ELEM(2, 1, xy); \ } \ diff --git a/include/boost/fusion/include/adapt_struct_named.hpp b/include/boost/fusion/include/adapt_struct_named.hpp new file mode 100644 index 00000000..67b6235f --- /dev/null +++ b/include/boost/fusion/include/adapt_struct_named.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ADAPT_STRUCT_NAMED) +#define FUSION_INCLUDE_ADAPT_STRUCT_NAMED + +#include + +#endif From 95ccc6f48fd5e8c570b16f42f4eb3932fedae355 Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Fri, 29 Jan 2010 03:03:31 +0000 Subject: [PATCH 27/36] Fusion: added docs for BOOST_FUSION_ADAPTED_STRUCT_NAMED [SVN r59338] --- doc/adapted.qbk | 62 +++++++++ doc/html/fusion/acknowledgements.html | 2 +- doc/html/fusion/adapted.html | 5 +- doc/html/fusion/adapted/adapt_assoc.html | 18 +-- doc/html/fusion/adapted/adapt_struct.html | 18 +-- .../fusion/adapted/adapt_struct_named.html | 121 ++++++++++++++++++ doc/html/fusion/adapted/boost__array.html | 10 +- doc/html/fusion/adapted/boost__tuple.html | 10 +- doc/html/fusion/adapted/mpl_sequence.html | 10 +- doc/html/fusion/adapted/std__pair.html | 10 +- doc/html/fusion/algorithm.html | 8 +- doc/html/fusion/algorithm/iteration.html | 4 +- .../fusion/algorithm/iteration/functions.html | 2 +- .../iteration/functions/accumulate.html | 16 +-- .../algorithm/iteration/functions/fold.html | 16 +-- .../iteration/functions/for_each.html | 16 +-- .../algorithm/iteration/metafunctions.html | 2 +- .../iteration/metafunctions/accumulate.html | 14 +- .../iteration/metafunctions/fold.html | 14 +- .../iteration/metafunctions/for_each.html | 14 +- doc/html/fusion/algorithm/query.html | 4 +- .../fusion/algorithm/query/functions.html | 2 +- .../fusion/algorithm/query/functions/all.html | 16 +-- .../fusion/algorithm/query/functions/any.html | 16 +-- .../algorithm/query/functions/count.html | 16 +-- .../algorithm/query/functions/count_if.html | 16 +-- .../algorithm/query/functions/find.html | 16 +-- .../algorithm/query/functions/find_if.html | 14 +- .../algorithm/query/functions/none.html | 16 +-- .../fusion/algorithm/query/metafunctions.html | 2 +- .../algorithm/query/metafunctions/all.html | 14 +- .../algorithm/query/metafunctions/any.html | 14 +- .../algorithm/query/metafunctions/count.html | 14 +- .../query/metafunctions/count_if.html | 14 +- .../algorithm/query/metafunctions/find.html | 14 +- .../query/metafunctions/find_if.html | 14 +- .../algorithm/query/metafunctions/none.html | 14 +- doc/html/fusion/algorithm/transformation.html | 4 +- .../algorithm/transformation/functions.html | 2 +- .../transformation/functions/clear.html | 16 +-- .../transformation/functions/erase.html | 16 +-- .../transformation/functions/erase_key.html | 16 +-- .../transformation/functions/filter.html | 16 +-- .../transformation/functions/filter_if.html | 16 +-- .../transformation/functions/insert.html | 16 +-- .../functions/insert_range.html | 16 +-- .../transformation/functions/join.html | 16 +-- .../transformation/functions/pop_back.html | 16 +-- .../transformation/functions/pop_front.html | 16 +-- .../transformation/functions/push_back.html | 16 +-- .../transformation/functions/push_front.html | 16 +-- .../transformation/functions/remove.html | 16 +-- .../transformation/functions/remove_if.html | 16 +-- .../transformation/functions/replace.html | 16 +-- .../transformation/functions/replace_if.html | 16 +-- .../transformation/functions/reverse.html | 16 +-- .../transformation/functions/transform.html | 20 +-- .../transformation/functions/zip.html | 16 +-- .../transformation/metafunctions.html | 2 +- .../transformation/metafunctions/clear.html | 14 +- .../transformation/metafunctions/erase.html | 14 +- .../metafunctions/erase_key.html | 14 +- .../transformation/metafunctions/filter.html | 14 +- .../metafunctions/filter_if.html | 14 +- .../transformation/metafunctions/insert.html | 14 +- .../metafunctions/insert_range.html | 14 +- .../transformation/metafunctions/join.html | 12 +- .../metafunctions/pop_back.html | 14 +- .../metafunctions/pop_front.html | 14 +- .../metafunctions/push_back.html | 14 +- .../metafunctions/push_front.html | 14 +- .../transformation/metafunctions/remove.html | 14 +- .../metafunctions/remove_if.html | 14 +- .../transformation/metafunctions/replace.html | 14 +- .../metafunctions/replace_if.html | 14 +- .../transformation/metafunctions/reverse.html | 14 +- .../metafunctions/transform.html | 20 +-- .../transformation/metafunctions/zip.html | 12 +- doc/html/fusion/change_log.html | 2 +- doc/html/fusion/container.html | 4 +- doc/html/fusion/container/cons.html | 16 +-- doc/html/fusion/container/conversion.html | 4 +- .../container/conversion/functions.html | 2 +- .../conversion/functions/as_list.html | 14 +- .../conversion/functions/as_map.html | 14 +- .../conversion/functions/as_set.html | 14 +- .../conversion/functions/as_vector.html | 14 +- .../container/conversion/metafunctions.html | 2 +- .../conversion/metafunctions/as_list.html | 14 +- .../conversion/metafunctions/as_map.html | 14 +- .../conversion/metafunctions/as_set.html | 14 +- .../conversion/metafunctions/as_vector.html | 14 +- doc/html/fusion/container/generation.html | 4 +- .../container/generation/functions.html | 2 +- .../generation/functions/list_tie.html | 14 +- .../generation/functions/make_cons.html | 16 +-- .../generation/functions/make_list.html | 16 +-- .../generation/functions/make_map.html | 16 +-- .../generation/functions/make_set.html | 16 +-- .../generation/functions/make_vector.html | 16 +-- .../generation/functions/map_tie.html | 14 +- .../container/generation/functions/tiers.html | 8 +- .../generation/functions/vector_tie.html | 14 +- .../container/generation/metafunctions.html | 2 +- .../generation/metafunctions/list_tie.html | 14 +- .../generation/metafunctions/make_cons.html | 14 +- .../generation/metafunctions/make_list.html | 14 +- .../generation/metafunctions/make_map.html | 16 +-- .../generation/metafunctions/make_set.html | 14 +- .../generation/metafunctions/make_vector.html | 14 +- .../generation/metafunctions/map_tie.html | 14 +- .../generation/metafunctions/vector_tie.html | 14 +- doc/html/fusion/container/list.html | 16 +-- doc/html/fusion/container/map.html | 16 +-- doc/html/fusion/container/set.html | 16 +-- doc/html/fusion/container/vector.html | 16 +-- doc/html/fusion/extension.html | 2 +- doc/html/fusion/extension/ext_full.html | 18 +-- .../fusion/extension/iterator_facade.html | 16 +-- .../fusion/extension/sequence_facade.html | 16 +-- doc/html/fusion/functional.html | 10 +- doc/html/fusion/functional/adapters.html | 2 +- .../fusion/functional/adapters/fused.html | 18 +-- .../adapters/fused_function_object.html | 18 +-- .../functional/adapters/fused_procedure.html | 18 +-- .../fusion/functional/adapters/limits.html | 6 +- .../fusion/functional/adapters/unfused.html | 18 +-- .../functional/adapters/unfused_typed.html | 18 +-- doc/html/fusion/functional/concepts.html | 2 +- .../fusion/functional/concepts/callable.html | 8 +- .../functional/concepts/def_callable.html | 12 +- doc/html/fusion/functional/concepts/poly.html | 12 +- .../functional/concepts/reg_callable.html | 12 +- doc/html/fusion/functional/generation.html | 2 +- .../functional/generation/functions.html | 2 +- .../generation/functions/mk_fused.html | 16 +-- .../generation/functions/mk_fused_fobj.html | 16 +-- .../generation/functions/mk_fused_proc.html | 16 +-- .../generation/functions/mk_unfused.html | 16 +-- .../functional/generation/metafunctions.html | 2 +- .../generation/metafunctions/mk_fused.html | 10 +- .../metafunctions/mk_fused_fobj.html | 10 +- .../metafunctions/mk_fused_proc.html | 10 +- .../generation/metafunctions/mk_unfused.html | 10 +- doc/html/fusion/functional/invocation.html | 2 +- .../functional/invocation/functions.html | 2 +- .../invocation/functions/invoke.html | 16 +-- .../invocation/functions/invoke_fobj.html | 16 +-- .../invocation/functions/invoke_proc.html | 16 +-- .../fusion/functional/invocation/limits.html | 6 +- .../functional/invocation/metafunctions.html | 2 +- .../invocation/metafunctions/invoke.html | 8 +- .../invocation/metafunctions/invoke_fobj.html | 8 +- .../invocation/metafunctions/invoke_proc.html | 8 +- doc/html/fusion/introduction.html | 6 +- doc/html/fusion/iterator.html | 4 +- doc/html/fusion/iterator/concepts.html | 2 +- .../concepts/associative_iterator.html | 12 +- .../concepts/bidirectional_iterator.html | 16 +-- .../iterator/concepts/forward_iterator.html | 14 +- .../concepts/random_access_iterator.html | 12 +- doc/html/fusion/iterator/functions.html | 2 +- .../fusion/iterator/functions/advance.html | 14 +- .../fusion/iterator/functions/advance_c.html | 14 +- doc/html/fusion/iterator/functions/deref.html | 14 +- .../fusion/iterator/functions/deref_data.html | 14 +- .../fusion/iterator/functions/distance.html | 14 +- doc/html/fusion/iterator/functions/next.html | 14 +- doc/html/fusion/iterator/functions/prior.html | 14 +- doc/html/fusion/iterator/metafunctions.html | 2 +- .../iterator/metafunctions/advance.html | 14 +- .../iterator/metafunctions/advance_c.html | 14 +- .../fusion/iterator/metafunctions/deref.html | 14 +- .../iterator/metafunctions/deref_data.html | 14 +- .../iterator/metafunctions/distance.html | 14 +- .../iterator/metafunctions/equal_to.html | 14 +- .../fusion/iterator/metafunctions/key_of.html | 14 +- .../fusion/iterator/metafunctions/next.html | 14 +- .../fusion/iterator/metafunctions/prior.html | 14 +- .../iterator/metafunctions/value_of.html | 14 +- .../iterator/metafunctions/value_of_data.html | 14 +- doc/html/fusion/iterator/operator.html | 2 +- .../iterator/operator/operator_equality.html | 12 +- .../operator/operator_inequality.html | 12 +- .../operator/operator_unary_star.html | 14 +- doc/html/fusion/notes.html | 18 +-- doc/html/fusion/organization.html | 12 +- doc/html/fusion/preface.html | 12 +- doc/html/fusion/quick_start.html | 18 +-- doc/html/fusion/references.html | 2 +- doc/html/fusion/sequence.html | 4 +- doc/html/fusion/sequence/concepts.html | 6 +- .../concepts/associative_sequence.html | 12 +- .../concepts/bidirectional_sequence.html | 14 +- .../sequence/concepts/forward_sequence.html | 14 +- .../concepts/random_access_sequence.html | 14 +- doc/html/fusion/sequence/intrinsic.html | 8 +- .../fusion/sequence/intrinsic/functions.html | 2 +- .../sequence/intrinsic/functions/at.html | 14 +- .../sequence/intrinsic/functions/at_c.html | 14 +- .../sequence/intrinsic/functions/at_key.html | 14 +- .../sequence/intrinsic/functions/back.html | 14 +- .../sequence/intrinsic/functions/begin.html | 14 +- .../sequence/intrinsic/functions/empty.html | 14 +- .../sequence/intrinsic/functions/end.html | 14 +- .../sequence/intrinsic/functions/front.html | 14 +- .../sequence/intrinsic/functions/has_key.html | 14 +- .../sequence/intrinsic/functions/size.html | 14 +- .../sequence/intrinsic/functions/swap.html | 12 +- .../sequence/intrinsic/metafunctions.html | 2 +- .../sequence/intrinsic/metafunctions/at.html | 18 +-- .../intrinsic/metafunctions/at_c.html | 18 +-- .../intrinsic/metafunctions/at_key.html | 18 +-- .../intrinsic/metafunctions/back.html | 14 +- .../intrinsic/metafunctions/begin.html | 14 +- .../intrinsic/metafunctions/empty.html | 14 +- .../sequence/intrinsic/metafunctions/end.html | 14 +- .../intrinsic/metafunctions/front.html | 14 +- .../intrinsic/metafunctions/has_key.html | 14 +- .../intrinsic/metafunctions/size.html | 14 +- .../intrinsic/metafunctions/swap.html | 12 +- .../intrinsic/metafunctions/value_at.html | 14 +- .../intrinsic/metafunctions/value_at_c.html | 14 +- .../intrinsic/metafunctions/value_at_key.html | 14 +- doc/html/fusion/sequence/operator.html | 2 +- .../fusion/sequence/operator/comparison.html | 4 +- .../sequence/operator/comparison/equal.html | 14 +- .../operator/comparison/greater_than.html | 12 +- .../comparison/greater_than_equal.html | 12 +- .../operator/comparison/less_than.html | 12 +- .../operator/comparison/less_than_equal.html | 12 +- .../operator/comparison/not_equal.html | 12 +- doc/html/fusion/sequence/operator/i_o.html | 4 +- doc/html/fusion/sequence/operator/i_o/in.html | 14 +- .../fusion/sequence/operator/i_o/out.html | 14 +- doc/html/fusion/support.html | 2 +- doc/html/fusion/support/category_of.html | 14 +- doc/html/fusion/support/deduce.html | 12 +- doc/html/fusion/support/deduce_sequence.html | 12 +- doc/html/fusion/support/is_sequence.html | 14 +- doc/html/fusion/support/is_view.html | 14 +- doc/html/fusion/support/pair.html | 14 +- doc/html/fusion/support/tag_of.html | 14 +- doc/html/fusion/tuple.html | 2 +- .../fusion/tuple/class_template_tuple.html | 4 +- .../class_template_tuple/construction.html | 6 +- .../class_template_tuple/element_access.html | 6 +- .../relational_operators.html | 6 +- .../tuple_creation_functions.html | 6 +- .../tuple_helper_classes.html | 6 +- doc/html/fusion/tuple/pairs.html | 6 +- doc/html/fusion/view.html | 4 +- doc/html/fusion/view/filter_view.html | 16 +-- doc/html/fusion/view/iterator_range.html | 16 +-- doc/html/fusion/view/joint_view.html | 16 +-- doc/html/fusion/view/nview.html | 16 +-- doc/html/fusion/view/reverse_view.html | 14 +- doc/html/fusion/view/single_view.html | 14 +- doc/html/fusion/view/transform_view.html | 14 +- doc/html/fusion/view/zip_view.html | 16 +-- doc/html/index.html | 7 +- 261 files changed, 1728 insertions(+), 1543 deletions(-) create mode 100644 doc/html/fusion/adapted/adapt_struct_named.html diff --git a/doc/adapted.qbk b/doc/adapted.qbk index 53e4bfbd..38fc84c6 100644 --- a/doc/adapted.qbk +++ b/doc/adapted.qbk @@ -196,6 +196,68 @@ namespace qualified name of the struct to be converted. [endsect] +[section:adapt_struct_named BOOST_FUSION_ADAPT_STRUCT_NAMED] + +[heading Description] +BOOST_FUSION_ADAPT_STRUCT_NAMED and BOOST_FUSION_ADAPT_STRUCT_NAMED_NS are +macros that can be used to generate all the necessary boilerplate to make an +arbitrary struct into a __random_access_sequence__. The given struct is +adapted using the given name. + +[heading Synopsis] + BOOST_FUSION_ADAPT_STRUCT_NAMED( + struct_name, adapted_name + (member_type0, member_name0) + (member_type1, member_name1) + ... + ) + + BOOST_FUSION_ADAPT_STRUCT_NAMED_NS( + struct_name, namespace_list, adapted_name + (member_type0, member_name0) + (member_type1, member_name1) + ... + ) + +[heading Semantics] + +The above macros generate the necessary code to adapt `struct_name` +as a model of __random_access_sequence__ while using `adapted_name` as the +name of the adapted struct. The sequence of `(member_typeN, member_nameN)` +pairs declare the type and names of each of the struct members that will be +part of the sequence. The `namespace_list` specifies the C++ namespace of +the `adapted_name`. It has the format of `(ns1)(ns2)...`, which results in +a fully qualified adapted name of `ns1::ns2::adapted_name`. If no namespace list +is given (i.e. `BOOST_FUSION_ADAPT_STRUCT_NAMED`), the adapted view is placed in +the namespace `boost::fusion::adapted`. + +The macro should be used at global scope, and `struct_name` should be the fully +namespace qualified name of the struct to be converted. + +[heading Header] + + #include + #include + +[heading Example] + namespace demo + { + struct employee + { + std::string name; + int age; + }; + } + + // boost::fusion::adapted::adapted_employee is now a Fusion sequence + // referring to demo::employee + BOOST_FUSION_ADAPT_STRUCT_NAMED( + demo::employee, adapted_employee + (std::string, name) + (int, age)) + +[endsect] + [section:adapt_assoc BOOST_FUSION_ADAPT_ASSOC_STRUCT] [heading Description] diff --git a/doc/html/fusion/acknowledgements.html b/doc/html/fusion/acknowledgements.html index d1f544ad..f363e844 100644 --- a/doc/html/fusion/acknowledgements.html +++ b/doc/html/fusion/acknowledgements.html @@ -3,7 +3,7 @@ Acknowledgements - + diff --git a/doc/html/fusion/adapted.html b/doc/html/fusion/adapted.html index beb3e6aa..b9b8b52b 100644 --- a/doc/html/fusion/adapted.html +++ b/doc/html/fusion/adapted.html @@ -3,7 +3,7 @@ Adapted - + @@ -32,6 +32,7 @@
boost::array
boost::tuple
BOOST_FUSION_ADAPT_STRUCT
+
BOOST_FUSION_ADAPT_STRUCT_NAMED
BOOST_FUSION_ADAPT_ASSOC_STRUCT

@@ -47,7 +48,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 eb3a76d6..2b5994b5 100644
--- a/doc/html/fusion/adapted/adapt_assoc.html
+++ b/doc/html/fusion/adapted/adapt_assoc.html
@@ -3,10 +3,10 @@
 
 BOOST_FUSION_ADAPT_ASSOC_STRUCT
 
-
+
 
 
-
+
 
 
 
@@ -20,14 +20,14 @@
 

-PrevUpHomeNext +PrevUpHomeNext
- + 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
@@ -111,7 +111,7 @@
 

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/adapted/adapt_struct.html b/doc/html/fusion/adapted/adapt_struct.html index 3719bf9d..51cab2d1 100644 --- a/doc/html/fusion/adapted/adapt_struct.html +++ b/doc/html/fusion/adapted/adapt_struct.html @@ -3,11 +3,11 @@ BOOST_FUSION_ADAPT_STRUCT - + - + @@ -20,14 +20,14 @@

-PrevUpHomeNext +PrevUpHomeNext
- + 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
@@ -100,7 +100,7 @@
 

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/adapted/adapt_struct_named.html b/doc/html/fusion/adapted/adapt_struct_named.html new file mode 100644 index 00000000..2ac3eb6c --- /dev/null +++ b/doc/html/fusion/adapted/adapt_struct_named.html @@ -0,0 +1,121 @@ + + + +BOOST_FUSION_ADAPT_STRUCT_NAMED + + + + + + + + + + + + + + + +
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+ + Description +
+

+ BOOST_FUSION_ADAPT_STRUCT_NAMED and BOOST_FUSION_ADAPT_STRUCT_NAMED_NS are + macros that can be used to generate all the necessary boilerplate to make + an arbitrary struct into a Random + Access Sequence. The given struct is adapted using the given name. +

+
+ + Synopsis +
+
BOOST_FUSION_ADAPT_STRUCT_NAMED(
+    struct_name, adapted_name
+    (member_type0, member_name0)
+    (member_type1, member_name1)
+    ...
+    )
+
+BOOST_FUSION_ADAPT_STRUCT_NAMED_NS(
+    struct_name, namespace_list, adapted_name
+    (member_type0, member_name0)
+    (member_type1, member_name1)
+    ...
+    )
+
+
+ + Semantics +
+

+ The above macros generate the necessary code to adapt struct_name + as a model of Random + Access Sequence while using adapted_name + as the name of the adapted struct. The sequence of (member_typeN, + member_nameN) + pairs declare the type and names of each of the struct members that will + be part of the sequence. The namespace_list + specifies the C++ namespace of the adapted_name. + It has the format of (ns1)(ns2)..., + which results in a fully qualified adapted name of ns1::ns2::adapted_name. If no namespace list is given + (i.e. BOOST_FUSION_ADAPT_STRUCT_NAMED), + the adapted view is placed in the namespace boost::fusion::adapted. +

+

+ The macro should be used at global scope, and struct_name + should be the fully namespace qualified name of the struct to be converted. +

+
+ + Header +
+
#include <boost/fusion/adapted/struct/adapt_struct_named.hpp>
+#include <boost/fusion/include/adapt_struct_named.hpp>
+
+
+ + Example +
+
namespace demo
+{
+    struct employee
+    {
+        std::string name;
+        int age;
+    };
+}
+
+// boost::fusion::adapted::adapted_employee is now a Fusion sequence
+// referring to demo::employee
+BOOST_FUSION_ADAPT_STRUCT_NAMED(
+    demo::employee, adapted_employee
+    (std::string, name)
+    (int, age))
+
+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/fusion/adapted/boost__array.html b/doc/html/fusion/adapted/boost__array.html index b0aabd33..2bdbc450 100644 --- a/doc/html/fusion/adapted/boost__array.html +++ b/doc/html/fusion/adapted/boost__array.html @@ -3,7 +3,7 @@ boost::array - + @@ -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 e90a52e3..55f8b390 100644 --- a/doc/html/fusion/adapted/boost__tuple.html +++ b/doc/html/fusion/adapted/boost__tuple.html @@ -3,7 +3,7 @@ boost::tuple - + @@ -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 e801606b..87054a05 100644 --- a/doc/html/fusion/adapted/mpl_sequence.html +++ b/doc/html/fusion/adapted/mpl_sequence.html @@ -3,7 +3,7 @@ mpl sequence - + @@ -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 19c7ab19..86ce37d5 100644 --- a/doc/html/fusion/adapted/std__pair.html +++ b/doc/html/fusion/adapted/std__pair.html @@ -3,7 +3,7 @@ std::pair - + @@ -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 7b8ab330..2de22507 100644 --- a/doc/html/fusion/algorithm.html +++ b/doc/html/fusion/algorithm.html @@ -3,7 +3,7 @@ Algorithm - + @@ -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 196b56f0..28e07baf 100644
--- a/doc/html/fusion/algorithm/iteration.html
+++ b/doc/html/fusion/algorithm/iteration.html
@@ -3,7 +3,7 @@
 
 Iteration
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/algorithm/iteration/functions.html
index d4828078..83ad43ab 100644
--- a/doc/html/fusion/algorithm/iteration/functions.html
+++ b/doc/html/fusion/algorithm/iteration/functions.html
@@ -3,7 +3,7 @@
 
 Functions
 
-
+
 
 
 
diff --git a/doc/html/fusion/algorithm/iteration/functions/accumulate.html b/doc/html/fusion/algorithm/iteration/functions/accumulate.html
index 7b559a04..ca852d2c 100644
--- a/doc/html/fusion/algorithm/iteration/functions/accumulate.html
+++ b/doc/html/fusion/algorithm/iteration/functions/accumulate.html
@@ -3,7 +3,7 @@
 
 accumulate
 
-
+
 
 
 
@@ -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 5343479a..19fc4c1a 100644
--- a/doc/html/fusion/algorithm/iteration/functions/fold.html
+++ b/doc/html/fusion/algorithm/iteration/functions/fold.html
@@ -3,7 +3,7 @@
 
 fold
 
-
+
 
 
 
@@ -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 81aa8f9b..3394c4a3 100644
--- a/doc/html/fusion/algorithm/iteration/functions/for_each.html
+++ b/doc/html/fusion/algorithm/iteration/functions/for_each.html
@@ -3,7 +3,7 @@
 
 for_each
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/algorithm/iteration/metafunctions.html
index db18f64c..839860e2 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions.html
@@ -3,7 +3,7 @@
 
 Metafunctions
 
-
+
 
 
 
diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html
index 09122217..c8dffb97 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html
@@ -3,7 +3,7 @@
 
 accumulate
 
-
+
 
 
 
@@ -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 87a86e41..1e0765db 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html
@@ -3,7 +3,7 @@
 
 fold
 
-
+
 
 
 
@@ -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 5f8b4a42..bdc83e33 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html
@@ -3,7 +3,7 @@
 
 for_each
 
-
+
 
 
 
@@ -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 d93b96b9..6396a3b4 100644
--- a/doc/html/fusion/algorithm/query.html
+++ b/doc/html/fusion/algorithm/query.html
@@ -3,7 +3,7 @@
 
 Query
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/algorithm/query/functions.html
index 99f9f4c4..664d0f78 100644
--- a/doc/html/fusion/algorithm/query/functions.html
+++ b/doc/html/fusion/algorithm/query/functions.html
@@ -3,7 +3,7 @@
 
 Functions
 
-
+
 
 
 
diff --git a/doc/html/fusion/algorithm/query/functions/all.html b/doc/html/fusion/algorithm/query/functions/all.html
index 851d318c..ab17b406 100644
--- a/doc/html/fusion/algorithm/query/functions/all.html
+++ b/doc/html/fusion/algorithm/query/functions/all.html
@@ -3,7 +3,7 @@
 
 all
 
-
+
 
 
 
@@ -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 d90e4edb..4f635314 100644
--- a/doc/html/fusion/algorithm/query/functions/any.html
+++ b/doc/html/fusion/algorithm/query/functions/any.html
@@ -3,7 +3,7 @@
 
 any
 
-
+
 
 
 
@@ -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 df90ba60..08176e2f 100644
--- a/doc/html/fusion/algorithm/query/functions/count.html
+++ b/doc/html/fusion/algorithm/query/functions/count.html
@@ -3,7 +3,7 @@
 
 count
 
-
+
 
 
 
@@ -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 1a706368..698cfe09 100644
--- a/doc/html/fusion/algorithm/query/functions/count_if.html
+++ b/doc/html/fusion/algorithm/query/functions/count_if.html
@@ -3,7 +3,7 @@
 
 count_if
 
-
+
 
 
 
@@ -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 cead1370..97bc905e 100644
--- a/doc/html/fusion/algorithm/query/functions/find.html
+++ b/doc/html/fusion/algorithm/query/functions/find.html
@@ -3,7 +3,7 @@
 
 find
 
-
+
 
 
 
@@ -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 60096844..f7d3cd2f 100644
--- a/doc/html/fusion/algorithm/query/functions/find_if.html
+++ b/doc/html/fusion/algorithm/query/functions/find_if.html
@@ -3,7 +3,7 @@
 
 find_if
 
-
+
 
 
 
@@ -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 feeed992..cee48687 100644
--- a/doc/html/fusion/algorithm/query/functions/none.html
+++ b/doc/html/fusion/algorithm/query/functions/none.html
@@ -3,7 +3,7 @@
 
 none
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/algorithm/query/metafunctions.html
index 9ebc4f86..a69af444 100644
--- a/doc/html/fusion/algorithm/query/metafunctions.html
+++ b/doc/html/fusion/algorithm/query/metafunctions.html
@@ -3,7 +3,7 @@
 
 Metafunctions
 
-
+
 
 
 
diff --git a/doc/html/fusion/algorithm/query/metafunctions/all.html b/doc/html/fusion/algorithm/query/metafunctions/all.html
index 82ce09bc..5d0464cd 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/all.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/all.html
@@ -3,7 +3,7 @@
 
 all
 
-
+
 
 
 
@@ -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 913292cd..d6939235 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/any.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/any.html
@@ -3,7 +3,7 @@
 
 any
 
-
+
 
 
 
@@ -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 3b504e96..94dc7984 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/count.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/count.html
@@ -3,7 +3,7 @@
 
 count
 
-
+
 
 
 
@@ -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 02f10dc0..11517cb4 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/count_if.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/count_if.html
@@ -3,7 +3,7 @@
 
 count_if
 
-
+
 
 
 
@@ -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 6eeb4b49..7d8413d3 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/find.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/find.html
@@ -3,7 +3,7 @@
 
 find
 
-
+
 
 
 
@@ -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 21546032..7395b851 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/find_if.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/find_if.html
@@ -3,7 +3,7 @@
 
 find_if
 
-
+
 
 
 
@@ -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 b5137049..aeabfaaf 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/none.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/none.html
@@ -3,7 +3,7 @@
 
 none
 
-
+
 
 
 
@@ -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 9a96ba1b..9142768c 100644
--- a/doc/html/fusion/algorithm/transformation.html
+++ b/doc/html/fusion/algorithm/transformation.html
@@ -3,7 +3,7 @@
 
 Transformation
 
-
+
 
 
 
@@ -47,7 +47,7 @@
         

- + Header
#include <boost/fusion/algorithm/transformation.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/functions.html b/doc/html/fusion/algorithm/transformation/functions.html
index f961d36e..3779c4b8 100644
--- a/doc/html/fusion/algorithm/transformation/functions.html
+++ b/doc/html/fusion/algorithm/transformation/functions.html
@@ -3,7 +3,7 @@
 
 Functions
 
-
+
 
 
 
diff --git a/doc/html/fusion/algorithm/transformation/functions/clear.html b/doc/html/fusion/algorithm/transformation/functions/clear.html
index 088bd15b..197e95ff 100644
--- a/doc/html/fusion/algorithm/transformation/functions/clear.html
+++ b/doc/html/fusion/algorithm/transformation/functions/clear.html
@@ -3,7 +3,7 @@
 
 clear
 
-
+
 
 
 
@@ -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 1bb329a3..15e06d55 100644
--- a/doc/html/fusion/algorithm/transformation/functions/erase.html
+++ b/doc/html/fusion/algorithm/transformation/functions/erase.html
@@ -3,7 +3,7 @@
 
 erase
 
-
+
 
 
 
@@ -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 0365dfcf..484c7d7a 100644
--- a/doc/html/fusion/algorithm/transformation/functions/erase_key.html
+++ b/doc/html/fusion/algorithm/transformation/functions/erase_key.html
@@ -3,7 +3,7 @@
 
 erase_key
 
-
+
 
 
 
@@ -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 e567f308..fbfdc6a5 100644
--- a/doc/html/fusion/algorithm/transformation/functions/filter.html
+++ b/doc/html/fusion/algorithm/transformation/functions/filter.html
@@ -3,7 +3,7 @@
 
 filter
 
-
+
 
 
 
@@ -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 b0cf3d3c..0b451ad7 100644
--- a/doc/html/fusion/algorithm/transformation/functions/filter_if.html
+++ b/doc/html/fusion/algorithm/transformation/functions/filter_if.html
@@ -3,7 +3,7 @@
 
 filter_if
 
-
+
 
 
 
@@ -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 b50ea27f..46f3fdbc 100644
--- a/doc/html/fusion/algorithm/transformation/functions/insert.html
+++ b/doc/html/fusion/algorithm/transformation/functions/insert.html
@@ -3,7 +3,7 @@
 
 insert
 
-
+
 
 
 
@@ -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 c1c5b5a2..8447a21d 100644
--- a/doc/html/fusion/algorithm/transformation/functions/insert_range.html
+++ b/doc/html/fusion/algorithm/transformation/functions/insert_range.html
@@ -3,7 +3,7 @@
 
 insert_range
 
-
+
 
 
 
@@ -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 db653f21..757b1864 100644
--- a/doc/html/fusion/algorithm/transformation/functions/join.html
+++ b/doc/html/fusion/algorithm/transformation/functions/join.html
@@ -3,7 +3,7 @@
 
 join
 
-
+
 
 
 
@@ -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 71d16629..3b2fcbc1 100644
--- a/doc/html/fusion/algorithm/transformation/functions/pop_back.html
+++ b/doc/html/fusion/algorithm/transformation/functions/pop_back.html
@@ -3,7 +3,7 @@
 
 pop_back
 
-
+
 
 
 
@@ -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 5d32ce45..27ebfb96 100644
--- a/doc/html/fusion/algorithm/transformation/functions/pop_front.html
+++ b/doc/html/fusion/algorithm/transformation/functions/pop_front.html
@@ -3,7 +3,7 @@
 
 pop_front
 
-
+
 
 
 
@@ -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 218ea784..f1372b06 100644
--- a/doc/html/fusion/algorithm/transformation/functions/push_back.html
+++ b/doc/html/fusion/algorithm/transformation/functions/push_back.html
@@ -3,7 +3,7 @@
 
 push_back
 
-
+
 
 
 
@@ -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 b3e628f9..893fdc12 100644
--- a/doc/html/fusion/algorithm/transformation/functions/push_front.html
+++ b/doc/html/fusion/algorithm/transformation/functions/push_front.html
@@ -3,7 +3,7 @@
 
 push_front
 
-
+
 
 
 
@@ -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 0a2f02ea..414ca03d 100644
--- a/doc/html/fusion/algorithm/transformation/functions/remove.html
+++ b/doc/html/fusion/algorithm/transformation/functions/remove.html
@@ -3,7 +3,7 @@
 
 remove
 
-
+
 
 
 
@@ -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 22911110..18afffb7 100644
--- a/doc/html/fusion/algorithm/transformation/functions/remove_if.html
+++ b/doc/html/fusion/algorithm/transformation/functions/remove_if.html
@@ -3,7 +3,7 @@
 
 remove_if
 
-
+
 
 
 
@@ -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 2591cd69..2c108329 100644
--- a/doc/html/fusion/algorithm/transformation/functions/replace.html
+++ b/doc/html/fusion/algorithm/transformation/functions/replace.html
@@ -3,7 +3,7 @@
 
 replace
 
-
+
 
 
 
@@ -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 49b63efe..f829950d 100644
--- a/doc/html/fusion/algorithm/transformation/functions/replace_if.html
+++ b/doc/html/fusion/algorithm/transformation/functions/replace_if.html
@@ -3,7 +3,7 @@
 
 replace_if
 
-
+
 
 
 
@@ -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 37bfd1d0..d48be1e0 100644
--- a/doc/html/fusion/algorithm/transformation/functions/reverse.html
+++ b/doc/html/fusion/algorithm/transformation/functions/reverse.html
@@ -3,7 +3,7 @@
 
 reverse
 
-
+
 
 
 
@@ -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 b5f6003f..9295f5ac 100644
--- a/doc/html/fusion/algorithm/transformation/functions/transform.html
+++ b/doc/html/fusion/algorithm/transformation/functions/transform.html
@@ -3,7 +3,7 @@
 
 transform
 
-
+
 
 
 
@@ -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 82304916..e71155a2 100644
--- a/doc/html/fusion/algorithm/transformation/functions/zip.html
+++ b/doc/html/fusion/algorithm/transformation/functions/zip.html
@@ -3,7 +3,7 @@
 
 zip
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/algorithm/transformation/metafunctions.html
index bb379566..8ef023bf 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions.html
@@ -3,7 +3,7 @@
 
 Metafunctions
 
-
+
 
 
 
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/clear.html b/doc/html/fusion/algorithm/transformation/metafunctions/clear.html
index c3055b77..7028ea53 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/clear.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/clear.html
@@ -3,7 +3,7 @@
 
 clear
 
-
+
 
 
 
@@ -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 73ad8959..f8b36ea9 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/erase.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/erase.html
@@ -3,7 +3,7 @@
 
 erase
 
-
+
 
 
 
@@ -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 c5c1b08a..2ff723a7 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/erase_key.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/erase_key.html
@@ -3,7 +3,7 @@
 
 erase_key
 
-
+
 
 
 
@@ -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 2d9236c1..c4d2c1e9 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/filter.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/filter.html
@@ -3,7 +3,7 @@
 
 filter
 
-
+
 
 
 
@@ -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 b4b65b1a..666d61ca 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html
@@ -3,7 +3,7 @@
 
 filter_if
 
-
+
 
 
 
@@ -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 bb8e7538..2e9db74b 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/insert.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/insert.html
@@ -3,7 +3,7 @@
 
 insert
 
-
+
 
 
 
@@ -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 ac1e5f14..4952a226 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/insert_range.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/insert_range.html
@@ -3,7 +3,7 @@
 
 insert_range
 
-
+
 
 
 
@@ -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 ee4a7894..f0615f08 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/join.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/join.html
@@ -3,7 +3,7 @@
 
 join
 
-
+
 
 
 
@@ -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 d20ea2da..2890aae6 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/pop_back.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/pop_back.html
@@ -3,7 +3,7 @@
 
 pop_back
 
-
+
 
 
 
@@ -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 e87265cf..3ae371a1 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/pop_front.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/pop_front.html
@@ -3,7 +3,7 @@
 
 pop_front
 
-
+
 
 
 
@@ -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 de0911fd..e3c87cd6 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html
@@ -3,7 +3,7 @@
 
 push_back
 
-
+
 
 
 
@@ -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 73387e9b..aafa4da4 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html
@@ -3,7 +3,7 @@
 
 push_front
 
-
+
 
 
 
@@ -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 519ae0d5..30234ed4 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/remove.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/remove.html
@@ -3,7 +3,7 @@
 
 remove
 
-
+
 
 
 
@@ -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 4fe0e0ef..b6079e68 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/remove_if.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/remove_if.html
@@ -3,7 +3,7 @@
 
 remove_if
 
-
+
 
 
 
@@ -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 b756d5a1..dc859db9 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/replace.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/replace.html
@@ -3,7 +3,7 @@
 
 replace
 
-
+
 
 
 
@@ -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 b7d26a4f..dd272a70 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/replace_if.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/replace_if.html
@@ -3,7 +3,7 @@
 
 replace_if
 
-
+
 
 
 
@@ -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 e2b22ce0..9754cbfe 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/reverse.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/reverse.html
@@ -3,7 +3,7 @@
 
 reverse
 
-
+
 
 
 
@@ -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 7d1c3e94..57e41b20 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/transform.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/transform.html
@@ -3,7 +3,7 @@
 
 transform
 
-
+
 
 
 
@@ -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 99187ce0..69c1f96d 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/zip.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/zip.html
@@ -3,7 +3,7 @@
 
 zip
 
-
+
 
 
 
@@ -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/change_log.html b/doc/html/fusion/change_log.html
index 8ce4bb0a..5b244e51 100644
--- a/doc/html/fusion/change_log.html
+++ b/doc/html/fusion/change_log.html
@@ -3,7 +3,7 @@
 
 Change log
 
-
+
 
 
 
diff --git a/doc/html/fusion/container.html b/doc/html/fusion/container.html
index cda425aa..fa21d880 100644
--- a/doc/html/fusion/container.html
+++ b/doc/html/fusion/container.html
@@ -3,7 +3,7 @@
 
 Container
 
-
+
 
 
 
@@ -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 844fb56d..db01ea7f 100644
--- a/doc/html/fusion/container/cons.html
+++ b/doc/html/fusion/container/cons.html
@@ -3,7 +3,7 @@
 
 cons
 
-
+
 
 
 
@@ -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 1c61f4f6..2961ebe5 100644
--- a/doc/html/fusion/container/conversion.html
+++ b/doc/html/fusion/container/conversion.html
@@ -3,7 +3,7 @@
 
 Conversion
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/container/conversion/functions.html
index cba92405..ac2b1fd0 100644
--- a/doc/html/fusion/container/conversion/functions.html
+++ b/doc/html/fusion/container/conversion/functions.html
@@ -3,7 +3,7 @@
 
 Functions
 
-
+
 
 
 
diff --git a/doc/html/fusion/container/conversion/functions/as_list.html b/doc/html/fusion/container/conversion/functions/as_list.html
index 1235bdef..414a2c3c 100644
--- a/doc/html/fusion/container/conversion/functions/as_list.html
+++ b/doc/html/fusion/container/conversion/functions/as_list.html
@@ -3,7 +3,7 @@
 
 as_list
 
-
+
 
 
 
@@ -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 37e5379b..48d24c10 100644
--- a/doc/html/fusion/container/conversion/functions/as_map.html
+++ b/doc/html/fusion/container/conversion/functions/as_map.html
@@ -3,7 +3,7 @@
 
 as_map
 
-
+
 
 
 
@@ -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 af695532..96219fb1 100644
--- a/doc/html/fusion/container/conversion/functions/as_set.html
+++ b/doc/html/fusion/container/conversion/functions/as_set.html
@@ -3,7 +3,7 @@
 
 as_set
 
-
+
 
 
 
@@ -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 883bf503..de1dda0d 100644
--- a/doc/html/fusion/container/conversion/functions/as_vector.html
+++ b/doc/html/fusion/container/conversion/functions/as_vector.html
@@ -3,7 +3,7 @@
 
 as_vector
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/container/conversion/metafunctions.html
index bdfbebe3..e41a2e2c 100644
--- a/doc/html/fusion/container/conversion/metafunctions.html
+++ b/doc/html/fusion/container/conversion/metafunctions.html
@@ -3,7 +3,7 @@
 
 Metafunctions
 
-
+
 
 
 
diff --git a/doc/html/fusion/container/conversion/metafunctions/as_list.html b/doc/html/fusion/container/conversion/metafunctions/as_list.html
index 410e455b..204b2620 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_list.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_list.html
@@ -3,7 +3,7 @@
 
 as_list
 
-
+
 
 
 
@@ -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 de9412aa..d288b855 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_map.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_map.html
@@ -3,7 +3,7 @@
 
 as_map
 
-
+
 
 
 
@@ -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 1a3bf64f..d2447a04 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_set.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_set.html
@@ -3,7 +3,7 @@
 
 as_set
 
-
+
 
 
 
@@ -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 70a4a127..30114f5e 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_vector.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_vector.html
@@ -3,7 +3,7 @@
 
 as_vector
 
-
+
 
 
 
@@ -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 f9999511..7ad0abfc 100644
--- a/doc/html/fusion/container/generation.html
+++ b/doc/html/fusion/container/generation.html
@@ -3,7 +3,7 @@
 
 Generation
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/container/generation/functions.html
index 2c1861cc..0028ddc8 100644
--- a/doc/html/fusion/container/generation/functions.html
+++ b/doc/html/fusion/container/generation/functions.html
@@ -3,7 +3,7 @@
 
 Functions
 
-
+
 
 
 
diff --git a/doc/html/fusion/container/generation/functions/list_tie.html b/doc/html/fusion/container/generation/functions/list_tie.html
index 33a824d3..da40cbe6 100644
--- a/doc/html/fusion/container/generation/functions/list_tie.html
+++ b/doc/html/fusion/container/generation/functions/list_tie.html
@@ -3,7 +3,7 @@
 
 list_tie
 
-
+
 
 
 
@@ -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 eff0b797..2887c8b1 100644
--- a/doc/html/fusion/container/generation/functions/make_cons.html
+++ b/doc/html/fusion/container/generation/functions/make_cons.html
@@ -3,7 +3,7 @@
 
 make_cons
 
-
+
 
 
 
@@ -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 8f5d19bd..0fb0811e 100644 --- a/doc/html/fusion/container/generation/functions/make_list.html +++ b/doc/html/fusion/container/generation/functions/make_list.html @@ -3,7 +3,7 @@ make_list - + @@ -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 f2781816..0e145e04 100644 --- a/doc/html/fusion/container/generation/functions/make_map.html +++ b/doc/html/fusion/container/generation/functions/make_map.html @@ -3,7 +3,7 @@ make_map - + @@ -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 d96886eb..bcbc7687 100644 --- a/doc/html/fusion/container/generation/functions/make_set.html +++ b/doc/html/fusion/container/generation/functions/make_set.html @@ -3,7 +3,7 @@ make_set - + @@ -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 f602297f..325778f8 100644 --- a/doc/html/fusion/container/generation/functions/make_vector.html +++ b/doc/html/fusion/container/generation/functions/make_vector.html @@ -3,7 +3,7 @@ make_vector - + @@ -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 6cbdb8ab..a4662608 100644 --- a/doc/html/fusion/container/generation/functions/map_tie.html +++ b/doc/html/fusion/container/generation/functions/map_tie.html @@ -3,7 +3,7 @@ map_tie - + @@ -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 4d76ec45..46269ecc 100644
--- a/doc/html/fusion/container/generation/functions/tiers.html
+++ b/doc/html/fusion/container/generation/functions/tiers.html
@@ -3,7 +3,7 @@
 
 Tiers
 
-
+
 
 
 
@@ -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 88ec2dfa..823f7e1e 100644 --- a/doc/html/fusion/container/generation/functions/vector_tie.html +++ b/doc/html/fusion/container/generation/functions/vector_tie.html @@ -3,7 +3,7 @@ vector_tie - + @@ -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.html b/doc/html/fusion/container/generation/metafunctions.html
index c132393e..a5b785a8 100644
--- a/doc/html/fusion/container/generation/metafunctions.html
+++ b/doc/html/fusion/container/generation/metafunctions.html
@@ -3,7 +3,7 @@
 
 MetaFunctions
 
-
+
 
 
 
diff --git a/doc/html/fusion/container/generation/metafunctions/list_tie.html b/doc/html/fusion/container/generation/metafunctions/list_tie.html
index 36b17b53..42c8a080 100644
--- a/doc/html/fusion/container/generation/metafunctions/list_tie.html
+++ b/doc/html/fusion/container/generation/metafunctions/list_tie.html
@@ -3,7 +3,7 @@
 
 list_tie
 
-
+
 
 
 
@@ -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 5d26d653..6fe39600 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_cons.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_cons.html
@@ -3,7 +3,7 @@
 
 make_cons
 
-
+
 
 
 
@@ -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 f6f28793..161a96a6 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_list.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_list.html
@@ -3,7 +3,7 @@
 
 make_list
 
-
+
 
 
 
@@ -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 de4129c4..da5f395a 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_map.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_map.html
@@ -3,7 +3,7 @@
 
 make_map
 
-
+
 
 
 
@@ -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 0ea2b7c6..32bb45b0 100644 --- a/doc/html/fusion/container/generation/metafunctions/make_set.html +++ b/doc/html/fusion/container/generation/metafunctions/make_set.html @@ -3,7 +3,7 @@ make_set - + @@ -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 b1a564d2..0e28ed03 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_vector.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_vector.html
@@ -3,7 +3,7 @@
 
 make_vector
 
-
+
 
 
 
@@ -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 2acd4161..4658a472 100644
--- a/doc/html/fusion/container/generation/metafunctions/map_tie.html
+++ b/doc/html/fusion/container/generation/metafunctions/map_tie.html
@@ -3,7 +3,7 @@
 
 map_tie
 
-
+
 
 
 
@@ -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 f9315495..5effeed5 100644
--- a/doc/html/fusion/container/generation/metafunctions/vector_tie.html
+++ b/doc/html/fusion/container/generation/metafunctions/vector_tie.html
@@ -3,7 +3,7 @@
 
 vector_tie
 
-
+
 
 
 
@@ -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 4aec42ce..fb5c776c 100644
--- a/doc/html/fusion/container/list.html
+++ b/doc/html/fusion/container/list.html
@@ -3,7 +3,7 @@
 
 list
 
-
+
 
 
 
@@ -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 41483836..f853ee4d 100644
--- a/doc/html/fusion/container/map.html
+++ b/doc/html/fusion/container/map.html
@@ -3,7 +3,7 @@
 
 map
 
-
+
 
 
 
@@ -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 27152ebc..75547342 100644
--- a/doc/html/fusion/container/set.html
+++ b/doc/html/fusion/container/set.html
@@ -3,7 +3,7 @@
 
 set
 
-
+
 
 
 
@@ -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 458b2e16..30c7331d 100644
--- a/doc/html/fusion/container/vector.html
+++ b/doc/html/fusion/container/vector.html
@@ -3,7 +3,7 @@
 
 vector
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/extension.html
index fb3b4cbf..59c1e744 100644
--- a/doc/html/fusion/extension.html
+++ b/doc/html/fusion/extension.html
@@ -3,7 +3,7 @@
 
 Extension
 
-
+
 
 
 
diff --git a/doc/html/fusion/extension/ext_full.html b/doc/html/fusion/extension/ext_full.html
index a0787e0c..6c7143ed 100644
--- a/doc/html/fusion/extension/ext_full.html
+++ b/doc/html/fusion/extension/ext_full.html
@@ -3,7 +3,7 @@
 
 The Full Extension Mechanism
 
-
+
 
 
 
@@ -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
@@ -322,7 +322,7 @@

- + Implementing the remaining iterator functionality
@@ -373,7 +373,7 @@ are provided in the example code.

- + Implementing the intrinsic functions of the sequence
@@ -429,7 +429,7 @@ value_at_impl and at_impl.

- + Enabling our type as an associative sequence
@@ -493,7 +493,7 @@ are provided in the example code.

- + Summary

diff --git a/doc/html/fusion/extension/iterator_facade.html b/doc/html/fusion/extension/iterator_facade.html index 49b74580..38102f45 100644 --- a/doc/html/fusion/extension/iterator_facade.html +++ b/doc/html/fusion/extension/iterator_facade.html @@ -3,7 +3,7 @@ Iterator Facade - + @@ -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

@@ -435,14 +435,14 @@

- + 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 039f349d..ca797c33 100644 --- a/doc/html/fusion/extension/sequence_facade.html +++ b/doc/html/fusion/extension/sequence_facade.html @@ -3,7 +3,7 @@ Sequence Facade - + @@ -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 427b6aba..c218de9a 100644 --- a/doc/html/fusion/functional.html +++ b/doc/html/fusion/functional.html @@ -3,7 +3,7 @@ Functional - + @@ -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.html b/doc/html/fusion/functional/adapters.html index e62dfd4b..3aee98d2 100644 --- a/doc/html/fusion/functional/adapters.html +++ b/doc/html/fusion/functional/adapters.html @@ -3,7 +3,7 @@ Adapters - + diff --git a/doc/html/fusion/functional/adapters/fused.html b/doc/html/fusion/functional/adapters/fused.html index 1319a107..dbaf9dea 100644 --- a/doc/html/fusion/functional/adapters/fused.html +++ b/doc/html/fusion/functional/adapters/fused.html @@ -3,7 +3,7 @@ fused - + @@ -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 39ab6c3b..bf820d6c 100644 --- a/doc/html/fusion/functional/adapters/fused_function_object.html +++ b/doc/html/fusion/functional/adapters/fused_function_object.html @@ -3,7 +3,7 @@ fused_function_object - + @@ -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 43ab2e3f..ef32e171 100644 --- a/doc/html/fusion/functional/adapters/fused_procedure.html +++ b/doc/html/fusion/functional/adapters/fused_procedure.html @@ -3,7 +3,7 @@ fused_procedure - + @@ -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 f36d3bd4..ac89e1d0 100644 --- a/doc/html/fusion/functional/adapters/limits.html +++ b/doc/html/fusion/functional/adapters/limits.html @@ -3,7 +3,7 @@ Limits - + @@ -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 54c7229d..fef8d068 100644 --- a/doc/html/fusion/functional/adapters/unfused.html +++ b/doc/html/fusion/functional/adapters/unfused.html @@ -3,7 +3,7 @@ unfused - + @@ -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 f4d23e0a..963f7c4e 100644 --- a/doc/html/fusion/functional/adapters/unfused_typed.html +++ b/doc/html/fusion/functional/adapters/unfused_typed.html @@ -3,7 +3,7 @@ unfused_typed - + @@ -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.html b/doc/html/fusion/functional/concepts.html index c1eeed42..1f6efedb 100644 --- a/doc/html/fusion/functional/concepts.html +++ b/doc/html/fusion/functional/concepts.html @@ -3,7 +3,7 @@ Concepts - + diff --git a/doc/html/fusion/functional/concepts/callable.html b/doc/html/fusion/functional/concepts/callable.html index df1db4da..38efdb94 100644 --- a/doc/html/fusion/functional/concepts/callable.html +++ b/doc/html/fusion/functional/concepts/callable.html @@ -3,7 +3,7 @@ Callable Object - + @@ -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 56fc5adf..c76091ba 100644
--- a/doc/html/fusion/functional/concepts/def_callable.html
+++ b/doc/html/fusion/functional/concepts/def_callable.html
@@ -3,7 +3,7 @@
 
 Deferred Callable Object
 
-
+
 
 
 
@@ -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 c8300289..746842f3 100644
--- a/doc/html/fusion/functional/concepts/poly.html
+++ b/doc/html/fusion/functional/concepts/poly.html
@@ -3,7 +3,7 @@
 
 Polymorphic Function Object
 
-
+
 
 
 
@@ -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 7249e446..a6f44fbb 100644
--- a/doc/html/fusion/functional/concepts/reg_callable.html
+++ b/doc/html/fusion/functional/concepts/reg_callable.html
@@ -3,7 +3,7 @@
 
 Regular Callable Object
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/functional/generation.html
index 563f1d06..008a56eb 100644
--- a/doc/html/fusion/functional/generation.html
+++ b/doc/html/fusion/functional/generation.html
@@ -3,7 +3,7 @@
 
 Generation
 
-
+
 
 
 
diff --git a/doc/html/fusion/functional/generation/functions.html b/doc/html/fusion/functional/generation/functions.html
index 4ca2dcd2..b9df864c 100644
--- a/doc/html/fusion/functional/generation/functions.html
+++ b/doc/html/fusion/functional/generation/functions.html
@@ -3,7 +3,7 @@
 
 Functions
 
-
+
 
 
 
diff --git a/doc/html/fusion/functional/generation/functions/mk_fused.html b/doc/html/fusion/functional/generation/functions/mk_fused.html
index fe800bf5..5517c860 100644
--- a/doc/html/fusion/functional/generation/functions/mk_fused.html
+++ b/doc/html/fusion/functional/generation/functions/mk_fused.html
@@ -3,7 +3,7 @@
 
 make_fused
 
-
+
 
 
 
@@ -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 a630a67b..28bd6194 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html @@ -3,7 +3,7 @@ make_fused_function_object - + @@ -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 b5808550..f9eda0f9 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_proc.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_proc.html @@ -3,7 +3,7 @@ make_fused_procedure - + @@ -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 bf13a28f..01912357 100644 --- a/doc/html/fusion/functional/generation/functions/mk_unfused.html +++ b/doc/html/fusion/functional/generation/functions/mk_unfused.html @@ -3,7 +3,7 @@ make_unfused - + @@ -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.html b/doc/html/fusion/functional/generation/metafunctions.html index 63bd4e52..f32bc1c1 100644 --- a/doc/html/fusion/functional/generation/metafunctions.html +++ b/doc/html/fusion/functional/generation/metafunctions.html @@ -3,7 +3,7 @@ Metafunctions - + diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html index c2b87eaa..bc309b72 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html @@ -3,7 +3,7 @@ make_fused - + @@ -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 46a0a80d..ea097584 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html @@ -3,7 +3,7 @@ make_fused_function_object - + @@ -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 8c264124..a3204de4 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html @@ -3,7 +3,7 @@ make_fused_procedure - + @@ -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 5ad10ef3..52591eda 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html @@ -3,7 +3,7 @@ make_unfused - + @@ -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.html b/doc/html/fusion/functional/invocation.html index 02dae5c3..49ffed5f 100644 --- a/doc/html/fusion/functional/invocation.html +++ b/doc/html/fusion/functional/invocation.html @@ -3,7 +3,7 @@ Invocation - + diff --git a/doc/html/fusion/functional/invocation/functions.html b/doc/html/fusion/functional/invocation/functions.html index 8868e636..65fca2c9 100644 --- a/doc/html/fusion/functional/invocation/functions.html +++ b/doc/html/fusion/functional/invocation/functions.html @@ -3,7 +3,7 @@ Functions - + diff --git a/doc/html/fusion/functional/invocation/functions/invoke.html b/doc/html/fusion/functional/invocation/functions/invoke.html index b92bc23c..7ca7d4be 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke.html +++ b/doc/html/fusion/functional/invocation/functions/invoke.html @@ -3,7 +3,7 @@ invoke - + @@ -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 f68cddfb..636a1581 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke_fobj.html +++ b/doc/html/fusion/functional/invocation/functions/invoke_fobj.html @@ -3,7 +3,7 @@ invoke_function_object - + @@ -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 ba4b3560..95fe1fdc 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/functions/invoke_proc.html @@ -3,7 +3,7 @@ invoke_procedure - + @@ -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 24a522d3..1d50885a 100644 --- a/doc/html/fusion/functional/invocation/limits.html +++ b/doc/html/fusion/functional/invocation/limits.html @@ -3,7 +3,7 @@ Limits - + @@ -27,13 +27,13 @@ Limits
- + Header
#include <boost/fusion/functional/invocation/limits.hpp>
 
- + Macros

diff --git a/doc/html/fusion/functional/invocation/metafunctions.html b/doc/html/fusion/functional/invocation/metafunctions.html index 2467e1b6..cf76cdda 100644 --- a/doc/html/fusion/functional/invocation/metafunctions.html +++ b/doc/html/fusion/functional/invocation/metafunctions.html @@ -3,7 +3,7 @@ Metafunctions - + diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke.html b/doc/html/fusion/functional/invocation/metafunctions/invoke.html index 26fe36f8..b8fab42d 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke.html @@ -3,7 +3,7 @@ invoke - + @@ -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 4fdc4b90..6cd3e7da 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html @@ -3,7 +3,7 @@ invoke_function_object - + @@ -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 a779304a..3d79703b 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html @@ -3,7 +3,7 @@ invoke_procedure - + @@ -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 c11f10cf..f7bd8b1c 100644 --- a/doc/html/fusion/introduction.html +++ b/doc/html/fusion/introduction.html @@ -3,7 +3,7 @@ Introduction - + @@ -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 24b786f9..9d0480b5 100644 --- a/doc/html/fusion/iterator.html +++ b/doc/html/fusion/iterator.html @@ -3,7 +3,7 @@ Iterator - + @@ -81,7 +81,7 @@ Sequence.

- + Header

#include <boost/fusion/iterator.hpp>
diff --git a/doc/html/fusion/iterator/concepts.html b/doc/html/fusion/iterator/concepts.html
index b4b03309..e586400f 100644
--- a/doc/html/fusion/iterator/concepts.html
+++ b/doc/html/fusion/iterator/concepts.html
@@ -3,7 +3,7 @@
 
 Concepts
 
-
+
 
 
 
diff --git a/doc/html/fusion/iterator/concepts/associative_iterator.html b/doc/html/fusion/iterator/concepts/associative_iterator.html
index 309b314c..eaad0719 100644
--- a/doc/html/fusion/iterator/concepts/associative_iterator.html
+++ b/doc/html/fusion/iterator/concepts/associative_iterator.html
@@ -3,7 +3,7 @@
 
 Associative Iterator
 
-
+
 
 
 
@@ -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 79878316..e27cae93 100644 --- a/doc/html/fusion/iterator/concepts/bidirectional_iterator.html +++ b/doc/html/fusion/iterator/concepts/bidirectional_iterator.html @@ -3,7 +3,7 @@ Bidirectional Iterator - + @@ -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 e8d8c8ea..2bf4e92a 100644 --- a/doc/html/fusion/iterator/concepts/forward_iterator.html +++ b/doc/html/fusion/iterator/concepts/forward_iterator.html @@ -3,7 +3,7 @@ Forward Iterator - + @@ -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 04f37615..012e6b38 100644 --- a/doc/html/fusion/iterator/concepts/random_access_iterator.html +++ b/doc/html/fusion/iterator/concepts/random_access_iterator.html @@ -3,7 +3,7 @@ Random Access Iterator - + @@ -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.html b/doc/html/fusion/iterator/functions.html index 24ee01cd..ed34f382 100644 --- a/doc/html/fusion/iterator/functions.html +++ b/doc/html/fusion/iterator/functions.html @@ -3,7 +3,7 @@ Functions - + diff --git a/doc/html/fusion/iterator/functions/advance.html b/doc/html/fusion/iterator/functions/advance.html index d6ea36c1..3baf1602 100644 --- a/doc/html/fusion/iterator/functions/advance.html +++ b/doc/html/fusion/iterator/functions/advance.html @@ -3,7 +3,7 @@ advance - + @@ -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 6cdaf89f..5726a941 100644
--- a/doc/html/fusion/iterator/functions/advance_c.html
+++ b/doc/html/fusion/iterator/functions/advance_c.html
@@ -3,7 +3,7 @@
 
 advance_c
 
-
+
 
 
 
@@ -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 f8496388..bfb51292 100644
--- a/doc/html/fusion/iterator/functions/deref.html
+++ b/doc/html/fusion/iterator/functions/deref.html
@@ -3,7 +3,7 @@
 
 deref
 
-
+
 
 
 
@@ -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 0f4092aa..3511b44f 100644
--- a/doc/html/fusion/iterator/functions/deref_data.html
+++ b/doc/html/fusion/iterator/functions/deref_data.html
@@ -3,7 +3,7 @@
 
 deref_data
 
-
+
 
 
 
@@ -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 449ceffa..38ba9e17 100644
--- a/doc/html/fusion/iterator/functions/distance.html
+++ b/doc/html/fusion/iterator/functions/distance.html
@@ -3,7 +3,7 @@
 
 distance
 
-
+
 
 
 
@@ -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 6c7be88d..8399f639 100644
--- a/doc/html/fusion/iterator/functions/next.html
+++ b/doc/html/fusion/iterator/functions/next.html
@@ -3,7 +3,7 @@
 
 next
 
-
+
 
 
 
@@ -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 688f1f4e..3ba81855 100644
--- a/doc/html/fusion/iterator/functions/prior.html
+++ b/doc/html/fusion/iterator/functions/prior.html
@@ -3,7 +3,7 @@
 
 prior
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/iterator/metafunctions.html
index 197b5498..c71a5528 100644
--- a/doc/html/fusion/iterator/metafunctions.html
+++ b/doc/html/fusion/iterator/metafunctions.html
@@ -3,7 +3,7 @@
 
 Metafunctions
 
-
+
 
 
 
diff --git a/doc/html/fusion/iterator/metafunctions/advance.html b/doc/html/fusion/iterator/metafunctions/advance.html
index 48c72717..4844a55f 100644
--- a/doc/html/fusion/iterator/metafunctions/advance.html
+++ b/doc/html/fusion/iterator/metafunctions/advance.html
@@ -3,7 +3,7 @@
 
 advance
 
-
+
 
 
 
@@ -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 20c66d95..9fe0ed95 100644
--- a/doc/html/fusion/iterator/metafunctions/advance_c.html
+++ b/doc/html/fusion/iterator/metafunctions/advance_c.html
@@ -3,7 +3,7 @@
 
 advance_c
 
-
+
 
 
 
@@ -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 c54733ac..b9d5fb17 100644
--- a/doc/html/fusion/iterator/metafunctions/deref.html
+++ b/doc/html/fusion/iterator/metafunctions/deref.html
@@ -3,7 +3,7 @@
 
 deref
 
-
+
 
 
 
@@ -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 140c292c..93cec830 100644
--- a/doc/html/fusion/iterator/metafunctions/deref_data.html
+++ b/doc/html/fusion/iterator/metafunctions/deref_data.html
@@ -3,7 +3,7 @@
 
 deref_data
 
-
+
 
 
 
@@ -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 a29d884f..5028c706 100644
--- a/doc/html/fusion/iterator/metafunctions/distance.html
+++ b/doc/html/fusion/iterator/metafunctions/distance.html
@@ -3,7 +3,7 @@
 
 distance
 
-
+
 
 
 
@@ -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 3e048154..97de7048 100644
--- a/doc/html/fusion/iterator/metafunctions/equal_to.html
+++ b/doc/html/fusion/iterator/metafunctions/equal_to.html
@@ -3,7 +3,7 @@
 
 equal_to
 
-
+
 
 
 
@@ -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 8e0b6f20..b8ba3bc4 100644
--- a/doc/html/fusion/iterator/metafunctions/key_of.html
+++ b/doc/html/fusion/iterator/metafunctions/key_of.html
@@ -3,7 +3,7 @@
 
 key_of
 
-
+
 
 
 
@@ -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 638b9985..b3c98341 100644
--- a/doc/html/fusion/iterator/metafunctions/next.html
+++ b/doc/html/fusion/iterator/metafunctions/next.html
@@ -3,7 +3,7 @@
 
 next
 
-
+
 
 
 
@@ -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 cafb37d7..b6049b1c 100644
--- a/doc/html/fusion/iterator/metafunctions/prior.html
+++ b/doc/html/fusion/iterator/metafunctions/prior.html
@@ -3,7 +3,7 @@
 
 prior
 
-
+
 
 
 
@@ -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 e2c2af43..aae431dd 100644
--- a/doc/html/fusion/iterator/metafunctions/value_of.html
+++ b/doc/html/fusion/iterator/metafunctions/value_of.html
@@ -3,7 +3,7 @@
 
 value_of
 
-
+
 
 
 
@@ -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 d14d922e..19293f68 100644
--- a/doc/html/fusion/iterator/metafunctions/value_of_data.html
+++ b/doc/html/fusion/iterator/metafunctions/value_of_data.html
@@ -3,7 +3,7 @@
 
 value_of_data
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/iterator/operator.html
index 7d3c9fff..87d0fb76 100644
--- a/doc/html/fusion/iterator/operator.html
+++ b/doc/html/fusion/iterator/operator.html
@@ -3,7 +3,7 @@
 
 Operator
 
-
+
 
 
 
diff --git a/doc/html/fusion/iterator/operator/operator_equality.html b/doc/html/fusion/iterator/operator/operator_equality.html
index 2c8b4170..4db3d51c 100644
--- a/doc/html/fusion/iterator/operator/operator_equality.html
+++ b/doc/html/fusion/iterator/operator/operator_equality.html
@@ -3,7 +3,7 @@
 
 Operator ==
 
-
+
 
 
 
@@ -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 bcd7468d..f872a5b6 100644
--- a/doc/html/fusion/iterator/operator/operator_inequality.html
+++ b/doc/html/fusion/iterator/operator/operator_inequality.html
@@ -3,7 +3,7 @@
 
 Operator !=
 
-
+
 
 
 
@@ -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 c52f4216..aa3ecaa6 100644
--- a/doc/html/fusion/iterator/operator/operator_unary_star.html
+++ b/doc/html/fusion/iterator/operator/operator_unary_star.html
@@ -3,7 +3,7 @@
 
 Operator *
 
-
+
 
 
 
@@ -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 494350e5..987e986e 100644
--- a/doc/html/fusion/notes.html
+++ b/doc/html/fusion/notes.html
@@ -3,7 +3,7 @@
 
 Notes
 
-
+
 
 
 
@@ -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 b4a81b1d..ddeca36d 100644 --- a/doc/html/fusion/organization.html +++ b/doc/html/fusion/organization.html @@ -3,7 +3,7 @@ Organization - + @@ -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 43f7f60e..bc9b3632 100644 --- a/doc/html/fusion/preface.html +++ b/doc/html/fusion/preface.html @@ -3,7 +3,7 @@ Preface - + @@ -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 9d2bc6a1..47831753 100644 --- a/doc/html/fusion/quick_start.html +++ b/doc/html/fusion/quick_start.html @@ -3,7 +3,7 @@ Quick Start - + @@ -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/references.html b/doc/html/fusion/references.html index 24845fd1..84116491 100644 --- a/doc/html/fusion/references.html +++ b/doc/html/fusion/references.html @@ -3,7 +3,7 @@ References - + diff --git a/doc/html/fusion/sequence.html b/doc/html/fusion/sequence.html index ecac45e7..afd38a15 100644 --- a/doc/html/fusion/sequence.html +++ b/doc/html/fusion/sequence.html @@ -3,7 +3,7 @@ Sequence - + @@ -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 82b4d273..349525f7 100644
--- a/doc/html/fusion/sequence/concepts.html
+++ b/doc/html/fusion/sequence/concepts.html
@@ -3,7 +3,7 @@
 
 Concepts
 
-
+
 
 
 
@@ -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 6c9ca166..c7519961 100644 --- a/doc/html/fusion/sequence/concepts/associative_sequence.html +++ b/doc/html/fusion/sequence/concepts/associative_sequence.html @@ -3,7 +3,7 @@ Associative Sequence - + @@ -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 9a38b700..4a2152c6 100644 --- a/doc/html/fusion/sequence/concepts/bidirectional_sequence.html +++ b/doc/html/fusion/sequence/concepts/bidirectional_sequence.html @@ -3,7 +3,7 @@ Bidirectional Sequence - + @@ -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 64ee321d..5ee362bb 100644 --- a/doc/html/fusion/sequence/concepts/forward_sequence.html +++ b/doc/html/fusion/sequence/concepts/forward_sequence.html @@ -3,7 +3,7 @@ Forward Sequence - + @@ -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 2735b06d..9f0cfa78 100644 --- a/doc/html/fusion/sequence/concepts/random_access_sequence.html +++ b/doc/html/fusion/sequence/concepts/random_access_sequence.html @@ -3,7 +3,7 @@ Random Access Sequence - + @@ -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 33d310c2..816fc9b2 100644 --- a/doc/html/fusion/sequence/intrinsic.html +++ b/doc/html/fusion/sequence/intrinsic.html @@ -3,7 +3,7 @@ Intrinsic - + @@ -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.html b/doc/html/fusion/sequence/intrinsic/functions.html index cb1de60c..eeaa90d8 100644 --- a/doc/html/fusion/sequence/intrinsic/functions.html +++ b/doc/html/fusion/sequence/intrinsic/functions.html @@ -3,7 +3,7 @@ Functions - + diff --git a/doc/html/fusion/sequence/intrinsic/functions/at.html b/doc/html/fusion/sequence/intrinsic/functions/at.html index 2e6f9895..8d2e444d 100644 --- a/doc/html/fusion/sequence/intrinsic/functions/at.html +++ b/doc/html/fusion/sequence/intrinsic/functions/at.html @@ -3,7 +3,7 @@ at - + @@ -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 3fcb7f6a..23fa7f1f 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/at_c.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/at_c.html
@@ -3,7 +3,7 @@
 
 at_c
 
-
+
 
 
 
@@ -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 decbe7c3..24bde4cc 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/at_key.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/at_key.html
@@ -3,7 +3,7 @@
 
 at_key
 
-
+
 
 
 
@@ -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 5e02ab00..fc28aa2d 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/back.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/back.html
@@ -3,7 +3,7 @@
 
 back
 
-
+
 
 
 
@@ -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 f9ccf211..763f20ca 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/begin.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/begin.html
@@ -3,7 +3,7 @@
 
 begin
 
-
+
 
 
 
@@ -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 ee713d13..a16ed75d 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/empty.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/empty.html
@@ -3,7 +3,7 @@
 
 empty
 
-
+
 
 
 
@@ -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 f0055b03..24e17231 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/end.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/end.html
@@ -3,7 +3,7 @@
 
 end
 
-
+
 
 
 
@@ -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 a6467a42..716b6267 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/front.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/front.html
@@ -3,7 +3,7 @@
 
 front
 
-
+
 
 
 
@@ -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 3e9b9f07..f0ddc89e 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/has_key.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/has_key.html
@@ -3,7 +3,7 @@
 
 has_key
 
-
+
 
 
 
@@ -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 54945730..c4a473e0 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/size.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/size.html
@@ -3,7 +3,7 @@
 
 size
 
-
+
 
 
 
@@ -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 e0b8e11a..52a9928f 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/swap.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/swap.html
@@ -3,7 +3,7 @@
 
 swap
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/sequence/intrinsic/metafunctions.html
index 35b5be17..fa5c74ea 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions.html
@@ -3,7 +3,7 @@
 
 Metafunctions
 
-
+
 
 
 
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/at.html b/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
index e93f34e9..4b79843e 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
@@ -3,7 +3,7 @@
 
 at
 
-
+
 
 
 
@@ -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 27311720..903b5dbe 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html @@ -3,7 +3,7 @@ at_c - + @@ -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 7ae7b6e2..1540a3fa 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html @@ -3,7 +3,7 @@ at_key - + @@ -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 a2e0fd9a..c78f9aa3 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/back.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/back.html @@ -3,7 +3,7 @@ back - + @@ -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 e8a35d28..ec2f0b51 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html
@@ -3,7 +3,7 @@
 
 begin
 
-
+
 
 
 
@@ -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 5dee4743..3699b419 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html
@@ -3,7 +3,7 @@
 
 empty
 
-
+
 
 
 
@@ -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 5ba2ef53..8942cbc6 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/end.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/end.html
@@ -3,7 +3,7 @@
 
 end
 
-
+
 
 
 
@@ -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 0428314e..1f907f12 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/front.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/front.html
@@ -3,7 +3,7 @@
 
 front
 
-
+
 
 
 
@@ -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 cdf59b02..a45e7b9c 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/has_key.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/has_key.html
@@ -3,7 +3,7 @@
 
 has_key
 
-
+
 
 
 
@@ -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 62577c2c..9c2b2561 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/size.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/size.html
@@ -3,7 +3,7 @@
 
 size
 
-
+
 
 
 
@@ -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 1bb080df..bbe8c5bd 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/swap.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/swap.html
@@ -3,7 +3,7 @@
 
 swap
 
-
+
 
 
 
@@ -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 761a47ac..e6f7a38a 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html
@@ -3,7 +3,7 @@
 
 value_at
 
-
+
 
 
 
@@ -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 ba075a1f..fc820f74 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_c.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_c.html
@@ -3,7 +3,7 @@
 
 value_at_c
 
-
+
 
 
 
@@ -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 97f0adb5..e1be2e7b 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_key.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_key.html
@@ -3,7 +3,7 @@
 
 value_at_key
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/sequence/operator.html
index be7e0c01..2b1e2854 100644
--- a/doc/html/fusion/sequence/operator.html
+++ b/doc/html/fusion/sequence/operator.html
@@ -3,7 +3,7 @@
 
 Operator
 
-
+
 
 
 
diff --git a/doc/html/fusion/sequence/operator/comparison.html b/doc/html/fusion/sequence/operator/comparison.html
index 6306aab6..7653360a 100644
--- a/doc/html/fusion/sequence/operator/comparison.html
+++ b/doc/html/fusion/sequence/operator/comparison.html
@@ -3,7 +3,7 @@
 
 Comparison
 
-
+
 
 
 
@@ -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 8e3f9757..8dacf70c 100644
--- a/doc/html/fusion/sequence/operator/comparison/equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/equal.html
@@ -3,7 +3,7 @@
 
 equal
 
-
+
 
 
 
@@ -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 7197b642..03264f31 100644
--- a/doc/html/fusion/sequence/operator/comparison/greater_than.html
+++ b/doc/html/fusion/sequence/operator/comparison/greater_than.html
@@ -3,7 +3,7 @@
 
 greater than
 
-
+
 
 
 
@@ -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 17f5979d..534a12d7 100644
--- a/doc/html/fusion/sequence/operator/comparison/greater_than_equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/greater_than_equal.html
@@ -3,7 +3,7 @@
 
 greater than equal
 
-
+
 
 
 
@@ -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 e0eb2c1c..9a420591 100644
--- a/doc/html/fusion/sequence/operator/comparison/less_than.html
+++ b/doc/html/fusion/sequence/operator/comparison/less_than.html
@@ -3,7 +3,7 @@
 
 less than
 
-
+
 
 
 
@@ -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 b2c03472..7ba2e708 100644
--- a/doc/html/fusion/sequence/operator/comparison/less_than_equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/less_than_equal.html
@@ -3,7 +3,7 @@
 
 less than equal
 
-
+
 
 
 
@@ -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 70072299..18a46e03 100644
--- a/doc/html/fusion/sequence/operator/comparison/not_equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/not_equal.html
@@ -3,7 +3,7 @@
 
 not equal
 
-
+
 
 
 
@@ -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 2b1d4cc2..94d651f8 100644
--- a/doc/html/fusion/sequence/operator/i_o.html
+++ b/doc/html/fusion/sequence/operator/i_o.html
@@ -3,7 +3,7 @@
 
 I/O
 
-
+
 
 
 
@@ -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 51030266..63111870 100644
--- a/doc/html/fusion/sequence/operator/i_o/in.html
+++ b/doc/html/fusion/sequence/operator/i_o/in.html
@@ -3,7 +3,7 @@
 
 in
 
-
+
 
 
 
@@ -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 224061f5..3ad6a50e 100644
--- a/doc/html/fusion/sequence/operator/i_o/out.html
+++ b/doc/html/fusion/sequence/operator/i_o/out.html
@@ -3,7 +3,7 @@
 
 out
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/support.html
index 6949af9b..50e09866 100644
--- a/doc/html/fusion/support.html
+++ b/doc/html/fusion/support.html
@@ -3,7 +3,7 @@
 
 Support
 
-
+
 
 
 
diff --git a/doc/html/fusion/support/category_of.html b/doc/html/fusion/support/category_of.html
index 175af66a..53764c9f 100644
--- a/doc/html/fusion/support/category_of.html
+++ b/doc/html/fusion/support/category_of.html
@@ -3,7 +3,7 @@
 
 category_of
 
-
+
 
 
 
@@ -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 ac7fdeba..cc3d826e 100644
--- a/doc/html/fusion/support/deduce.html
+++ b/doc/html/fusion/support/deduce.html
@@ -3,7 +3,7 @@
 
 deduce
 
-
+
 
 
 
@@ -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 d8c12462..192298d9 100644 --- a/doc/html/fusion/support/deduce_sequence.html +++ b/doc/html/fusion/support/deduce_sequence.html @@ -3,7 +3,7 @@ deduce_sequence - + @@ -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 a03532ee..9bfd50e4 100644 --- a/doc/html/fusion/support/is_sequence.html +++ b/doc/html/fusion/support/is_sequence.html @@ -3,7 +3,7 @@ is_sequence - + @@ -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 1a05d34c..403c168d 100644
--- a/doc/html/fusion/support/is_view.html
+++ b/doc/html/fusion/support/is_view.html
@@ -3,7 +3,7 @@
 
 is_view
 
-
+
 
 
 
@@ -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 e04e0199..337e226e 100644
--- a/doc/html/fusion/support/pair.html
+++ b/doc/html/fusion/support/pair.html
@@ -3,7 +3,7 @@
 
 pair
 
-
+
 
 
 
@@ -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 bb1667e1..4b66a533 100644
--- a/doc/html/fusion/support/tag_of.html
+++ b/doc/html/fusion/support/tag_of.html
@@ -3,7 +3,7 @@
 
 tag_of
 
-
+
 
 
 
@@ -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.html b/doc/html/fusion/tuple.html
index 2858e0c6..449f10c7 100644
--- a/doc/html/fusion/tuple.html
+++ b/doc/html/fusion/tuple.html
@@ -3,7 +3,7 @@
 
 Tuple
 
-
+
 
 
 
diff --git a/doc/html/fusion/tuple/class_template_tuple.html b/doc/html/fusion/tuple/class_template_tuple.html
index 4ede42f6..31ebd973 100644
--- a/doc/html/fusion/tuple/class_template_tuple.html
+++ b/doc/html/fusion/tuple/class_template_tuple.html
@@ -3,7 +3,7 @@
 
 Class template tuple
 
-
+
 
 
 
@@ -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 0ad6dbcb..cedc6369 100644
--- a/doc/html/fusion/tuple/class_template_tuple/construction.html
+++ b/doc/html/fusion/tuple/class_template_tuple/construction.html
@@ -3,7 +3,7 @@
 
 Construction
 
-
+
 
 
 
@@ -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 ae472e17..e49c5806 100644 --- a/doc/html/fusion/tuple/class_template_tuple/element_access.html +++ b/doc/html/fusion/tuple/class_template_tuple/element_access.html @@ -3,7 +3,7 @@ Element access - + @@ -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 c3972485..52edea81 100644
--- a/doc/html/fusion/tuple/class_template_tuple/relational_operators.html
+++ b/doc/html/fusion/tuple/class_template_tuple/relational_operators.html
@@ -3,7 +3,7 @@
 
 Relational operators
 
-
+
 
 
 
@@ -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 c376b80d..e76ae7b3 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 @@ -3,7 +3,7 @@ Tuple creation functions - + @@ -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 af861b00..3508cf5f 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
@@ -3,7 +3,7 @@
 
 Tuple helper classes
 
-
+
 
 
 
@@ -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 63f9ad31..a334a273 100644
--- a/doc/html/fusion/tuple/pairs.html
+++ b/doc/html/fusion/tuple/pairs.html
@@ -3,7 +3,7 @@
 
 Pairs
 
-
+
 
 
 
@@ -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 157d61d7..66ce1022 100644
--- a/doc/html/fusion/view.html
+++ b/doc/html/fusion/view.html
@@ -3,7 +3,7 @@
 
 View
 
-
+
 
 
 
@@ -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 a9ffa089..02fe8d2f 100644
--- a/doc/html/fusion/view/filter_view.html
+++ b/doc/html/fusion/view/filter_view.html
@@ -3,7 +3,7 @@
 
 filter_view
 
-
+
 
 
 
@@ -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 dca63711..2a4655a7 100644
--- a/doc/html/fusion/view/iterator_range.html
+++ b/doc/html/fusion/view/iterator_range.html
@@ -3,7 +3,7 @@
 
 iterator_range
 
-
+
 
 
 
@@ -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 ec578a7b..61b4ffad 100644
--- a/doc/html/fusion/view/joint_view.html
+++ b/doc/html/fusion/view/joint_view.html
@@ -3,7 +3,7 @@
 
 joint_view
 
-
+
 
 
 
@@ -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 85b9ec53..34d3a756 100644
--- a/doc/html/fusion/view/nview.html
+++ b/doc/html/fusion/view/nview.html
@@ -3,7 +3,7 @@
 
 nview
 
-
+
 
 
 
@@ -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 095f4a9c..2de97b97 100644
--- a/doc/html/fusion/view/reverse_view.html
+++ b/doc/html/fusion/view/reverse_view.html
@@ -3,7 +3,7 @@
 
 reverse_view
 
-
+
 
 
 
@@ -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 278f5e63..95be6aec 100644
--- a/doc/html/fusion/view/single_view.html
+++ b/doc/html/fusion/view/single_view.html
@@ -3,7 +3,7 @@
 
 single_view
 
-
+
 
 
 
@@ -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 6b51608b..f4f3c629 100644
--- a/doc/html/fusion/view/transform_view.html
+++ b/doc/html/fusion/view/transform_view.html
@@ -3,7 +3,7 @@
 
 transform_view
 
-
+
 
 
 
@@ -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 1c275ea5..4bdefd42 100644
--- a/doc/html/fusion/view/zip_view.html
+++ b/doc/html/fusion/view/zip_view.html
@@ -3,7 +3,7 @@
 
 zip_view
 
-
+
 
 
 
@@ -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 a5c02b3f..f66bcce2 100644
--- a/doc/html/index.html
+++ b/doc/html/index.html
@@ -3,7 +3,7 @@
 
 Chapter 1. Fusion 2.0
 
-
+
 
 
 
@@ -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)

@@ -164,6 +164,7 @@
boost::array
boost::tuple
BOOST_FUSION_ADAPT_STRUCT
+
BOOST_FUSION_ADAPT_STRUCT_NAMED
BOOST_FUSION_ADAPT_ASSOC_STRUCT
Algorithm
@@ -247,7 +248,7 @@
- +

Last revised: December 29, 2009 at 18:24:22 GMT

Last revised: January 29, 2010 at 02:17:31 GMT


From 0d5ff2fc01ef252e63ebbbe605099d5102835982 Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Fri, 29 Jan 2010 13:49:38 +0000 Subject: [PATCH 28/36] Fusion: added tests for adapt_struct_named [SVN r59339] --- test/Jamfile | 1 + test/sequence/adapt_struct_named.cpp | 136 +++++++++++++++++++++++++++ 2 files changed, 137 insertions(+) create mode 100644 test/sequence/adapt_struct_named.cpp diff --git a/test/Jamfile b/test/Jamfile index f8bfe077..28f4c871 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -109,6 +109,7 @@ import testing ; [ run sequence/deduce_sequence.cpp : : : : ] [ run sequence/adapt_struct.cpp : : : : ] [ run sequence/adapt_assoc_struct.cpp : : : : ] + [ run sequence/adapt_struct_named.cpp : : : : ] [ run functional/fused.cpp : : : : ] [ run functional/fused_function_object.cpp : : : : ] diff --git a/test/sequence/adapt_struct_named.cpp b/test/sequence/adapt_struct_named.cpp new file mode 100644 index 00000000..0bcff2ab --- /dev/null +++ b/test/sequence/adapt_struct_named.cpp @@ -0,0 +1,136 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + 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) +==============================================================================*/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace ns +{ + struct point + { + int x; + int y; + }; +} + +BOOST_FUSION_ADAPT_STRUCT_NAMED( + ns::point, point, + (int, x) + (int, y) +) + +struct s { int m; }; +BOOST_FUSION_ADAPT_STRUCT_NAMED_NS(s, (ns1), s1, (int, m)) + +int +main() +{ + using namespace boost::fusion; + using namespace boost; + using namespace std; + + std::cout << tuple_open('['); + std::cout << tuple_close(']'); + std::cout << tuple_delimiter(", "); + + { + BOOST_MPL_ASSERT_NOT((traits::is_view)); + ns::point basep = {123, 456}; + adapted::point p(basep); + + std::cout << at_c<0>(p) << std::endl; + std::cout << at_c<1>(p) << std::endl; + std::cout << p << std::endl; + BOOST_TEST(p == make_vector(123, 456)); + + at_c<0>(p) = 6; + at_c<1>(p) = 9; + BOOST_TEST(p == make_vector(6, 9)); + + BOOST_STATIC_ASSERT(result_of::size::value == 2); + BOOST_STATIC_ASSERT(!result_of::empty::value); + + BOOST_TEST(front(p) == 6); + BOOST_TEST(back(p) == 9); + } + + { + fusion::vector v1(4, 2); + ns::point p = {5, 3}; + adapted::point v2(p); + + fusion::vector v3(5, 4); + BOOST_TEST(v1 < v2); + BOOST_TEST(v1 <= v2); + BOOST_TEST(v2 > v1); + BOOST_TEST(v2 >= v1); + BOOST_TEST(v2 < v3); + BOOST_TEST(v2 <= v3); + BOOST_TEST(v3 > v2); + BOOST_TEST(v3 >= v2); + } + + { + // conversion from adapted::point to vector + ns::point basep = {5, 3}; + adapted::point p(basep); + fusion::vector v(p); + v = p; + } + + { + // conversion from adapted::point to list + ns::point basep = {5, 3}; + adapted::point p(basep); + fusion::list l(p); + l = p; + } + + { // begin/end + using namespace boost::fusion; + using boost::is_same; + + typedef result_of::begin::type b; + typedef result_of::end::type e; + // this fails + BOOST_MPL_ASSERT((is_same::type, e>)); + } + + + { + BOOST_MPL_ASSERT((mpl::is_sequence)); + BOOST_MPL_ASSERT((boost::is_same< + fusion::result_of::value_at_c::type + , mpl::front::type>)); + } + + return boost::report_errors(); +} + From 6647f0c8a4d563d8ddf000f4719a98fda827e76b Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Fri, 29 Jan 2010 15:03:35 +0000 Subject: [PATCH 29/36] Fusion: fixed adapt_class to be usable with Spirit, added adapt_class_named [SVN r59340] --- include/boost/fusion/adapted.hpp | 1 + include/boost/fusion/adapted/class.hpp | 5 +- .../fusion/adapted/class/adapt_class.hpp | 67 ++++---- .../adapted/class/adapt_class_named.hpp | 156 ++++++++++++++++++ .../fusion/include/adapted_class_named.cpp | 12 ++ 5 files changed, 210 insertions(+), 31 deletions(-) create mode 100644 include/boost/fusion/adapted/class/adapt_class_named.hpp create mode 100644 include/boost/fusion/include/adapted_class_named.cpp diff --git a/include/boost/fusion/adapted.hpp b/include/boost/fusion/adapted.hpp index c343405c..0dd1f0e7 100644 --- a/include/boost/fusion/adapted.hpp +++ b/include/boost/fusion/adapted.hpp @@ -13,5 +13,6 @@ #include #include #include +#include #endif diff --git a/include/boost/fusion/adapted/class.hpp b/include/boost/fusion/adapted/class.hpp index be973831..37ee27ab 100644 --- a/include/boost/fusion/adapted/class.hpp +++ b/include/boost/fusion/adapted/class.hpp @@ -9,8 +9,9 @@ #define BOOST_FUSION_CLASS_OCTOBER_4_2009_839PM #include -#include -#include +#include +#include +#include #include #include diff --git a/include/boost/fusion/adapted/class/adapt_class.hpp b/include/boost/fusion/adapted/class/adapt_class.hpp index 0bfa13df..9622e7b1 100644 --- a/include/boost/fusion/adapted/class/adapt_class.hpp +++ b/include/boost/fusion/adapted/class/adapt_class.hpp @@ -1,5 +1,6 @@ /*============================================================================= Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2009-2010 Hartmut Kaiser 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) @@ -28,6 +29,10 @@ #include #include #include +#include +#include +#include +#include #define BOOST_FUSION_ADAPT_CLASS(name, bseq) \ BOOST_FUSION_ADAPT_CLASS_I( \ @@ -75,49 +80,53 @@ { \ template <> \ struct class_size : mpl::int_ {}; \ + template struct class_member_proxy; \ BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_CLASS_C, name, seq) \ }}} \ /***/ -#define BOOST_FUSION_ADAPT_CLASS_C(r, name, i, xy) \ +#define BOOST_FUSION_ADAPT_CLASS_C(r, fullname, i, xy) \ template <> \ - struct class_member \ + struct class_member_proxy \ { \ - typedef BOOST_PP_TUPLE_ELEM(4, 0, xy) type; \ - typedef BOOST_PP_TUPLE_ELEM(4, 1, xy) get_type; \ - struct proxy \ + typedef BOOST_PP_TUPLE_ELEM(4, 0, xy) lvalue; \ + typedef BOOST_PP_TUPLE_ELEM(4, 1, xy) rvalue; \ + typedef remove_const::type>::type type; \ + typedef add_reference::type>::type cref_type; \ + \ + class_member_proxy(fullname& obj) : obj(obj) {} \ + fullname& obj; \ + \ + class_member_proxy& operator=(cref_type val) \ { \ - typedef BOOST_PP_TUPLE_ELEM(4, 0, xy) type; \ - typedef BOOST_PP_TUPLE_ELEM(4, 1, xy) get_type; \ - typedef \ - add_reference::type>::type \ - cref_type; \ + BOOST_PP_TUPLE_ELEM(4, 3, xy); \ + return *this; \ + } \ \ - proxy(name& obj) : obj(obj) {} \ - name& obj; \ - \ - proxy& operator=(cref_type val) \ - { \ - BOOST_PP_TUPLE_ELEM(4, 3, xy); \ - return *this; \ - } \ - \ - operator get_type() \ - { \ - return BOOST_PP_TUPLE_ELEM(4, 2, xy); \ - } \ - }; \ - \ - static get_type call(name const& obj) \ + operator lvalue() \ { \ return BOOST_PP_TUPLE_ELEM(4, 2, xy); \ - }; \ + } \ + }; \ \ - static proxy call(name& obj) \ + template <> \ + struct class_member \ + { \ + typedef class_member_proxy proxy; \ + typedef proxy::type type; \ + typedef proxy::rvalue get_type; \ + \ + static get_type call(fullname const& obj) \ + { \ + return BOOST_PP_TUPLE_ELEM(4, 2, xy); \ + } \ + \ + static proxy call(fullname& obj) \ { \ return proxy(obj); \ - }; \ + } \ }; \ /***/ + #endif diff --git a/include/boost/fusion/adapted/class/adapt_class_named.hpp b/include/boost/fusion/adapted/class/adapt_class_named.hpp new file mode 100644 index 00000000..3878c384 --- /dev/null +++ b/include/boost/fusion/adapted/class/adapt_class_named.hpp @@ -0,0 +1,156 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + Copyright (c) 2009-2010 Hartmut Kaiser + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_ADAPT_CLASS_NAMED_JAN_27_2010_0614PM) +#define BOOST_FUSION_ADAPT_CLASS_NAMED_JAN_27_2010_0614PM + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#define BOOST_FUSION_ADAPT_CLASS_NAMED(name, newname, bseq) \ + BOOST_FUSION_ADAPT_CLASS_NAMED_I(name, (boost)(fusion)(adapted), newname, \ + BOOST_PP_CAT(BOOST_FUSION_ADAPT_CLASS_NAMED_X bseq, 0)) \ + /***/ + +#define BOOST_FUSION_ADAPT_CLASS_NAMED_NS(name, ns, newname, bseq) \ + BOOST_FUSION_ADAPT_CLASS_NAMED_I(name, ns, newname, \ + BOOST_PP_CAT(BOOST_FUSION_ADAPT_CLASS_NAMED_X bseq, 0)) \ + /***/ + +#define BOOST_FUSION_ADAPT_CLASS_NAMED_X(w, x, y, z) ((w, x, y, z)) BOOST_FUSION_ADAPT_CLASS_NAMED_Y +#define BOOST_FUSION_ADAPT_CLASS_NAMED_Y(w, x, y, z) ((w, x, y, z)) BOOST_FUSION_ADAPT_CLASS_NAMED_X +#define BOOST_FUSION_ADAPT_CLASS_NAMED_X0 +#define BOOST_FUSION_ADAPT_CLASS_NAMED_Y0 + +// BOOST_FUSION_ADAPT_CLASS_I generates the overarching structure and uses +// SEQ_FOR_EACH_I to generate the "linear" substructures. +// Thanks to Paul Mensonides for the PP macro help + +#define BOOST_FUSION_ADAPT_CLASS_NAMED_I(name, ns, newname, seq) \ + BOOST_PP_SEQ_FOR_EACH_R(1, BOOST_FUSION_ADAPT_CLASS_NAMED_NS_B, _, ns) \ + struct newname \ + { \ + newname(name& s) : obj(s) {} \ + name& obj; \ + }; \ + BOOST_PP_SEQ_FOR_EACH_R(1, BOOST_FUSION_ADAPT_CLASS_NAMED_NS_E, _, ns) \ + \ + namespace boost { namespace fusion { namespace traits \ + { \ + template <> \ + struct tag_of \ + { \ + typedef class_tag type; \ + }; \ + }}} \ + \ + namespace boost { namespace mpl \ + { \ + template \ + struct sequence_tag; \ + \ + template<> \ + struct sequence_tag \ + { \ + typedef fusion::fusion_sequence_tag type; \ + }; \ + \ + template<> \ + struct sequence_tag \ + { \ + typedef fusion::fusion_sequence_tag type; \ + }; \ + }} \ + \ + namespace boost { namespace fusion { namespace extension \ + { \ + template <> \ + struct class_size \ + : mpl::int_ {}; \ + template struct class_member_proxy; \ + BOOST_PP_SEQ_FOR_EACH_I(BOOST_FUSION_ADAPT_CLASS_NAMED_C, \ + BOOST_FUSION_ADAPT_CLASS_NAMED_NAME(ns, newname),seq) \ + }}} \ + /***/ + +#define BOOST_FUSION_ADAPT_CLASS_NAMED_NAME(ns, newname) \ + BOOST_PP_SEQ_FOR_EACH_R(1, BOOST_FUSION_ADAPT_CLASS_NAMED_NS_D, _, ns) \ + newname \ + /***/ + +#define BOOST_FUSION_ADAPT_CLASS_NAMED_NS_B(r, _, ns) namespace ns { +#define BOOST_FUSION_ADAPT_CLASS_NAMED_NS_D(r, _, ns) ns:: +#define BOOST_FUSION_ADAPT_CLASS_NAMED_NS_E(r, _, ns) } + +#define BOOST_FUSION_ADAPT_CLASS_NAMED_C(r, fullname, i, xy) \ + template <> \ + struct class_member_proxy \ + { \ + typedef BOOST_PP_TUPLE_ELEM(4, 0, xy) lvalue; \ + typedef BOOST_PP_TUPLE_ELEM(4, 1, xy) rvalue; \ + typedef remove_const::type>::type type; \ + typedef add_reference::type>::type cref_type; \ + \ + class_member_proxy(fullname& obj) : obj(obj) {} \ + fullname& obj; \ + \ + class_member_proxy& operator=(cref_type val) \ + { \ + obj.BOOST_PP_TUPLE_ELEM(4, 3, xy); \ + return *this; \ + } \ + \ + operator lvalue() \ + { \ + return obj.BOOST_PP_TUPLE_ELEM(4, 2, xy); \ + } \ + }; \ + \ + template <> \ + struct class_member \ + { \ + typedef class_member_proxy proxy; \ + typedef proxy::type type; \ + typedef proxy::rvalue get_type; \ + \ + static get_type call(fullname const& obj) \ + { \ + return obj.BOOST_PP_TUPLE_ELEM(4, 2, xy); \ + } \ + \ + static proxy call(fullname& obj) \ + { \ + return proxy(obj); \ + } \ + }; \ + /***/ + +#endif diff --git a/include/boost/fusion/include/adapted_class_named.cpp b/include/boost/fusion/include/adapted_class_named.cpp new file mode 100644 index 00000000..0002ad6f --- /dev/null +++ b/include/boost/fusion/include/adapted_class_named.cpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + + 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) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ADAPT_CLASS_NAMED) +#define FUSION_INCLUDE_ADAPT_CLASS_NAMED + +#include + +#endif From c24441c83dfb4a14afcc3b48e8525c8ca9a61c89 Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Fri, 29 Jan 2010 15:04:57 +0000 Subject: [PATCH 30/36] Fusion: added tests for adapt_class_named [SVN r59341] --- test/Jamfile | 2 + test/sequence/adapt_class_named.cpp | 137 +++++++++++++++++++++++++++ test/sequence/adapt_struct_named.cpp | 2 + 3 files changed, 141 insertions(+) create mode 100644 test/sequence/adapt_class_named.cpp diff --git a/test/Jamfile b/test/Jamfile index 28f4c871..1b9a6122 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -110,6 +110,8 @@ import testing ; [ run sequence/adapt_struct.cpp : : : : ] [ run sequence/adapt_assoc_struct.cpp : : : : ] [ run sequence/adapt_struct_named.cpp : : : : ] + [ run sequence/adapt_class.cpp : : : : ] + [ run sequence/adapt_class_named.cpp : : : : ] [ run functional/fused.cpp : : : : ] [ run functional/fused_function_object.cpp : : : : ] diff --git a/test/sequence/adapt_class_named.cpp b/test/sequence/adapt_class_named.cpp new file mode 100644 index 00000000..0cbb4208 --- /dev/null +++ b/test/sequence/adapt_class_named.cpp @@ -0,0 +1,137 @@ +/*============================================================================= + Copyright (c) 2001-2009 Joel de Guzman + + 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) +==============================================================================*/ +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace ns +{ + class point + { + public: + + point() : x(0), y(0) {} + point(int x, int y) : x(x), y(y) {} + + int get_x() const { return x; } + int get_y() const { return y; } + void set_x(int x_) { x = x_; } + void set_y(int y_) { y = y_; } + + private: + + int x; + int y; + }; +} + +// this creates a fusion view: boost::fusion::adapted::point +BOOST_FUSION_ADAPT_CLASS_NAMED( + ns::point, point, + (int, int, obj.get_x(), obj.set_x(val)) + (int, int, obj.get_y(), obj.set_y(val)) +) + +int +main() +{ + using namespace boost::fusion; + using namespace boost; + using namespace std; + + std::cout << tuple_open('['); + std::cout << tuple_close(']'); + std::cout << tuple_delimiter(", "); + + { + BOOST_MPL_ASSERT_NOT((traits::is_view)); + ns::point basep(123, 456); + adapted::point p(basep); + + std::cout << at_c<0>(p) << std::endl; + std::cout << at_c<1>(p) << std::endl; + std::cout << p << std::endl; + BOOST_TEST(p == make_vector(123, 456)); + + at_c<0>(p) = 6; + at_c<1>(p) = 9; + BOOST_TEST(p == make_vector(6, 9)); + + BOOST_STATIC_ASSERT(result_of::size::value == 2); + BOOST_STATIC_ASSERT(!result_of::empty::value); + + BOOST_TEST(front(p) == 6); + BOOST_TEST(back(p) == 9); + } + + { + fusion::vector v1(4, 2); + ns::point basep(5, 3); + adapted::point v2(basep); + + fusion::vector v3(5, 4); + BOOST_TEST(v1 < v2); + BOOST_TEST(v1 <= v2); + BOOST_TEST(v2 > v1); + BOOST_TEST(v2 >= v1); + BOOST_TEST(v2 < v3); + BOOST_TEST(v2 <= v3); + BOOST_TEST(v3 > v2); + BOOST_TEST(v3 >= v2); + } + + { + // conversion from ns::point to vector + ns::point basep(5, 3); + adapted::point p(basep); + + fusion::vector v(p); + v = p; + } + + { + // conversion from ns::point to list + ns::point basep(5, 3); + adapted::point p(basep); + + fusion::list l(p); + l = p; + } + + { + BOOST_MPL_ASSERT((mpl::is_sequence)); + BOOST_MPL_ASSERT((boost::is_same< + fusion::result_of::value_at_c::type + , mpl::front::type>)); + } + + return boost::report_errors(); +} + diff --git a/test/sequence/adapt_struct_named.cpp b/test/sequence/adapt_struct_named.cpp index 0bcff2ab..8dabc56c 100644 --- a/test/sequence/adapt_struct_named.cpp +++ b/test/sequence/adapt_struct_named.cpp @@ -40,12 +40,14 @@ namespace ns }; } +// this creates a fusion view: boost::fusion::adapted::point BOOST_FUSION_ADAPT_STRUCT_NAMED( ns::point, point, (int, x) (int, y) ) +// this creates a fusion view: ns1::s1 struct s { int m; }; BOOST_FUSION_ADAPT_STRUCT_NAMED_NS(s, (ns1), s1, (int, m)) From 4910f26ce910491f3cf0483047dcb76092c63acf Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Fri, 29 Jan 2010 15:45:24 +0000 Subject: [PATCH 31/36] Fusion: minor fix for adapt_class_named [SVN r59345] --- include/boost/fusion/adapted/class/adapt_class_named.hpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/include/boost/fusion/adapted/class/adapt_class_named.hpp b/include/boost/fusion/adapted/class/adapt_class_named.hpp index 3878c384..f96eba72 100644 --- a/include/boost/fusion/adapted/class/adapt_class_named.hpp +++ b/include/boost/fusion/adapted/class/adapt_class_named.hpp @@ -124,13 +124,13 @@ \ class_member_proxy& operator=(cref_type val) \ { \ - obj.BOOST_PP_TUPLE_ELEM(4, 3, xy); \ + BOOST_PP_TUPLE_ELEM(4, 3, xy); \ return *this; \ } \ \ operator lvalue() \ { \ - return obj.BOOST_PP_TUPLE_ELEM(4, 2, xy); \ + return BOOST_PP_TUPLE_ELEM(4, 2, xy); \ } \ }; \ \ @@ -143,7 +143,7 @@ \ static get_type call(fullname const& obj) \ { \ - return obj.BOOST_PP_TUPLE_ELEM(4, 2, xy); \ + return BOOST_PP_TUPLE_ELEM(4, 2, xy); \ } \ \ static proxy call(fullname& obj) \ From 83ed7ffada15f1755265b42f8213eb1c7748abff Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Fri, 29 Jan 2010 15:45:50 +0000 Subject: [PATCH 32/36] Fusion: minor fix for adapt_class_named [SVN r59346] --- test/sequence/adapt_class_named.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/test/sequence/adapt_class_named.cpp b/test/sequence/adapt_class_named.cpp index 0cbb4208..a67d68da 100644 --- a/test/sequence/adapt_class_named.cpp +++ b/test/sequence/adapt_class_named.cpp @@ -55,8 +55,8 @@ namespace ns // this creates a fusion view: boost::fusion::adapted::point BOOST_FUSION_ADAPT_CLASS_NAMED( ns::point, point, - (int, int, obj.get_x(), obj.set_x(val)) - (int, int, obj.get_y(), obj.set_y(val)) + (int, int, obj.obj.get_x(), obj.obj.set_x(val)) + (int, int, obj.obj.get_y(), obj.obj.set_y(val)) ) int From b86d7dbe809c2ce67120f3e51403428838f78c0b Mon Sep 17 00:00:00 2001 From: Hartmut Kaiser Date: Fri, 29 Jan 2010 16:02:14 +0000 Subject: [PATCH 33/36] Fusion: fixed ambiguities in tests on VC10 [SVN r59347] --- test/sequence/adapt_assoc_struct.cpp | 4 ++-- test/sequence/vector_n.cpp | 26 +++++++++++++------------- 2 files changed, 15 insertions(+), 15 deletions(-) diff --git a/test/sequence/adapt_assoc_struct.cpp b/test/sequence/adapt_assoc_struct.cpp index 7fe5e35b..b9000bbd 100644 --- a/test/sequence/adapt_assoc_struct.cpp +++ b/test/sequence/adapt_assoc_struct.cpp @@ -121,8 +121,8 @@ main() BOOST_MPL_ASSERT((fusion::result_of::has_key)); BOOST_MPL_ASSERT((mpl::not_ >)); - BOOST_MPL_ASSERT((is_same::type, int>)); - BOOST_MPL_ASSERT((is_same::type, int>)); + BOOST_MPL_ASSERT((boost::is_same::type, int>)); + BOOST_MPL_ASSERT((boost::is_same::type, int>)); ns::point p = {5, 3}; diff --git a/test/sequence/vector_n.cpp b/test/sequence/vector_n.cpp index f041bac8..a536affb 100644 --- a/test/sequence/vector_n.cpp +++ b/test/sequence/vector_n.cpp @@ -45,7 +45,7 @@ main() BOOST_STATIC_ASSERT(result_of::size::value == 1); BOOST_TEST(at_c<0>(vec) == 0); - BOOST_STATIC_ASSERT((is_same::type>::value)); + BOOST_STATIC_ASSERT((boost::is_same::type>::value)); // prove that it is mutable at_c<0>(vec) = 987; @@ -82,8 +82,8 @@ main() BOOST_TEST(at_c<0>(vec) == 0); BOOST_TEST(at_c<1>(vec) == char()); - BOOST_STATIC_ASSERT((is_same::type>::value)); - BOOST_STATIC_ASSERT((is_same::type>::value)); + BOOST_STATIC_ASSERT((boost::is_same::type>::value)); + BOOST_STATIC_ASSERT((boost::is_same::type>::value)); } { @@ -109,9 +109,9 @@ main() BOOST_TEST(at_c<1>(vec) == char()); BOOST_TEST(at_c<2>(vec) == double()); - BOOST_STATIC_ASSERT((is_same::type>::value)); - BOOST_STATIC_ASSERT((is_same::type>::value)); - BOOST_STATIC_ASSERT((is_same::type>::value)); + BOOST_STATIC_ASSERT((boost::is_same::type>::value)); + BOOST_STATIC_ASSERT((boost::is_same::type>::value)); + BOOST_STATIC_ASSERT((boost::is_same::type>::value)); } { @@ -147,13 +147,13 @@ main() BOOST_TEST(at_c<5>(vec) >= 5.9 && at_c<5>(vec) <= 6.1); BOOST_TEST(at_c<6>(vec) >= 6.9 && at_c<6>(vec) <= 7.1); - BOOST_STATIC_ASSERT((is_same::type>::value)); - BOOST_STATIC_ASSERT((is_same::type>::value)); - BOOST_STATIC_ASSERT((is_same::type>::value)); - BOOST_STATIC_ASSERT((is_same::type>::value)); - BOOST_STATIC_ASSERT((is_same::type>::value)); - BOOST_STATIC_ASSERT((is_same::type>::value)); - BOOST_STATIC_ASSERT((is_same::type>::value)); + BOOST_STATIC_ASSERT((boost::is_same::type>::value)); + BOOST_STATIC_ASSERT((boost::is_same::type>::value)); + BOOST_STATIC_ASSERT((boost::is_same::type>::value)); + BOOST_STATIC_ASSERT((boost::is_same::type>::value)); + BOOST_STATIC_ASSERT((boost::is_same::type>::value)); + BOOST_STATIC_ASSERT((boost::is_same::type>::value)); + BOOST_STATIC_ASSERT((boost::is_same::type>::value)); cout << "(bool, char, short, int, long, float, double): " << sizeof(vec) << endl; } From 5eb9c03cd2c43e3f24520e8d36a06c8466e34a91 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Sun, 7 Feb 2010 18:22:06 +0000 Subject: [PATCH 34/36] adapt plain old array types (1) [SVN r59576] --- include/boost/fusion/adapted/array.hpp | 23 +++++++++++-------- include/boost/fusion/adapted/boost_array.hpp | 22 ++++++++++++++++++ include/boost/fusion/include/boost_array.hpp | 12 ++++++++++ include/boost/fusion/iterator/advance.hpp | 4 ++-- .../boost/fusion/iterator/basic_iterator.hpp | 15 ++++++++---- include/boost/fusion/iterator/deref.hpp | 4 ++-- include/boost/fusion/iterator/distance.hpp | 8 +++---- include/boost/fusion/iterator/equal_to.hpp | 4 ++-- include/boost/fusion/iterator/next.hpp | 4 ++-- include/boost/fusion/iterator/prior.hpp | 4 ++-- include/boost/fusion/iterator/value_of.hpp | 4 ++-- .../boost/fusion/sequence/intrinsic/at.hpp | 4 ++-- .../fusion/sequence/intrinsic/at_key.hpp | 4 ++-- .../boost/fusion/sequence/intrinsic/begin.hpp | 4 ++-- .../boost/fusion/sequence/intrinsic/end.hpp | 4 ++-- .../fusion/sequence/intrinsic/has_key.hpp | 4 ++-- .../boost/fusion/sequence/intrinsic/size.hpp | 4 ++-- .../fusion/sequence/intrinsic/value_at.hpp | 4 ++-- .../sequence/intrinsic/value_at_key.hpp | 4 ++-- include/boost/fusion/support/category_of.hpp | 4 ++-- .../fusion/support/ext_/is_segmented.hpp | 2 +- include/boost/fusion/support/is_sequence.hpp | 4 ++-- include/boost/fusion/support/is_view.hpp | 4 ++-- test/Jamfile | 1 + test/sequence/{array.cpp => boost_array.cpp} | 10 ++------ 25 files changed, 100 insertions(+), 61 deletions(-) create mode 100644 include/boost/fusion/adapted/boost_array.hpp create mode 100644 include/boost/fusion/include/boost_array.hpp mode change 100755 => 100644 include/boost/fusion/support/ext_/is_segmented.hpp rename test/sequence/{array.cpp => boost_array.cpp} (79%) diff --git a/include/boost/fusion/adapted/array.hpp b/include/boost/fusion/adapted/array.hpp index 2be9d4ba..cb828090 100644 --- a/include/boost/fusion/adapted/array.hpp +++ b/include/boost/fusion/adapted/array.hpp @@ -1,6 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2010 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) @@ -8,15 +9,19 @@ #if !defined(BOOST_FUSION_ARRAY_27122005_1035) #define BOOST_FUSION_ARRAY_27122005_1035 -#include +//For backwards compatibility +#include + #include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #endif diff --git a/include/boost/fusion/adapted/boost_array.hpp b/include/boost/fusion/adapted/boost_array.hpp new file mode 100644 index 00000000..835135b9 --- /dev/null +++ b/include/boost/fusion/adapted/boost_array.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(BOOST_FUSION_BOOST_ARRAY_27122005_1035) +#define BOOST_FUSION_BOOST_ARRAY_27122005_1035 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/include/boost/fusion/include/boost_array.hpp b/include/boost/fusion/include/boost_array.hpp new file mode 100644 index 00000000..d2c2bed8 --- /dev/null +++ b/include/boost/fusion/include/boost_array.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2010 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) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_BOOST_ARRAY) +#define FUSION_INCLUDE_BOOST_ARRAY + +#include + +#endif diff --git a/include/boost/fusion/iterator/advance.hpp b/include/boost/fusion/iterator/advance.hpp index 2cbafede..56ed60be 100644 --- a/include/boost/fusion/iterator/advance.hpp +++ b/include/boost/fusion/iterator/advance.hpp @@ -21,7 +21,7 @@ namespace boost { namespace fusion // Special tags: struct iterator_facade_tag; // iterator facade tag - struct array_iterator_tag; // boost::array iterator tag + struct boost_array_iterator_tag; // boost::array iterator tag struct mpl_iterator_tag; // mpl sequence iterator tag struct std_pair_iterator_tag; // std::pair iterator tag @@ -51,7 +51,7 @@ namespace boost { namespace fusion }; template <> - struct advance_impl; + struct advance_impl; template <> struct advance_impl; diff --git a/include/boost/fusion/iterator/basic_iterator.hpp b/include/boost/fusion/iterator/basic_iterator.hpp index 80c7f646..33c514f3 100644 --- a/include/boost/fusion/iterator/basic_iterator.hpp +++ b/include/boost/fusion/iterator/basic_iterator.hpp @@ -95,11 +95,16 @@ namespace boost { namespace fusion template struct distance - : mpl::minus< - typename It2::index - , typename It1::index - > - {}; + { + typedef mpl::minus type; + + static + type + call(It1 const&, It2 const&) + { + return type(); + } + }; template struct equal_to diff --git a/include/boost/fusion/iterator/deref.hpp b/include/boost/fusion/iterator/deref.hpp index 0e6f54d2..2d5f04ee 100644 --- a/include/boost/fusion/iterator/deref.hpp +++ b/include/boost/fusion/iterator/deref.hpp @@ -14,7 +14,7 @@ namespace boost { namespace fusion { // Special tags: struct iterator_facade_tag; // iterator facade tag - struct array_iterator_tag; // boost::array iterator tag + struct boost_array_iterator_tag; // boost::array iterator tag struct mpl_iterator_tag; // mpl sequence iterator tag struct std_pair_iterator_tag; // std::pair iterator tag @@ -35,7 +35,7 @@ namespace boost { namespace fusion }; template <> - struct deref_impl; + struct deref_impl; template <> struct deref_impl; diff --git a/include/boost/fusion/iterator/distance.hpp b/include/boost/fusion/iterator/distance.hpp index 44fc4292..0cfa414d 100644 --- a/include/boost/fusion/iterator/distance.hpp +++ b/include/boost/fusion/iterator/distance.hpp @@ -22,7 +22,7 @@ namespace boost { namespace fusion // Special tags: struct iterator_facade_tag; // iterator facade tag - struct array_iterator_tag; // boost::array iterator tag + struct boost_array_iterator_tag; // boost::array iterator tag struct mpl_iterator_tag; // mpl sequence iterator tag struct std_pair_iterator_tag; // std::pair iterator tag @@ -48,7 +48,7 @@ namespace boost { namespace fusion }; template <> - struct distance_impl; + struct distance_impl; template <> struct distance_impl; @@ -61,8 +61,8 @@ namespace boost { namespace fusion { template struct distance - : extension::distance_impl::type>:: - template apply + : extension::distance_impl::type>:: + template apply { typedef typename extension::distance_impl::type>:: template apply::type distance_application; diff --git a/include/boost/fusion/iterator/equal_to.hpp b/include/boost/fusion/iterator/equal_to.hpp index 2db27675..a0387417 100644 --- a/include/boost/fusion/iterator/equal_to.hpp +++ b/include/boost/fusion/iterator/equal_to.hpp @@ -18,7 +18,7 @@ namespace boost { namespace fusion { // Special tags: struct iterator_facade_tag; // iterator facade tag - struct array_iterator_tag; // boost::array iterator tag + struct boost_array_iterator_tag; // boost::array iterator tag struct mpl_iterator_tag; // mpl sequence iterator tag struct std_pair_iterator_tag; // std::pair iterator tag @@ -42,7 +42,7 @@ namespace boost { namespace fusion }; template <> - struct equal_to_impl; + struct equal_to_impl; template <> struct equal_to_impl; diff --git a/include/boost/fusion/iterator/next.hpp b/include/boost/fusion/iterator/next.hpp index 9070a9e2..d2cf63dd 100644 --- a/include/boost/fusion/iterator/next.hpp +++ b/include/boost/fusion/iterator/next.hpp @@ -13,7 +13,7 @@ namespace boost { namespace fusion { // Special tags: struct iterator_facade_tag; // iterator facade tag - struct array_iterator_tag; // boost::array iterator tag + struct boost_array_iterator_tag; // boost::array iterator tag struct mpl_iterator_tag; // mpl sequence iterator tag struct std_pair_iterator_tag; // std::pair iterator tag @@ -34,7 +34,7 @@ namespace boost { namespace fusion }; template <> - struct next_impl; + struct next_impl; template <> struct next_impl; diff --git a/include/boost/fusion/iterator/prior.hpp b/include/boost/fusion/iterator/prior.hpp index 9a261039..a8b9fd64 100644 --- a/include/boost/fusion/iterator/prior.hpp +++ b/include/boost/fusion/iterator/prior.hpp @@ -13,7 +13,7 @@ namespace boost { namespace fusion { // Special tags: struct iterator_facade_tag; // iterator facade tag - struct array_iterator_tag; // boost::array iterator tag + struct boost_array_iterator_tag; // boost::array iterator tag struct mpl_iterator_tag; // mpl sequence iterator tag struct std_pair_iterator_tag; // std::pair iterator tag @@ -34,7 +34,7 @@ namespace boost { namespace fusion }; template <> - struct prior_impl; + struct prior_impl; template <> struct prior_impl; diff --git a/include/boost/fusion/iterator/value_of.hpp b/include/boost/fusion/iterator/value_of.hpp index 808c6593..478e4d2b 100644 --- a/include/boost/fusion/iterator/value_of.hpp +++ b/include/boost/fusion/iterator/value_of.hpp @@ -14,7 +14,7 @@ namespace boost { namespace fusion { // Special tags: struct iterator_facade_tag; // iterator facade tag - struct array_iterator_tag; // boost::array iterator tag + struct boost_array_iterator_tag; // boost::array iterator tag struct mpl_iterator_tag; // mpl sequence iterator tag struct std_pair_iterator_tag; // std::pair iterator tag @@ -35,7 +35,7 @@ namespace boost { namespace fusion }; template <> - struct value_of_impl; + struct value_of_impl; template <> struct value_of_impl; diff --git a/include/boost/fusion/sequence/intrinsic/at.hpp b/include/boost/fusion/sequence/intrinsic/at.hpp index bcb67990..9ccbfc64 100644 --- a/include/boost/fusion/sequence/intrinsic/at.hpp +++ b/include/boost/fusion/sequence/intrinsic/at.hpp @@ -17,7 +17,7 @@ namespace boost { namespace fusion // Special tags: struct sequence_facade_tag; struct boost_tuple_tag; // boost::tuples::tuple tag - struct array_tag; // boost::array tag + struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag @@ -41,7 +41,7 @@ namespace boost { namespace fusion struct at_impl; template <> - struct at_impl; + struct at_impl; template <> struct at_impl; diff --git a/include/boost/fusion/sequence/intrinsic/at_key.hpp b/include/boost/fusion/sequence/intrinsic/at_key.hpp index 4c860bc1..30fefe01 100644 --- a/include/boost/fusion/sequence/intrinsic/at_key.hpp +++ b/include/boost/fusion/sequence/intrinsic/at_key.hpp @@ -18,7 +18,7 @@ namespace boost { namespace fusion { // Special tags: struct sequence_facade_tag; - struct array_tag; // boost::array tag + struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag @@ -52,7 +52,7 @@ namespace boost { namespace fusion }; template <> - struct at_key_impl; + struct at_key_impl; template <> struct at_key_impl; diff --git a/include/boost/fusion/sequence/intrinsic/begin.hpp b/include/boost/fusion/sequence/intrinsic/begin.hpp index 715ef9e1..5dbe0c40 100644 --- a/include/boost/fusion/sequence/intrinsic/begin.hpp +++ b/include/boost/fusion/sequence/intrinsic/begin.hpp @@ -14,7 +14,7 @@ namespace boost { namespace fusion // Special tags: struct sequence_facade_tag; // iterator facade tag struct boost_tuple_tag; // boost::tuples::tuple tag - struct array_tag; // boost::array tag + struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag @@ -38,7 +38,7 @@ namespace boost { namespace fusion struct begin_impl; template <> - struct begin_impl; + struct begin_impl; template <> struct begin_impl; diff --git a/include/boost/fusion/sequence/intrinsic/end.hpp b/include/boost/fusion/sequence/intrinsic/end.hpp index 04232f12..98a554e3 100644 --- a/include/boost/fusion/sequence/intrinsic/end.hpp +++ b/include/boost/fusion/sequence/intrinsic/end.hpp @@ -14,7 +14,7 @@ namespace boost { namespace fusion // Special tags: struct sequence_facade_tag; struct boost_tuple_tag; // boost::tuples::tuple tag - struct array_tag; // boost::array tag + struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag @@ -38,7 +38,7 @@ namespace boost { namespace fusion struct end_impl; template <> - struct end_impl; + struct end_impl; template <> struct end_impl; diff --git a/include/boost/fusion/sequence/intrinsic/has_key.hpp b/include/boost/fusion/sequence/intrinsic/has_key.hpp index 68582059..f254eb1e 100644 --- a/include/boost/fusion/sequence/intrinsic/has_key.hpp +++ b/include/boost/fusion/sequence/intrinsic/has_key.hpp @@ -19,7 +19,7 @@ namespace boost { namespace fusion // Special tags: struct sequence_facade_tag; - struct array_tag; // boost::array tag + struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag @@ -47,7 +47,7 @@ namespace boost { namespace fusion }; template <> - struct has_key_impl; + struct has_key_impl; template <> struct has_key_impl; diff --git a/include/boost/fusion/sequence/intrinsic/size.hpp b/include/boost/fusion/sequence/intrinsic/size.hpp index 74e3f53a..2a3cb7f8 100644 --- a/include/boost/fusion/sequence/intrinsic/size.hpp +++ b/include/boost/fusion/sequence/intrinsic/size.hpp @@ -15,7 +15,7 @@ namespace boost { namespace fusion // Special tags: struct sequence_facade_tag; struct boost_tuple_tag; // boost::tuples::tuple tag - struct array_tag; // boost::array tag + struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag @@ -39,7 +39,7 @@ namespace boost { namespace fusion struct size_impl; template <> - struct size_impl; + struct size_impl; template <> struct size_impl; diff --git a/include/boost/fusion/sequence/intrinsic/value_at.hpp b/include/boost/fusion/sequence/intrinsic/value_at.hpp index d0868155..01cdc9d5 100644 --- a/include/boost/fusion/sequence/intrinsic/value_at.hpp +++ b/include/boost/fusion/sequence/intrinsic/value_at.hpp @@ -15,7 +15,7 @@ namespace boost { namespace fusion // Special tags: struct sequence_facade_tag; struct boost_tuple_tag; // boost::tuples::tuple tag - struct array_tag; // boost::array tag + struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag @@ -39,7 +39,7 @@ namespace boost { namespace fusion struct value_at_impl; template <> - struct value_at_impl; + struct value_at_impl; template <> struct value_at_impl; diff --git a/include/boost/fusion/sequence/intrinsic/value_at_key.hpp b/include/boost/fusion/sequence/intrinsic/value_at_key.hpp index 406d7ae2..d7f84cd9 100644 --- a/include/boost/fusion/sequence/intrinsic/value_at_key.hpp +++ b/include/boost/fusion/sequence/intrinsic/value_at_key.hpp @@ -17,7 +17,7 @@ namespace boost { namespace fusion { // Special tags: struct sequence_facade_tag; - struct array_tag; // boost::array tag + struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag @@ -42,7 +42,7 @@ namespace boost { namespace fusion }; template <> - struct value_at_key_impl; + struct value_at_key_impl; template <> struct value_at_key_impl; diff --git a/include/boost/fusion/support/category_of.hpp b/include/boost/fusion/support/category_of.hpp index 8877b347..73def5b0 100644 --- a/include/boost/fusion/support/category_of.hpp +++ b/include/boost/fusion/support/category_of.hpp @@ -15,7 +15,7 @@ namespace boost { namespace fusion { // Special tags: struct boost_tuple_tag; // boost::tuples::tuple tag - struct array_tag; // boost::array tag + struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag @@ -48,7 +48,7 @@ namespace boost { namespace fusion struct category_of_impl; template <> - struct category_of_impl; + struct category_of_impl; template <> struct category_of_impl; diff --git a/include/boost/fusion/support/ext_/is_segmented.hpp b/include/boost/fusion/support/ext_/is_segmented.hpp old mode 100755 new mode 100644 index 38def075..63330a4a --- a/include/boost/fusion/support/ext_/is_segmented.hpp +++ b/include/boost/fusion/support/ext_/is_segmented.hpp @@ -14,7 +14,7 @@ namespace boost { namespace fusion // Special tags: struct sequence_facade_tag; struct boost_tuple_tag; // boost::tuples::tuple tag - struct array_tag; // boost::array tag + struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag struct iterator_range_tag; diff --git a/include/boost/fusion/support/is_sequence.hpp b/include/boost/fusion/support/is_sequence.hpp index 84dc2ec1..9ad50ec1 100644 --- a/include/boost/fusion/support/is_sequence.hpp +++ b/include/boost/fusion/support/is_sequence.hpp @@ -19,7 +19,7 @@ namespace boost { namespace fusion // Special tags: struct non_fusion_tag; struct boost_tuple_tag; // boost::tuples::tuple tag - struct array_tag; // boost::array tag + struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag @@ -43,7 +43,7 @@ namespace boost { namespace fusion struct is_sequence_impl; template <> - struct is_sequence_impl; + struct is_sequence_impl; template <> struct is_sequence_impl; diff --git a/include/boost/fusion/support/is_view.hpp b/include/boost/fusion/support/is_view.hpp index a89291d1..e2cf6eb4 100644 --- a/include/boost/fusion/support/is_view.hpp +++ b/include/boost/fusion/support/is_view.hpp @@ -15,7 +15,7 @@ namespace boost { namespace fusion // Special tags: struct sequence_facade_tag; struct boost_tuple_tag; // boost::tuples::tuple tag - struct array_tag; // boost::array tag + struct boost_array_tag; // boost::array tag struct mpl_sequence_tag; // mpl sequence tag struct std_pair_tag; // std::pair tag @@ -41,7 +41,7 @@ namespace boost { namespace fusion struct is_view_impl; template <> - struct is_view_impl; + struct is_view_impl; template <> struct is_view_impl; diff --git a/test/Jamfile b/test/Jamfile index 1b9a6122..8ed08c4e 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -81,6 +81,7 @@ import testing ; [ run sequence/set.cpp : : : : ] [ run sequence/single_view.cpp : : : : ] [ run sequence/std_pair.cpp : : : : ] + [ run sequence/boost_array.cpp : : : : ] [ run sequence/array.cpp : : : : ] [ run sequence/tuple_comparison.cpp : : : : ] [ run sequence/tuple_construction.cpp : : : : ] diff --git a/test/sequence/array.cpp b/test/sequence/boost_array.cpp similarity index 79% rename from test/sequence/array.cpp rename to test/sequence/boost_array.cpp index 07b5f48e..fbe11761 100644 --- a/test/sequence/array.cpp +++ b/test/sequence/boost_array.cpp @@ -1,6 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2010 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) @@ -8,19 +9,15 @@ #include -#include +#include #include #include #include #include #include -#include -#include -#include #include -#include int main() { @@ -41,8 +38,5 @@ int main() BOOST_TEST(size(arr) == 3); BOOST_TEST(distance(begin(arr), end(arr)) == 3); - BOOST_MPL_ASSERT((boost::mpl::is_sequence)); - BOOST_MPL_ASSERT((boost::is_same::type>)); - return boost::report_errors(); } From 47f535df5b4b3432350a6e1976e20eb9fbab2c90 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Sun, 7 Feb 2010 18:48:09 +0000 Subject: [PATCH 35/36] adapt plain old array types (2) [SVN r59577] --- .../boost/fusion/adapted/array/at_impl.hpp | 38 +++++++ .../boost/fusion/adapted/array/begin_impl.hpp | 42 ++++++++ .../fusion/adapted/array/category_of_impl.hpp | 32 ++++++ .../boost/fusion/adapted/array/deref_impl.hpp | 40 ++++++++ .../boost/fusion/adapted/array/end_impl.hpp | 44 +++++++++ .../fusion/adapted/array/is_sequence_impl.hpp | 28 ++++++ .../fusion/adapted/array/is_view_impl.hpp | 28 ++++++ .../boost/fusion/adapted/array/size_impl.hpp | 29 ++++++ include/boost/fusion/adapted/array/tag_of.hpp | 98 +++++++++++-------- .../fusion/adapted/array/value_at_impl.hpp | 28 ++++++ .../fusion/adapted/array/value_of_impl.hpp | 28 ++++++ .../{array => boost_array}/array_iterator.hpp | 0 .../{array => boost_array}/detail/at_impl.hpp | 0 .../detail/begin_impl.hpp | 0 .../detail/category_of_impl.hpp | 0 .../detail/end_impl.hpp | 0 .../detail/is_sequence_impl.hpp | 0 .../detail/is_view_impl.hpp | 0 .../detail/size_impl.hpp | 0 .../detail/value_at_impl.hpp | 0 .../fusion/adapted/boost_array/tag_of.hpp | 58 +++++++++++ test/sequence/array.cpp | 39 ++++++++ 22 files changed, 490 insertions(+), 42 deletions(-) create mode 100644 include/boost/fusion/adapted/array/at_impl.hpp create mode 100644 include/boost/fusion/adapted/array/begin_impl.hpp create mode 100644 include/boost/fusion/adapted/array/category_of_impl.hpp create mode 100644 include/boost/fusion/adapted/array/deref_impl.hpp create mode 100644 include/boost/fusion/adapted/array/end_impl.hpp create mode 100644 include/boost/fusion/adapted/array/is_sequence_impl.hpp create mode 100644 include/boost/fusion/adapted/array/is_view_impl.hpp create mode 100644 include/boost/fusion/adapted/array/size_impl.hpp create mode 100644 include/boost/fusion/adapted/array/value_at_impl.hpp create mode 100644 include/boost/fusion/adapted/array/value_of_impl.hpp rename include/boost/fusion/adapted/{array => boost_array}/array_iterator.hpp (100%) rename include/boost/fusion/adapted/{array => boost_array}/detail/at_impl.hpp (100%) rename include/boost/fusion/adapted/{array => boost_array}/detail/begin_impl.hpp (100%) rename include/boost/fusion/adapted/{array => boost_array}/detail/category_of_impl.hpp (100%) rename include/boost/fusion/adapted/{array => boost_array}/detail/end_impl.hpp (100%) rename include/boost/fusion/adapted/{array => boost_array}/detail/is_sequence_impl.hpp (100%) rename include/boost/fusion/adapted/{array => boost_array}/detail/is_view_impl.hpp (100%) rename include/boost/fusion/adapted/{array => boost_array}/detail/size_impl.hpp (100%) rename include/boost/fusion/adapted/{array => boost_array}/detail/value_at_impl.hpp (100%) create mode 100644 include/boost/fusion/adapted/boost_array/tag_of.hpp create mode 100644 test/sequence/array.cpp diff --git a/include/boost/fusion/adapted/array/at_impl.hpp b/include/boost/fusion/adapted/array/at_impl.hpp new file mode 100644 index 00000000..12f03726 --- /dev/null +++ b/include/boost/fusion/adapted/array/at_impl.hpp @@ -0,0 +1,38 @@ +/*============================================================================= + Copyright (c) 2010 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_ADAPTED_ARRAY_AT_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_AT_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct at_impl; + + template<> + struct at_impl + { + template + struct apply + { + typedef typename + add_reference::type>::type + type; + + static type + call(Seq& seq) + { + return seq[N::value]; + } + }; + }; +}}} + +#endif diff --git a/include/boost/fusion/adapted/array/begin_impl.hpp b/include/boost/fusion/adapted/array/begin_impl.hpp new file mode 100644 index 00000000..2ee4d707 --- /dev/null +++ b/include/boost/fusion/adapted/array/begin_impl.hpp @@ -0,0 +1,42 @@ +/*============================================================================= + Copyright (c) 2010 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_ADAPTED_ARRAY_BEGIN_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_BEGIN_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct begin_impl; + + template <> + struct begin_impl + { + template + struct apply + { + typedef + basic_iterator< + po_array_iterator_tag + , random_access_traversal_tag + , Seq + , 0 + > + type; + + static type + call(Seq& seq) + { + return type(seq,0); + } + }; + }; +}}} + +#endif diff --git a/include/boost/fusion/adapted/array/category_of_impl.hpp b/include/boost/fusion/adapted/array/category_of_impl.hpp new file mode 100644 index 00000000..0a633a45 --- /dev/null +++ b/include/boost/fusion/adapted/array/category_of_impl.hpp @@ -0,0 +1,32 @@ +/*============================================================================= + Copyright (c) 2010 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_ADAPTED_ARRAY_CATEGORY_OF_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_CATEGORY_OF_IMPL_HPP + +namespace boost { namespace fusion +{ + struct random_access_traversal_tag; + + namespace extension + { + template + struct category_of_impl; + + template<> + struct category_of_impl + { + template + struct apply + { + typedef random_access_traversal_tag type; + }; + }; + } +}} + +#endif diff --git a/include/boost/fusion/adapted/array/deref_impl.hpp b/include/boost/fusion/adapted/array/deref_impl.hpp new file mode 100644 index 00000000..a58cf990 --- /dev/null +++ b/include/boost/fusion/adapted/array/deref_impl.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2010 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_ADAPTED_ARRAY_DEREF_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_DEREF_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct deref_impl; + + template <> + struct deref_impl + { + template + struct apply + { + typedef typename + add_reference< + typename remove_extent::type + >::type + type; + + static type + call(It const& it) + { + return (*it.seq)[It::index::value]; + } + }; + }; +}}} + +#endif diff --git a/include/boost/fusion/adapted/array/end_impl.hpp b/include/boost/fusion/adapted/array/end_impl.hpp new file mode 100644 index 00000000..5b367f9c --- /dev/null +++ b/include/boost/fusion/adapted/array/end_impl.hpp @@ -0,0 +1,44 @@ +/*============================================================================= + Copyright (c) 2010 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_ADAPTED_ARRAY_END_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_END_IMPL_HPP + +#include +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct end_impl; + + template <> + struct end_impl + { + template + struct apply + { + typedef + basic_iterator< + po_array_iterator_tag + , random_access_traversal_tag + , Seq + , extent::value-1>::value + > + type; + + static type + call(Seq& seq) + { + return type(seq,0); + } + }; + }; +}}} + +#endif diff --git a/include/boost/fusion/adapted/array/is_sequence_impl.hpp b/include/boost/fusion/adapted/array/is_sequence_impl.hpp new file mode 100644 index 00000000..d6de8585 --- /dev/null +++ b/include/boost/fusion/adapted/array/is_sequence_impl.hpp @@ -0,0 +1,28 @@ +/*============================================================================= + Copyright (c) 2010 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_ADAPTED_ARRAY_IS_SEQUENCE_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_IS_SEQUENCE_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct is_sequence_impl; + + template<> + struct is_sequence_impl + { + template + struct apply + : mpl::true_ + {}; + }; +}}} + +#endif diff --git a/include/boost/fusion/adapted/array/is_view_impl.hpp b/include/boost/fusion/adapted/array/is_view_impl.hpp new file mode 100644 index 00000000..238eac0e --- /dev/null +++ b/include/boost/fusion/adapted/array/is_view_impl.hpp @@ -0,0 +1,28 @@ +/*============================================================================= + Copyright (c) 2010 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_ADAPTED_ARRAY_IS_VIEW_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_IS_VIEW_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct is_view_impl; + + template<> + struct is_view_impl + { + template + struct apply + : mpl::false_ + {}; + }; +}}} + +#endif diff --git a/include/boost/fusion/adapted/array/size_impl.hpp b/include/boost/fusion/adapted/array/size_impl.hpp new file mode 100644 index 00000000..8be5a29d --- /dev/null +++ b/include/boost/fusion/adapted/array/size_impl.hpp @@ -0,0 +1,29 @@ +/*============================================================================= + Copyright (c) 2010 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_ADAPTED_ARRAY_SIZE_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_SIZE_IMPL_HPP + +#include +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct size_impl; + + template<> + struct size_impl + { + template + struct apply + : extent::value-1> + {}; + }; +}}} + +#endif diff --git a/include/boost/fusion/adapted/array/tag_of.hpp b/include/boost/fusion/adapted/array/tag_of.hpp index 67a4f116..7c732a70 100644 --- a/include/boost/fusion/adapted/array/tag_of.hpp +++ b/include/boost/fusion/adapted/array/tag_of.hpp @@ -1,58 +1,72 @@ /*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden + Copyright (c) 2010 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) ==============================================================================*/ -#if !defined(FUSION_SEQUENCE_TAG_OF_27122005_1030) -#define FUSION_SEQUENCE_TAG_OF_27122005_1030 + +#ifndef BOOST_FUSION_ADAPTED_ARRAY_TAG_OF_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_TAG_OF_HPP #include - #include -namespace boost -{ - template - class array; -} - -namespace boost { namespace fusion +namespace boost { - struct array_tag; - struct fusion_sequence_tag; - - namespace traits + namespace fusion { - template -#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) - struct tag_of, void > -#else - struct tag_of > -#endif + struct po_array_tag; + struct po_array_iterator_tag; + struct random_access_traversal_tag; + struct fusion_sequence_tag; + + namespace traits { - typedef array_tag type; +#ifdef BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS + template + struct tag_of + { + typedef po_array_tag type; + }; + + template + struct tag_of + { + typedef po_array_tag type; + }; +#else + template + struct tag_of + { + typedef po_array_tag type; + }; + + template + struct tag_of + { + typedef po_array_tag type; + }; +#endif + } + } + + namespace mpl + { + template + struct sequence_tag; + + template + struct sequence_tag + { + typedef fusion::po_array_tag type; + }; + + template + struct sequence_tag + { + typedef fusion::po_array_tag type; }; } -}} - -namespace boost { namespace mpl -{ - template - struct sequence_tag; - - template - struct sequence_tag > - { - typedef fusion::fusion_sequence_tag type; - }; - - template - struct sequence_tag const> - { - typedef fusion::fusion_sequence_tag type; - }; -}} +} #endif diff --git a/include/boost/fusion/adapted/array/value_at_impl.hpp b/include/boost/fusion/adapted/array/value_at_impl.hpp new file mode 100644 index 00000000..4e04c37a --- /dev/null +++ b/include/boost/fusion/adapted/array/value_at_impl.hpp @@ -0,0 +1,28 @@ +/*============================================================================= + Copyright (c) 2010 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_ADAPTED_ARRAY_VALUE_AT_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_VALUE_AT_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_at_impl; + + template <> + struct value_at_impl + { + template + struct apply + : remove_extent + {}; + }; +}}} + +#endif diff --git a/include/boost/fusion/adapted/array/value_of_impl.hpp b/include/boost/fusion/adapted/array/value_of_impl.hpp new file mode 100644 index 00000000..2bbddf23 --- /dev/null +++ b/include/boost/fusion/adapted/array/value_of_impl.hpp @@ -0,0 +1,28 @@ +/*============================================================================= + Copyright (c) 2010 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_ADAPTED_ARRAY_VALUE_OF_IMPL_HPP +#define BOOST_FUSION_ADAPTED_ARRAY_VALUE_OF_IMPL_HPP + +#include + +namespace boost { namespace fusion { namespace extension +{ + template + struct value_of_impl; + + template <> + struct value_of_impl + { + template + struct apply + : remove_extent + {}; + }; +}}} + +#endif diff --git a/include/boost/fusion/adapted/array/array_iterator.hpp b/include/boost/fusion/adapted/boost_array/array_iterator.hpp similarity index 100% rename from include/boost/fusion/adapted/array/array_iterator.hpp rename to include/boost/fusion/adapted/boost_array/array_iterator.hpp diff --git a/include/boost/fusion/adapted/array/detail/at_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/at_impl.hpp similarity index 100% rename from include/boost/fusion/adapted/array/detail/at_impl.hpp rename to include/boost/fusion/adapted/boost_array/detail/at_impl.hpp diff --git a/include/boost/fusion/adapted/array/detail/begin_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/begin_impl.hpp similarity index 100% rename from include/boost/fusion/adapted/array/detail/begin_impl.hpp rename to include/boost/fusion/adapted/boost_array/detail/begin_impl.hpp diff --git a/include/boost/fusion/adapted/array/detail/category_of_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp similarity index 100% rename from include/boost/fusion/adapted/array/detail/category_of_impl.hpp rename to include/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp diff --git a/include/boost/fusion/adapted/array/detail/end_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/end_impl.hpp similarity index 100% rename from include/boost/fusion/adapted/array/detail/end_impl.hpp rename to include/boost/fusion/adapted/boost_array/detail/end_impl.hpp diff --git a/include/boost/fusion/adapted/array/detail/is_sequence_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp similarity index 100% rename from include/boost/fusion/adapted/array/detail/is_sequence_impl.hpp rename to include/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp diff --git a/include/boost/fusion/adapted/array/detail/is_view_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp similarity index 100% rename from include/boost/fusion/adapted/array/detail/is_view_impl.hpp rename to include/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp diff --git a/include/boost/fusion/adapted/array/detail/size_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/size_impl.hpp similarity index 100% rename from include/boost/fusion/adapted/array/detail/size_impl.hpp rename to include/boost/fusion/adapted/boost_array/detail/size_impl.hpp diff --git a/include/boost/fusion/adapted/array/detail/value_at_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp similarity index 100% rename from include/boost/fusion/adapted/array/detail/value_at_impl.hpp rename to include/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp diff --git a/include/boost/fusion/adapted/boost_array/tag_of.hpp b/include/boost/fusion/adapted/boost_array/tag_of.hpp new file mode 100644 index 00000000..67a4f116 --- /dev/null +++ b/include/boost/fusion/adapted/boost_array/tag_of.hpp @@ -0,0 +1,58 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + 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) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_TAG_OF_27122005_1030) +#define FUSION_SEQUENCE_TAG_OF_27122005_1030 + +#include + +#include + +namespace boost +{ + template + class array; +} + +namespace boost { namespace fusion +{ + struct array_tag; + struct fusion_sequence_tag; + + namespace traits + { + template +#if defined(BOOST_NO_PARTIAL_SPECIALIZATION_IMPLICIT_DEFAULT_ARGS) + struct tag_of, void > +#else + struct tag_of > +#endif + { + typedef array_tag type; + }; + } +}} + +namespace boost { namespace mpl +{ + template + struct sequence_tag; + + template + struct sequence_tag > + { + typedef fusion::fusion_sequence_tag type; + }; + + template + struct sequence_tag const> + { + typedef fusion::fusion_sequence_tag type; + }; +}} + +#endif diff --git a/test/sequence/array.cpp b/test/sequence/array.cpp new file mode 100644 index 00000000..15b4ed89 --- /dev/null +++ b/test/sequence/array.cpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2010 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) +==============================================================================*/ + +#include + +#include +#include +#include +#include +#include + +#include + +int main() +{ + using namespace boost::fusion; + typedef int array_type[3]; + + BOOST_MPL_ASSERT((traits::is_sequence)); + BOOST_MPL_ASSERT_NOT((traits::is_view)); + + array_type arr = {1,2,3}; + + BOOST_TEST(*begin(arr) == 1); + BOOST_TEST(*next(begin(arr)) == 2); + BOOST_TEST(*advance_c<2>(begin(arr)) == 3); + BOOST_TEST(prior(next(begin(arr))) == begin(arr)); + BOOST_TEST(*prior(end(arr)) == 3); + BOOST_TEST(at_c<2>(arr) == 3); + BOOST_TEST(size(arr) == 3); + BOOST_TEST(distance(begin(arr), end(arr)) == 3); + + return boost::report_errors(); +} + From bb88841f479fad0a664a6a1c7cc7d13742fe58d7 Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Sun, 7 Feb 2010 19:12:26 +0000 Subject: [PATCH 36/36] adapt plain old array types (3) [SVN r59578] --- include/boost/fusion/adapted/boost_array/detail/at_impl.hpp | 4 ++-- .../boost/fusion/adapted/boost_array/detail/begin_impl.hpp | 6 +++--- .../fusion/adapted/boost_array/detail/category_of_impl.hpp | 4 ++-- .../boost/fusion/adapted/boost_array/detail/end_impl.hpp | 6 +++--- .../fusion/adapted/boost_array/detail/is_sequence_impl.hpp | 4 ++-- .../fusion/adapted/boost_array/detail/is_view_impl.hpp | 4 ++-- .../boost/fusion/adapted/boost_array/detail/size_impl.hpp | 4 ++-- .../fusion/adapted/boost_array/detail/value_at_impl.hpp | 4 ++-- include/boost/fusion/adapted/boost_array/tag_of.hpp | 4 ++-- 9 files changed, 20 insertions(+), 20 deletions(-) diff --git a/include/boost/fusion/adapted/boost_array/detail/at_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/at_impl.hpp index 3c427059..16557a11 100644 --- a/include/boost/fusion/adapted/boost_array/detail/at_impl.hpp +++ b/include/boost/fusion/adapted/boost_array/detail/at_impl.hpp @@ -14,7 +14,7 @@ namespace boost { namespace fusion { - struct array_tag; + struct boost_array_tag; namespace extension { @@ -22,7 +22,7 @@ namespace boost { namespace fusion { struct at_impl; template<> - struct at_impl + struct at_impl { template struct apply diff --git a/include/boost/fusion/adapted/boost_array/detail/begin_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/begin_impl.hpp index 06dc8c51..0798659b 100644 --- a/include/boost/fusion/adapted/boost_array/detail/begin_impl.hpp +++ b/include/boost/fusion/adapted/boost_array/detail/begin_impl.hpp @@ -8,11 +8,11 @@ #if !defined(BOOST_FUSION_BEGIN_IMPL_27122005_1117) #define BOOST_FUSION_BEGIN_IMPL_27122005_1117 -#include +#include namespace boost { namespace fusion { - struct array_tag; + struct boost_array_tag; namespace extension { @@ -20,7 +20,7 @@ namespace boost { namespace fusion { struct begin_impl; template <> - struct begin_impl + struct begin_impl { template struct apply diff --git a/include/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp index 5d01f053..35762a03 100644 --- a/include/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp +++ b/include/boost/fusion/adapted/boost_array/detail/category_of_impl.hpp @@ -12,7 +12,7 @@ namespace boost { namespace fusion { - struct array_tag; + struct boost_array_tag; struct random_access_traversal_tag; namespace extension @@ -21,7 +21,7 @@ namespace boost { namespace fusion { struct category_of_impl; template<> - struct category_of_impl + struct category_of_impl { template struct apply diff --git a/include/boost/fusion/adapted/boost_array/detail/end_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/end_impl.hpp index c9432c9b..35b1fdbc 100644 --- a/include/boost/fusion/adapted/boost_array/detail/end_impl.hpp +++ b/include/boost/fusion/adapted/boost_array/detail/end_impl.hpp @@ -8,11 +8,11 @@ #if !defined(BOOST_FUSION_END_IMPL_27122005_1120) #define BOOST_FUSION_END_IMPL_27122005_1120 -#include +#include namespace boost { namespace fusion { - struct array_tag; + struct boost_array_tag; namespace extension { @@ -20,7 +20,7 @@ namespace boost { namespace fusion { struct end_impl; template <> - struct end_impl + struct end_impl { template struct apply diff --git a/include/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp index a248c314..9301e81e 100644 --- a/include/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp +++ b/include/boost/fusion/adapted/boost_array/detail/is_sequence_impl.hpp @@ -12,7 +12,7 @@ namespace boost { namespace fusion { - struct array_tag; + struct boost_array_tag; namespace extension { @@ -20,7 +20,7 @@ namespace boost { namespace fusion { struct is_sequence_impl; template<> - struct is_sequence_impl + struct is_sequence_impl { template struct apply : mpl::true_ {}; diff --git a/include/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp index bc821fa6..6cb6b36a 100644 --- a/include/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp +++ b/include/boost/fusion/adapted/boost_array/detail/is_view_impl.hpp @@ -12,7 +12,7 @@ namespace boost { namespace fusion { - struct array_tag; + struct boost_array_tag; namespace extension { @@ -20,7 +20,7 @@ namespace boost { namespace fusion struct is_view_impl; template<> - struct is_view_impl + struct is_view_impl { template struct apply : mpl::false_ diff --git a/include/boost/fusion/adapted/boost_array/detail/size_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/size_impl.hpp index 63661573..87cafdac 100644 --- a/include/boost/fusion/adapted/boost_array/detail/size_impl.hpp +++ b/include/boost/fusion/adapted/boost_array/detail/size_impl.hpp @@ -10,7 +10,7 @@ namespace boost { namespace fusion { - struct array_tag; + struct boost_array_tag; namespace extension { @@ -18,7 +18,7 @@ namespace boost { namespace fusion { struct size_impl; template<> - struct size_impl + struct size_impl { template struct apply : mpl::int_ {}; diff --git a/include/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp b/include/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp index f465b1d6..a35abc68 100644 --- a/include/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp +++ b/include/boost/fusion/adapted/boost_array/detail/value_at_impl.hpp @@ -10,7 +10,7 @@ namespace boost { namespace fusion { - struct array_tag; + struct boost_array_tag; namespace extension { @@ -18,7 +18,7 @@ namespace boost { namespace fusion { struct value_at_impl; template <> - struct value_at_impl + struct value_at_impl { template struct apply diff --git a/include/boost/fusion/adapted/boost_array/tag_of.hpp b/include/boost/fusion/adapted/boost_array/tag_of.hpp index 67a4f116..d38cc804 100644 --- a/include/boost/fusion/adapted/boost_array/tag_of.hpp +++ b/include/boost/fusion/adapted/boost_array/tag_of.hpp @@ -20,7 +20,7 @@ namespace boost namespace boost { namespace fusion { - struct array_tag; + struct boost_array_tag; struct fusion_sequence_tag; namespace traits @@ -32,7 +32,7 @@ namespace boost { namespace fusion struct tag_of > #endif { - typedef array_tag type; + typedef boost_array_tag type; }; } }}