From 21588d6dac3a5c1c7a01837458884eca6bbd3b40 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Sat, 5 Mar 2011 14:48:47 +0000 Subject: [PATCH 01/45] fixed wrong return type [SVN r69583] --- include/boost/fusion/algorithm/auxiliary/copy.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/fusion/algorithm/auxiliary/copy.hpp b/include/boost/fusion/algorithm/auxiliary/copy.hpp index eec8e019..e6e4f80f 100644 --- a/include/boost/fusion/algorithm/auxiliary/copy.hpp +++ b/include/boost/fusion/algorithm/auxiliary/copy.hpp @@ -43,7 +43,7 @@ namespace boost { namespace fusion } template - static bool + static void call(I1 const& src, I2 const& dest) { typename result_of::equal_to::type eq; From 7215d8835f4195589d39f08eef017c117dde7b33 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Sat, 5 Mar 2011 23:37:25 +0000 Subject: [PATCH 02/45] fixed assign bug [SVN r69589] --- include/boost/fusion/algorithm/auxiliary/copy.hpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/include/boost/fusion/algorithm/auxiliary/copy.hpp b/include/boost/fusion/algorithm/auxiliary/copy.hpp index e6e4f80f..c2c40861 100644 --- a/include/boost/fusion/algorithm/auxiliary/copy.hpp +++ b/include/boost/fusion/algorithm/auxiliary/copy.hpp @@ -38,7 +38,7 @@ namespace boost { namespace fusion static void call(I1 const& src, I2 const& dest, mpl::false_) { - *src = *dest; + *dest = *src; call(fusion::next(src), fusion::next(dest)); } From 80e3f4128bbf32c823f693ad5ef6ca47a33b433e Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Tue, 15 Mar 2011 23:57:13 +0000 Subject: [PATCH 03/45] Added missing include [SVN r70008] --- include/boost/fusion/algorithm/auxiliary/copy.hpp | 1 + 1 file changed, 1 insertion(+) diff --git a/include/boost/fusion/algorithm/auxiliary/copy.hpp b/include/boost/fusion/algorithm/auxiliary/copy.hpp index c2c40861..2720627c 100644 --- a/include/boost/fusion/algorithm/auxiliary/copy.hpp +++ b/include/boost/fusion/algorithm/auxiliary/copy.hpp @@ -12,6 +12,7 @@ #include #include #include +#include #if defined (BOOST_MSVC) # pragma warning(push) From 690735de20a9642529e7aaaeedb7d522f8cad727 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Wed, 16 Mar 2011 00:02:38 +0000 Subject: [PATCH 04/45] added test for copy [SVN r70009] --- test/Jamfile | 3 ++- test/algorithm/copy.cpp | 26 ++++++++++++++++++++++++++ 2 files changed, 28 insertions(+), 1 deletion(-) create mode 100644 test/algorithm/copy.cpp diff --git a/test/Jamfile b/test/Jamfile index 4827bbaa..fe8829e6 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -14,6 +14,7 @@ import testing ; [ run algorithm/all.cpp : : : : ] [ run algorithm/any.cpp : : : : ] [ run algorithm/clear.cpp : : : : ] + [ run algorithm/copy.cpp : : : : ] [ run algorithm/count.cpp : : : : ] [ run algorithm/count_if.cpp : : : : ] [ run algorithm/erase.cpp : : : : ] @@ -111,7 +112,7 @@ import testing ; [ run sequence/zip_view2.cpp : : : : ] [ run sequence/zip_view_ignore.cpp : : : : ] [ run sequence/repetitive_view.cpp : : : : ] - [ run sequence/deduce_sequence.cpp : : : : ] + [ run sequence/deduce_sequence.cpp : : : : ] [ run sequence/adapt_adt_named.cpp : : : : ] [ run sequence/adapt_adt.cpp : : : : ] [ run sequence/adapt_assoc_adt_named.cpp : : : : ] diff --git a/test/algorithm/copy.cpp b/test/algorithm/copy.cpp new file mode 100644 index 00000000..330caca6 --- /dev/null +++ b/test/algorithm/copy.cpp @@ -0,0 +1,26 @@ +/*============================================================================= + Copyright (c) 2001-2011 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 + +int +main() +{ + { + boost::fusion::vector v(1, 2, 3); + boost::fusion::list l; + + boost::fusion::copy(v, l); + BOOST_TEST(v == l); + } + + return boost::report_errors(); +} + From 407657d56c9b7a4fa40780f62b22f7940435978c Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Mon, 21 Mar 2011 04:08:44 +0000 Subject: [PATCH 05/45] Updateded: fixed 'requirement' errors [SVN r70297] --- doc/html/fusion/adapted.html | 32 +-- doc/html/fusion/adapted/adapt_adt.html | 12 +- doc/html/fusion/adapted/adapt_assoc.html | 12 +- doc/html/fusion/adapted/adapt_assoc_adt.html | 12 +- .../adapted/adapt_assoc_struct_named.html | 12 +- .../fusion/adapted/adapt_assoc_tpl_adt.html | 12 +- .../adapted/adapt_assoc_tpl_struct.html | 12 +- doc/html/fusion/adapted/adapt_struct.html | 12 +- .../fusion/adapted/adapt_struct_named.html | 12 +- doc/html/fusion/adapted/adapt_tpl_adt.html | 12 +- doc/html/fusion/adapted/adapt_tpl_struct.html | 12 +- doc/html/fusion/adapted/array.html | 14 +- doc/html/fusion/adapted/boost__array.html | 14 +- doc/html/fusion/adapted/boost__tuple.html | 12 +- .../fusion/adapted/define_assoc_struct.html | 12 +- .../adapted/define_assoc_tpl_struct.html | 12 +- doc/html/fusion/adapted/define_struct.html | 10 +- .../fusion/adapted/define_tpl_struct.html | 12 +- doc/html/fusion/adapted/mpl_sequence.html | 32 +-- doc/html/fusion/adapted/std__pair.html | 14 +- doc/html/fusion/algorithm.html | 6 +- doc/html/fusion/algorithm/iteration.html | 2 +- .../iteration/functions/accumulate.html | 234 +++++++++++------- .../algorithm/iteration/functions/fold.html | 234 +++++++++++------- .../iteration/functions/for_each.html | 14 +- .../iteration/functions/iter_fold.html | 234 +++++++++++------- .../iteration/functions/reverse_fold.html | 234 +++++++++++------- .../functions/reverse_iter_fold.html | 234 +++++++++++------- .../iteration/metafunctions/accumulate.html | 207 +++++++++------- .../iteration/metafunctions/fold.html | 207 +++++++++------- .../iteration/metafunctions/for_each.html | 12 +- .../iteration/metafunctions/iter_fold.html | 207 +++++++++------- .../iteration/metafunctions/reverse_fold.html | 207 +++++++++------- .../metafunctions/reverse_iter_fold.html | 207 +++++++++------- 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 | 20 +- .../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 | 46 ++-- .../transformation/functions/erase_key.html | 14 +- .../transformation/functions/filter.html | 30 +-- .../transformation/functions/filter_if.html | 30 +-- .../transformation/functions/insert.html | 20 +- .../functions/insert_range.html | 30 +-- .../transformation/functions/join.html | 32 +-- .../transformation/functions/pop_back.html | 30 +-- .../transformation/functions/pop_front.html | 30 +-- .../transformation/functions/push_back.html | 20 +- .../transformation/functions/push_front.html | 20 +- .../transformation/functions/remove.html | 30 +-- .../transformation/functions/remove_if.html | 30 +-- .../transformation/functions/replace.html | 14 +- .../transformation/functions/replace_if.html | 14 +- .../transformation/functions/reverse.html | 40 +-- .../transformation/functions/transform.html | 18 +- .../transformation/functions/zip.html | 14 +- .../transformation/metafunctions/clear.html | 12 +- .../transformation/metafunctions/erase.html | 28 +-- .../metafunctions/erase_key.html | 12 +- .../transformation/metafunctions/filter.html | 28 +-- .../metafunctions/filter_if.html | 28 +-- .../transformation/metafunctions/insert.html | 18 +- .../metafunctions/insert_range.html | 28 +-- .../transformation/metafunctions/join.html | 28 +-- .../metafunctions/pop_back.html | 28 +-- .../metafunctions/pop_front.html | 28 +-- .../metafunctions/push_back.html | 18 +- .../metafunctions/push_front.html | 18 +- .../transformation/metafunctions/remove.html | 28 +-- .../metafunctions/remove_if.html | 28 +-- .../transformation/metafunctions/replace.html | 12 +- .../metafunctions/replace_if.html | 12 +- .../transformation/metafunctions/reverse.html | 38 +-- .../metafunctions/transform.html | 34 +-- .../transformation/metafunctions/zip.html | 10 +- doc/html/fusion/change_log.html | 98 ++++---- doc/html/fusion/container.html | 2 +- doc/html/fusion/container/cons.html | 20 +- 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 | 26 +- .../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 | 18 +- doc/html/fusion/container/map.html | 24 +- doc/html/fusion/container/set.html | 24 +- doc/html/fusion/container/vector.html | 20 +- doc/html/fusion/extension.html | 2 +- doc/html/fusion/extension/ext_full.html | 63 +++-- .../fusion/extension/iterator_facade.html | 14 +- .../fusion/extension/sequence_facade.html | 14 +- doc/html/fusion/functional.html | 20 +- doc/html/fusion/functional/adapters.html | 2 +- .../fusion/functional/adapters/fused.html | 50 ++-- .../adapters/fused_function_object.html | 50 ++-- .../functional/adapters/fused_procedure.html | 46 ++-- .../fusion/functional/adapters/limits.html | 12 +- .../fusion/functional/adapters/unfused.html | 38 ++- .../functional/adapters/unfused_typed.html | 44 ++-- doc/html/fusion/functional/concepts.html | 10 +- .../fusion/functional/concepts/callable.html | 20 +- .../functional/concepts/def_callable.html | 28 +-- doc/html/fusion/functional/concepts/poly.html | 36 ++- .../functional/concepts/reg_callable.html | 24 +- .../functional/generation/functions.html | 12 +- .../generation/functions/mk_fused.html | 29 +-- .../generation/functions/mk_fused_fobj.html | 29 +-- .../generation/functions/mk_fused_proc.html | 29 +-- .../generation/functions/mk_unfused.html | 29 +-- .../functional/generation/metafunctions.html | 12 +- .../generation/metafunctions/mk_fused.html | 15 +- .../metafunctions/mk_fused_fobj.html | 15 +- .../metafunctions/mk_fused_proc.html | 15 +- .../generation/metafunctions/mk_unfused.html | 15 +- .../functional/invocation/functions.html | 6 +- .../invocation/functions/invoke.html | 34 +-- .../invocation/functions/invoke_fobj.html | 37 ++- .../invocation/functions/invoke_proc.html | 37 ++- .../fusion/functional/invocation/limits.html | 16 +- .../functional/invocation/metafunctions.html | 6 +- .../invocation/metafunctions/invoke.html | 14 +- .../invocation/metafunctions/invoke_fobj.html | 17 +- .../invocation/metafunctions/invoke_proc.html | 17 +- doc/html/fusion/introduction.html | 18 +- doc/html/fusion/iterator.html | 8 +- .../concepts/associative_iterator.html | 60 ++--- .../concepts/bidirectional_iterator.html | 67 +++-- .../iterator/concepts/forward_iterator.html | 121 +++++---- .../concepts/random_access_iterator.html | 52 ++-- .../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 +- doc/html/fusion/iterator/operator.html | 6 +- .../iterator/operator/operator_equality.html | 12 +- .../operator/operator_inequality.html | 12 +- .../operator/operator_unary_star.html | 14 +- doc/html/fusion/notes.html | 64 ++--- doc/html/fusion/organization.html | 179 +++++++------- doc/html/fusion/preface.html | 34 ++- doc/html/fusion/quick_start.html | 35 +-- doc/html/fusion/references.html | 42 ++-- doc/html/fusion/sequence.html | 2 +- doc/html/fusion/sequence/concepts.html | 4 +- .../concepts/associative_sequence.html | 60 ++--- .../concepts/bidirectional_sequence.html | 52 ++-- .../sequence/concepts/forward_sequence.html | 105 ++++---- .../concepts/random_access_sequence.html | 52 ++-- doc/html/fusion/sequence/intrinsic.html | 14 +- .../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 | 44 ++-- .../sequence/intrinsic/functions/empty.html | 12 +- .../sequence/intrinsic/functions/end.html | 44 ++-- .../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 | 32 +-- .../intrinsic/metafunctions/at_c.html | 32 +-- .../intrinsic/metafunctions/at_key.html | 30 +-- .../intrinsic/metafunctions/back.html | 12 +- .../intrinsic/metafunctions/begin.html | 44 ++-- .../intrinsic/metafunctions/empty.html | 12 +- .../sequence/intrinsic/metafunctions/end.html | 44 ++-- .../intrinsic/metafunctions/front.html | 12 +- .../intrinsic/metafunctions/has_key.html | 14 +- .../intrinsic/metafunctions/size.html | 12 +- .../intrinsic/metafunctions/swap.html | 10 +- .../intrinsic/metafunctions/value_at.html | 16 +- .../intrinsic/metafunctions/value_at_c.html | 16 +- .../intrinsic/metafunctions/value_at_key.html | 14 +- .../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 | 14 +- doc/html/fusion/support/deduce_sequence.html | 14 +- 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 | 32 +-- doc/html/fusion/view/iterator_range.html | 44 ++-- doc/html/fusion/view/joint_view.html | 34 +-- doc/html/fusion/view/nview.html | 26 +- doc/html/fusion/view/repetitive_view.html | 24 +- doc/html/fusion/view/reverse_view.html | 40 +-- doc/html/fusion/view/single_view.html | 18 +- doc/html/fusion/view/transform_view.html | 36 ++- doc/html/fusion/view/zip_view.html | 30 +-- doc/html/index.html | 54 ++-- doc/sequence.qbk | 18 +- 259 files changed, 3789 insertions(+), 3516 deletions(-) diff --git a/doc/html/fusion/adapted.html b/doc/html/fusion/adapted.html index 44ff466e..4d958f1f 100644 --- a/doc/html/fusion/adapted.html +++ b/doc/html/fusion/adapted.html @@ -27,25 +27,25 @@ Adapted

Fusion provides a couple of adapters for other sequences such as arrays, std::pair, @@ -60,7 +60,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_adt.html b/doc/html/fusion/adapted/adapt_adt.html
index dd658ee0..859ce566 100644
--- a/doc/html/fusion/adapted/adapt_adt.html
+++ b/doc/html/fusion/adapted/adapt_adt.html
@@ -24,7 +24,7 @@
 
 

BOOST_FUSION_ADAPT_ADT is a macro than can be used to generate all the necessary @@ -32,7 +32,7 @@ Access Sequence.

- + Synopsis
BOOST_FUSION_ADAPT_ADT(
@@ -43,7 +43,7 @@
     )
 
- + Expression Semantics
@@ -88,14 +88,14 @@ should be the fully namespace qualified name of the class type to be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_adt.hpp>
 #include <boost/fusion/include/adapt_adt.hpp>
 
- + Example
namespace demo
@@ -141,7 +141,7 @@
 std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_assoc.html b/doc/html/fusion/adapted/adapt_assoc.html index 86eca0da..92899382 100644 --- a/doc/html/fusion/adapted/adapt_assoc.html +++ b/doc/html/fusion/adapted/adapt_assoc.html @@ -24,10 +24,10 @@

- + 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 adapted.

- + 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_assoc_adt.html b/doc/html/fusion/adapted/adapt_assoc_adt.html
index 1053f18b..382eefa9 100644
--- a/doc/html/fusion/adapted/adapt_assoc_adt.html
+++ b/doc/html/fusion/adapted/adapt_assoc_adt.html
@@ -24,7 +24,7 @@
 

BOOST_FUSION_ADAPT_ASSOC_ADT is a macro than can be used to generate all @@ -34,7 +34,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_ADT(
@@ -45,7 +45,7 @@
     )
 
- + Expression Semantics
@@ -92,14 +92,14 @@ should be the fully namespace qualified name of the class type to be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_assoc_adt.hpp>
 #include <boost/fusion/include/adapt_assoc_adt.hpp>
 
- + Example
namespace demo
@@ -151,7 +151,7 @@
 std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_assoc_struct_named.html b/doc/html/fusion/adapted/adapt_assoc_struct_named.html index 205acc19..e0b33ecb 100644 --- a/doc/html/fusion/adapted/adapt_assoc_struct_named.html +++ b/doc/html/fusion/adapted/adapt_assoc_struct_named.html @@ -24,10 +24,10 @@

- + Description

@@ -38,7 +38,7 @@ Sequence. The given struct is adapted using the given name.

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED(
@@ -58,7 +58,7 @@
     )
 
- + Semantics

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

- + Header
#include <boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp>
 #include <boost/fusion/include/adapt_assoc_struct_named.hpp>
 
- + Example
namespace demo
diff --git a/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html b/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
index ff420185..9137a509 100644
--- a/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
+++ b/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
@@ -24,7 +24,7 @@
 

BOOST_FUSION_ADAPT_ASSOC_TPL_ADT is a macro than can be used to generate @@ -34,7 +34,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_TPL_ADT(
@@ -46,7 +46,7 @@
     )
 
- + Expression Semantics
@@ -98,14 +98,14 @@ be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_assoc_adt.hpp>
 #include <boost/fusion/include/adapt_assoc_adt.hpp>
 
- + Example
namespace demo
@@ -159,7 +159,7 @@
 std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html b/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html index 4391918f..5fa279b7 100644 --- a/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html +++ b/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html @@ -24,10 +24,10 @@

- + Description

@@ -38,7 +38,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT(
@@ -50,7 +50,7 @@
     )
 
- + Semantics

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

- + 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 57974449..67038578 100644
--- a/doc/html/fusion/adapted/adapt_struct.html
+++ b/doc/html/fusion/adapted/adapt_struct.html
@@ -24,10 +24,10 @@
 
- + 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 adapted.

- + 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/adapt_struct_named.html b/doc/html/fusion/adapted/adapt_struct_named.html
index 013db743..f42cb412 100644
--- a/doc/html/fusion/adapted/adapt_struct_named.html
+++ b/doc/html/fusion/adapted/adapt_struct_named.html
@@ -24,10 +24,10 @@
 
- + Description

@@ -37,7 +37,7 @@ Access Sequence. The given struct is adapted using the given name.

- + Synopsis
BOOST_FUSION_ADAPT_STRUCT_NAMED(
@@ -57,7 +57,7 @@
     )
 
- + Semantics

@@ -81,14 +81,14 @@ 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
diff --git a/doc/html/fusion/adapted/adapt_tpl_adt.html b/doc/html/fusion/adapted/adapt_tpl_adt.html
index 05b829af..a4e72e87 100644
--- a/doc/html/fusion/adapted/adapt_tpl_adt.html
+++ b/doc/html/fusion/adapted/adapt_tpl_adt.html
@@ -24,7 +24,7 @@
 

BOOST_FUSION_ADAPT_TPL_ADT is a macro than can be used to generate all the @@ -33,7 +33,7 @@ Access Sequence.

- + Synopsis
BOOST_FUSION_ADAPT_ADT(
@@ -45,7 +45,7 @@
     )
 
- + Expression Semantics
@@ -95,14 +95,14 @@ be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_adt.hpp>
 #include <boost/fusion/include/adapt_adt.hpp>
 
- + Example
  namespace demo
@@ -150,7 +150,7 @@
   std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_tpl_struct.html b/doc/html/fusion/adapted/adapt_tpl_struct.html index 17e32d4e..fac6998f 100644 --- a/doc/html/fusion/adapted/adapt_tpl_struct.html +++ b/doc/html/fusion/adapted/adapt_tpl_struct.html @@ -24,10 +24,10 @@

- + Description

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

- + Synopsis
BOOST_FUSION_ADAPT_TPL_STRUCT(
@@ -49,7 +49,7 @@
     )
 
- + Semantics

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

- + 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/array.html b/doc/html/fusion/adapted/array.html
index 8cffb415..7bfd4c22 100644
--- a/doc/html/fusion/adapted/array.html
+++ b/doc/html/fusion/adapted/array.html
@@ -24,7 +24,7 @@
 

This module provides adapters for arrays. Including the module header makes @@ -32,22 +32,20 @@ Access Sequence.

- + Header
#include <boost/fusion/adapted/array.hpp>
 #include <boost/fusion/include/array.hpp>
 
- + Model of
- +
- + Example
int arr[3] = {1,2,3};
diff --git a/doc/html/fusion/adapted/boost__array.html b/doc/html/fusion/adapted/boost__array.html
index 61726eb3..b80849b2 100644
--- a/doc/html/fusion/adapted/boost__array.html
+++ b/doc/html/fusion/adapted/boost__array.html
@@ -33,22 +33,20 @@
         Access Sequence.
       

- + Header
#include <boost/fusion/adapted/boost_array.hpp>
 #include <boost/fusion/include/boost_array.hpp>
 
- + Model of
- +
- + Example
boost::array<int,3> arr = {{1,2,3}};
@@ -60,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 4f6a2d89..5a34d7ab 100644 --- a/doc/html/fusion/adapted/boost__tuple.html +++ b/doc/html/fusion/adapted/boost__tuple.html @@ -33,21 +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");
@@ -55,7 +53,7 @@
 std::cout << *boost::fusion::next(boost::fusion::begin(example_tuple)) << '\n';
 
- + See also

diff --git a/doc/html/fusion/adapted/define_assoc_struct.html b/doc/html/fusion/adapted/define_assoc_struct.html index c2668af2..6aaf357e 100644 --- a/doc/html/fusion/adapted/define_assoc_struct.html +++ b/doc/html/fusion/adapted/define_assoc_struct.html @@ -24,10 +24,10 @@

- + Description

@@ -38,7 +38,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_DEFINE_ASSOC_STRUCT(
@@ -68,7 +68,7 @@
 
 
- + Expression Semantics
@@ -182,14 +182,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_assoc_struct.hpp>
 #include <boost/fusion/include/define_assoc_struct.hpp>
 
- + Example
namespace keys
diff --git a/doc/html/fusion/adapted/define_assoc_tpl_struct.html b/doc/html/fusion/adapted/define_assoc_tpl_struct.html
index 35f40611..b68c5374 100644
--- a/doc/html/fusion/adapted/define_assoc_tpl_struct.html
+++ b/doc/html/fusion/adapted/define_assoc_tpl_struct.html
@@ -24,10 +24,10 @@
 
 
- + Description

@@ -38,7 +38,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT(
@@ -73,7 +73,7 @@
 
 
- + Expression Semantics
@@ -187,14 +187,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_assoc_struct.hpp>
 #include <boost/fusion/include/define_assoc_struct.hpp>
 
- + Example
namespace keys
diff --git a/doc/html/fusion/adapted/define_struct.html b/doc/html/fusion/adapted/define_struct.html
index 72641a19..8cdd7219 100644
--- a/doc/html/fusion/adapted/define_struct.html
+++ b/doc/html/fusion/adapted/define_struct.html
@@ -24,7 +24,7 @@
 
 

BOOST_FUSION_DEFINE_STRUCT is a macro that can be used to generate all the @@ -33,7 +33,7 @@ Access Sequence.

- + Synopsis
BOOST_FUSION_DEFINE_STRUCT(
@@ -63,7 +63,7 @@
 
 
- + Expression Semantics
@@ -174,14 +174,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_struct.hpp>
 #include <boost/fusion/include/define_struct.hpp>
 
- + Example
// demo::employee is a Fusion sequence
diff --git a/doc/html/fusion/adapted/define_tpl_struct.html b/doc/html/fusion/adapted/define_tpl_struct.html
index 961767ae..9214f4d4 100644
--- a/doc/html/fusion/adapted/define_tpl_struct.html
+++ b/doc/html/fusion/adapted/define_tpl_struct.html
@@ -24,10 +24,10 @@
 
 
- + Description

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

- + Synopsis
BOOST_FUSION_DEFINE_TPL_STRUCT(
@@ -72,7 +72,7 @@
 
 
- + Expression Semantics
@@ -183,14 +183,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_struct.hpp>
 #include <boost/fusion/include/define_struct.hpp>
 
- + Example
// Any instantiated demo::employee is a Fusion sequence
diff --git a/doc/html/fusion/adapted/mpl_sequence.html b/doc/html/fusion/adapted/mpl_sequence.html
index 0a1a0a07..3cfd0486 100644
--- a/doc/html/fusion/adapted/mpl_sequence.html
+++ b/doc/html/fusion/adapted/mpl_sequence.html
@@ -32,35 +32,35 @@
         sequences fully conforming fusion sequences.
       

- + Header
#include <boost/fusion/adapted/mpl.hpp>
 #include <boost/fusion/include/mpl.hpp>
 
- + Model of
- + 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 d1e7daa9..22ce12f6 100644 --- a/doc/html/fusion/adapted/std__pair.html +++ b/doc/html/fusion/adapted/std__pair.html @@ -33,22 +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!!!");
@@ -57,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 cf2bd9c5..410f0863 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

@@ -87,7 +87,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 fa060887..1448fbb2 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 6c356758..bbc0781a 100644
--- a/doc/html/fusion/algorithm/iteration/functions/accumulate.html
+++ b/doc/html/fusion/algorithm/iteration/functions/accumulate.html
@@ -26,24 +26,35 @@
 
-
- - Description -

- 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 -
+ +

+
+ + Description +
+

+

+

+ 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<
     typename Sequence,
     typename State,
@@ -60,8 +71,10 @@
 typename result_of::accumulate<Sequence const, State const, F>::type accumulate(
     Sequence const& seq, State const& initial_state, F f);
 
+

+

-

Table 1.41. Parameters

+

Table 1.41. Parameters

@@ -70,113 +83,142 @@ +

+ Parameter +

+ +

+ Requirement +

+ +

+ Description +

+ +

+ seq +

+ +

+ A model of Forward + Sequence +

+ +

+ Operation's argument +

+ +

+ initial_state +

+ +

+ Any type +

+ +

+ Initial state +

+ +

+ f +

+ +

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

+ +

+ Operation's argument +

+
-

- Parameter -

-
-

- Requirement -

-
-

- Description -

-
-

- seq -

-
-

- A model of Forward - Sequence -

-
-

- Operation's argument -

-
-

- initial_state -

-
-

- Any type -

-
-

- Initial state -

-
-

- f -

-
-

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

-
-

- Operation's argument -

-
-
- - Expression - Semantics -
+


+ +

+
+ + Expression + Semantics +
+

+ +

accumulate(seq, initial_state, f);
 

- Return type: Any type -

+

- Semantics: Equivalent to f(... - f(f(initial_state,e1),e2) ...eN) where e1 ...eN - are the consecutive elements of seq. -

-
- - Complexity -
+ Return type: Any type +

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

-
- - Header -
+

+

+ Semantics: Equivalent to f(... + f(f(initial_state,e1),e2) ...eN) where e1 ...eN + are the consecutive 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 -
+

+ +

+
+ + Example +
+

+ +

struct make_string
 {
     typedef std::string result_type;
@@ -191,6 +233,8 @@
 const vector<int,int> vec(1,2);
 assert(accumulate(vec,std::string(""), make_string()) == "12");
 
+

+

diff --git a/doc/html/fusion/algorithm/iteration/functions/fold.html b/doc/html/fusion/algorithm/iteration/functions/fold.html index aea7dc00..a98c7d8d 100644 --- a/doc/html/fusion/algorithm/iteration/functions/fold.html +++ b/doc/html/fusion/algorithm/iteration/functions/fold.html @@ -26,24 +26,35 @@ -
- - Description -

- 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 -
+ +

+
+ + Description +
+

+

+

+ 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<
     typename Sequence,
     typename State,
@@ -60,8 +71,10 @@
 typename result_of::fold<Sequence const, State const, F>::type fold(
     Sequence const& seq, State const& initial_state, F f);
 
+

+

-

Table 1.37. Parameters

+

Table 1.37. Parameters

@@ -70,113 +83,142 @@ +

+ Parameter +

+ +

+ Requirement +

+ +

+ Description +

+ +

+ seq +

+ +

+ A model of Forward + Sequence +

+ +

+ Operation's argument +

+ +

+ initial_state +

+ +

+ Any type +

+ +

+ Initial state +

+ +

+ f +

+ +

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

+ +

+ Operation's argument +

+
-

- Parameter -

-
-

- Requirement -

-
-

- Description -

-
-

- seq -

-
-

- A model of Forward - Sequence -

-
-

- Operation's argument -

-
-

- initial_state -

-
-

- Any type -

-
-

- Initial state -

-
-

- f -

-
-

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

-
-

- Operation's argument -

-
-
- - Expression - Semantics -
+


+ +

+
+ + Expression + Semantics +
+

+ +

fold(seq, initial_state, f);
 

- Return type: Any type -

+

- Semantics: Equivalent to f(... - f(f(initial_state,e1),e2) ...eN) where e1 ...eN - are the consecutive elements of seq. -

-
- - Complexity -
+ Return type: Any type +

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

-
- - Header -
+

+

+ Semantics: Equivalent to f(... + f(f(initial_state,e1),e2) ...eN) where e1 ...eN + are the consecutive 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 -
+

+ +

+
+ + Example +
+

+ +

struct make_string
 {
     typedef std::string result_type;
@@ -191,6 +233,8 @@
 const vector<int,int> vec(1,2);
 assert(fold(vec,std::string(""), make_string()) == "12");
 
+

+

diff --git a/doc/html/fusion/algorithm/iteration/functions/for_each.html b/doc/html/fusion/algorithm/iteration/functions/for_each.html index 62a259eb..90141b99 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 f);
 
-

Table 1.42. Parameters

+

Table 1.42. 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/functions/iter_fold.html b/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
index f57905b5..a40fa4cd 100644
--- a/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
+++ b/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
@@ -26,24 +26,35 @@
 
-
- - Description -

- For a sequence seq, initial - state initial_state, - and binary function object or function pointer f, - iter_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 iterators on each element of seq. -

-
- - Synopsis -
+ +

+
+ + Description +
+

+

+

+ For a sequence seq, + initial state initial_state, + and binary function object or function pointer f, + iter_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 iterators on each element of seq. +

+

+ +

+
+ + Synopsis +
+

+ +

template<
     typename Sequence,
     typename State,
@@ -60,8 +71,10 @@
 typename result_of::iter_fold<Sequence const, State const, F>::type iter_fold(
     Sequence const& seq, State const& initial_state, F f);
 
+

+

-

Table 1.39. Parameters

+

Table 1.39. Parameters

@@ -70,113 +83,142 @@ +

+ Parameter +

+ +

+ Requirement +

+ +

+ Description +

+ +

+ seq +

+ +

+ A model of Forward + Sequence +

+ +

+ Operation's argument +

+ +

+ initial_state +

+ +

+ Any type +

+ +

+ Initial state +

+ +

+ f +

+ +

+ f(s,it) with return type boost::result_of<F(S,It)>::type for current state + s of type + S, and for + each iterator it + of type It + on an element of seq +

+ +

+ Operation's argument +

+
-

- Parameter -

-
-

- Requirement -

-
-

- Description -

-
-

- seq -

-
-

- A model of Forward - Sequence -

-
-

- Operation's argument -

-
-

- initial_state -

-
-

- Any type -

-
-

- Initial state -

-
-

- f -

-
-

- f(s,it) with return type boost::result_of<F(S,It)>::type for current state s of type S, - and for each iterator it - of type It - on an element of seq -

-
-

- Operation's argument -

-
-
- - Expression - Semantics -
+


+ +

+
+ + Expression + Semantics +
+

+ +

iter_fold(seq, initial_state, f);
 

- Return type: Any type -

+

- Semantics: Equivalent to f(... - f(f(initial_state,it1),it2) ...itN) where it1 ...itN - are consecutive iterators on the elements of seq. -

-
- - Complexity -
+ Return type: Any type +

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

-
- - Header -
+

+

+ Semantics: Equivalent to f(... + f(f(initial_state,it1),it2) ...itN) where it1 ...itN + are consecutive iterators on the elements of seq. +

+

+ +

+
+ + Complexity +
+

+

+

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

+

+ +

+
+ + Header +
+

+ +

#include <boost/fusion/algorithm/iteration/iter_fold.hpp>
 #include <boost/fusion/include/iter_fold.hpp>
 
-
- - Example -
+

+ +

+
+ + Example +
+

+ +

struct make_string
 {
     typedef std::string result_type;
@@ -191,6 +233,8 @@
 const vector<int,int> vec(1,2);
 assert(iter_fold(vec,std::string(""), make_string()) == "12");
 
+

+

diff --git a/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html b/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html index 7c3cd0f6..760c4865 100644 --- a/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html +++ b/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html @@ -26,24 +26,35 @@ -
- - Description -

- For a sequence seq, initial - state initial_state, - and binary function object or function pointer f, - reverse_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 -
+ +

+
+ + Description +
+

+

+

+ For a sequence seq, + initial state initial_state, + and binary function object or function pointer f, + reverse_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<
     typename Sequence,
     typename State,
@@ -60,8 +71,10 @@
 typename result_of::reverse_fold<Sequence const, State const, F>::type reverse_fold(
     Sequence const& seq, State const& initial_state, F f);
 
+

+

-

Table 1.38. Parameters

+

Table 1.38. Parameters

@@ -70,113 +83,142 @@ +

+ Parameter +

+ +

+ Requirement +

+ +

+ Description +

+ +

+ seq +

+ +

+ A model of Bidirectional + Sequence +

+ +

+ Operation's argument +

+ +

+ initial_state +

+ +

+ Any type +

+ +

+ Initial state +

+ +

+ f +

+ +

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

+ +

+ Operation's argument +

+
-

- Parameter -

-
-

- Requirement -

-
-

- Description -

-
-

- seq -

-
-

- A model of Bidirectional - Sequence -

-
-

- Operation's argument -

-
-

- initial_state -

-
-

- Any type -

-
-

- Initial state -

-
-

- f -

-
-

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

-
-

- Operation's argument -

-
-
- - Expression - Semantics -
+


+ +

+
+ + Expression + Semantics +
+

+ +

reverse_fold(seq, initial_state, f);
 

- Return type: Any type -

+

- Semantics: Equivalent to f(... - f(f(initial_state,eN),eN-1) ...e1) where e1 ...eN - are the consecutive elements of seq. -

-
- - Complexity -
+ Return type: Any type +

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

-
- - Header -
+

+

+ Semantics: Equivalent to f(... + f(f(initial_state,eN),eN-1) ...e1) where e1 ...eN + are the consecutive elements of seq. +

+

+ +

+
+ + Complexity +
+

+

+

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

+

+ +

+
+ + Header +
+

+ +

#include <boost/fusion/algorithm/iteration/reverse_fold.hpp>
 #include <boost/fusion/include/reverse_fold.hpp>
 
-
- - Example -
+

+ +

+
+ + Example +
+

+ +

struct make_string
 {
     typedef std::string result_type;
@@ -191,6 +233,8 @@
 const vector<int,int> vec(1,2);
 assert(reverse_fold(vec,std::string(""), make_string()) == "21");
 
+

+

diff --git a/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html b/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html index 59a63666..4cb2d460 100644 --- a/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html +++ b/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html @@ -26,24 +26,35 @@ -
- - Description -

- For a sequence seq, initial - state initial_state, - and binary function object or function pointer f, - reverse_iter_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 iterators on each element of seq. -

-
- - Synopsis -
+ +

+
+ + Description +
+

+

+

+ For a sequence seq, + initial state initial_state, + and binary function object or function pointer f, + reverse_iter_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 iterators on each element of seq. +

+

+ +

+
+ + Synopsis +
+

+ +

template<
     typename Sequence,
     typename State,
@@ -60,8 +71,10 @@
 typename result_of::reverse_iter_fold<Sequence const, State const, F>::type reverse_iter_fold(
     Sequence const& seq, State const& initial_state, F f);
 
+

+

-

Table 1.40. Parameters

+

Table 1.40. Parameters

@@ -70,113 +83,142 @@ +

+ Parameter +

+ +

+ Requirement +

+ +

+ Description +

+ +

+ seq +

+ +

+ A model of Bidirectional + Sequence +

+ +

+ Operation's argument +

+ +

+ initial_state +

+ +

+ Any type +

+ +

+ Initial state +

+ +

+ f +

+ +

+ f(s,it) with return type boost::result_of<F(S,It)>::type for current state + s of type + S, and for + each iterator it + of type It + on an element of seq +

+ +

+ Operation's argument +

+
-

- Parameter -

-
-

- Requirement -

-
-

- Description -

-
-

- seq -

-
-

- A model of Bidirectional - Sequence -

-
-

- Operation's argument -

-
-

- initial_state -

-
-

- Any type -

-
-

- Initial state -

-
-

- f -

-
-

- f(s,it) with return type boost::result_of<F(S,It)>::type for current state s of type S, - and for each iterator it - of type It - on an element of seq -

-
-

- Operation's argument -

-
-
- - Expression - Semantics -
+


+ +

+
+ + Expression + Semantics +
+

+ +

reverse_iter_fold(seq, initial_state, f);
 

- Return type: Any type -

+

- Semantics: Equivalent to f(... - f(f(initial_state,itN),itN-1) ...it1) where it1 ...itN - are consecutive iterators on the elements of seq. -

-
- - Complexity -
+ Return type: Any type +

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

-
- - Header -
+

+

+ Semantics: Equivalent to f(... + f(f(initial_state,itN),itN-1) ...it1) where it1 + ...itN are consecutive iterators on the elements of seq. +

+

+ +

+
+ + Complexity +
+

+

+

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

+

+ +

+
+ + Header +
+

+ +

#include <boost/fusion/algorithm/iteration/reverse_iter_fold.hpp>
 #include <boost/fusion/include/reverse_iter_fold.hpp>
 
-
- - Example -
+

+ +

+
+ + Example +
+

+ +

struct make_string
 {
     typedef std::string result_type;
@@ -191,6 +233,8 @@
 const vector<int,int> vec(1,2);
 assert(reverse_iter_fold(vec,std::string(""), make_string()) == "21");
 
+

+

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html index 1091af0b..9906dec5 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html @@ -26,17 +26,28 @@ -
- - Description -

- Returns the result type of accumulate. -

-
- - Synopsis -
+ +

+
+ + Description +
+

+

+

+ Returns the result type of accumulate. +

+

+ +

+
+ + Synopsis +
+

+ +

template<
     typename Sequence,
     typename State,
@@ -46,8 +57,10 @@
     typedef unspecified type;
 };
 
+

+

-

Table 1.47. Parameters

+

Table 1.47. Parameters

@@ -56,112 +69,132 @@ +

+ 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<F(S,E)>::type is the return type + of f(s,e) with current state s of type S, and an element e of type E in seq +

+ +

+ The operation to be applied on traversal +

+
-

- 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<F(S,E)>::type is the return type of - f(s,e) with current state s of type S, - and an element e - of type E in - seq -

-
-

- The operation to be applied on traversal -

-
-
- - Expression - Semantics -
+


+ +

+
+ + Expression + Semantics +
+

+ +

accumulate<Sequence, State, F>::type
 

- Return type: Any type -

+

- Semantics: Returns the result of applying - accumulate to a sequence of - type Sequence, with an - initial state of type State - and binary function object or function pointer of type F. -

-
- - Complexity -
+ Return type: Any type +

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

-
- - Header -
+

+

+ Semantics: Returns the result of applying + accumulate to a sequence of + type Sequence, with + an initial state of type State + 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>
 #include <boost/fusion/include/accumulate.hpp>
 
+

+

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html index 3ad9dee0..b07fdbcf 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html @@ -26,17 +26,28 @@ -
- - Description -

- Returns the result type of fold. -

-
- - Synopsis -
+ +

+
+ + Description +
+

+

+

+ Returns the result type of fold. +

+

+ +

+
+ + Synopsis +
+

+ +

template<
     typename Sequence,
     typename State,
@@ -46,8 +57,10 @@
     typedef unspecified type;
 };
 
+

+

-

Table 1.43. Parameters

+

Table 1.43. Parameters

@@ -56,112 +69,132 @@ +

+ 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<F(S,E)>::type is the return type + of f(s,e) with current state s of type S, and an element e of type E in seq +

+ +

+ The operation to be applied on traversal +

+
-

- 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<F(S,E)>::type is the return type of - f(s,e) with current state s of type S, - and an element e - of type E in - seq -

-
-

- The operation to be applied on traversal -

-
-
- - Expression - Semantics -
+


+ +

+
+ + Expression + Semantics +
+

+ +

fold<Sequence, State, F>::type
 

- Return type: Any type -

+

- Semantics: Returns the result of applying - fold to a sequence of type - Sequence, with an initial - state of type State and - binary function object or function pointer of type F. -

-
- - Complexity -
+ Return type: Any type +

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

-
- - Header -
+

+

+ Semantics: Returns the result of applying + fold to a sequence of type + Sequence, with an initial + state of type State + 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>
 #include <boost/fusion/include/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 0768c556..525e558d 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.48. Parameters

+

Table 1.48. 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/iteration/metafunctions/iter_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
index 5c677baf..152213ce 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
@@ -26,17 +26,28 @@
 
-
- - Description -

- Returns the result type of iter_fold. -

-
- - Synopsis -
+ +

+
+ + Description +
+

+

+

+ Returns the result type of iter_fold. +

+

+ +

+
+ + Synopsis +
+

+ +

template<
     typename Sequence,
     typename State,
@@ -46,8 +57,10 @@
     typedef unspecified type;
 };
 
+

+

-

Table 1.45. Parameters

+

Table 1.45. Parameters

@@ -56,112 +69,132 @@ +

+ 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<F(S,It)>::type is the return type + of f(s,it) with current state s of type S, and an iterator it of type It on an element of seq +

+ +

+ The operation to be applied on traversal +

+
-

- 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<F(S,It)>::type is the return type of - f(s,it) with current state s of type S, - and an iterator it - of type It - on an element of seq -

-
-

- The operation to be applied on traversal -

-
-
- - Expression - Semantics -
+


+ +

+
+ + Expression + Semantics +
+

+ +

iter_fold<Sequence, State, F>::type
 

- Return type: Any type -

+

- Semantics: Returns the result of applying - iter_fold to a sequence of type - Sequence, with an initial - state of type State and - binary function object or function pointer of type F. -

-
- - Complexity -
+ Return type: Any type +

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

-
- - Header -
+

+

+ Semantics: Returns the result of applying + iter_fold to a sequence of + type Sequence, with + an initial state of type State + 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/iter_fold.hpp>
 #include <boost/fusion/include/iter_fold.hpp>
 
+

+

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html index 55263c08..6c3c1b88 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html @@ -26,17 +26,28 @@ -
- - Description -

- Returns the result type of reverse_fold. -

-
- - Synopsis -
+ +

+
+ + Description +
+

+

+

+ Returns the result type of reverse_fold. +

+

+ +

+
+ + Synopsis +
+

+ +

template<
     typename Sequence,
     typename State,
@@ -46,8 +57,10 @@
     typedef unspecified type;
 };
 
+

+

-

Table 1.44. Parameters

+

Table 1.44. Parameters

@@ -56,112 +69,132 @@ +

+ Parameter +

+ +

+ Requirement +

+ +

+ Description +

+ +

+ Sequence +

+ +

+ A model of Bidirectional + Sequence +

+ +

+ The sequence to iterate +

+ +

+ State +

+ +

+ Any type +

+ +

+ The initial state for the first application of F +

+ +

+ F +

+ +

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

+ +

+ The operation to be applied on traversal +

+
-

- Parameter -

-
-

- Requirement -

-
-

- Description -

-
-

- Sequence -

-
-

- A model of Bidirectional - Sequence -

-
-

- The sequence to iterate -

-
-

- State -

-
-

- Any type -

-
-

- The initial state for the first application of F -

-
-

- F -

-
-

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

-
-

- The operation to be applied on traversal -

-
-
- - Expression - Semantics -
+


+ +

+
+ + Expression + Semantics +
+

+ +

reverse_fold<Sequence, State, F>::type
 

- Return type: Any type -

+

- Semantics: Returns the result of applying - reverse_fold to a sequence of - type Sequence, with an - initial state of type State - and binary function object or function pointer of type F. -

-
- - Complexity -
+ Return type: Any type +

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

-
- - Header -
+

+

+ Semantics: Returns the result of applying + reverse_fold to a sequence + of type Sequence, with + an initial state of type State + 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/reverse_fold.hpp>
 #include <boost/fusion/include/reverse_fold.hpp>
 
+

+

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html index 78af3283..55789806 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html @@ -26,17 +26,28 @@ -
- - Description -

- Returns the result type of reverse_iter_fold. -

-
- - Synopsis -
+ +

+
+ + Description +
+

+

+

+ Returns the result type of reverse_iter_fold. +

+

+ +

+
+ + Synopsis +
+

+ +

template<
     typename Sequence,
     typename State,
@@ -46,8 +57,10 @@
     typedef unspecified type;
 };
 
+

+

-

Table 1.46. Parameters

+

Table 1.46. Parameters

@@ -56,112 +69,132 @@ +

+ Parameter +

+ +

+ Requirement +

+ +

+ Description +

+ +

+ Sequence +

+ +

+ A model of Bidirectional + Sequence +

+ +

+ The sequence to iterate +

+ +

+ State +

+ +

+ Any type +

+ +

+ The initial state for the first application of F +

+ +

+ F +

+ +

+ boost::result_of<F(S,It)>::type is the return type + of f(s,it) with current state s of type S, and an iterator it of type It on an element of seq +

+ +

+ The operation to be applied on traversal +

+
-

- Parameter -

-
-

- Requirement -

-
-

- Description -

-
-

- Sequence -

-
-

- A model of Bidirectional - Sequence -

-
-

- The sequence to iterate -

-
-

- State -

-
-

- Any type -

-
-

- The initial state for the first application of F -

-
-

- F -

-
-

- boost::result_of<F(S,It)>::type is the return type of - f(s,it) with current state s of type S, - and an iterator it - of type It - on an element of seq -

-
-

- The operation to be applied on traversal -

-
-
- - Expression - Semantics -
+


+ +

+
+ + Expression + Semantics +
+

+ +

reverse_iter_fold<Sequence, State, F>::type
 

- Return type: Any type -

+

- Semantics: Returns the result of applying - reverse_iter_fold to a sequence - of type Sequence, with - an initial state of type State - and binary function object or function pointer of type F. -

-
- - Complexity -
+ Return type: Any type +

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

-
- - Header -
+

+

+ Semantics: Returns the result of applying + reverse_iter_fold to a sequence + of type Sequence, with + an initial state of type State + 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/reverse_iter_fold.hpp>
 #include <boost/fusion/include/reverse_iter_fold.hpp>
 
+

+

diff --git a/doc/html/fusion/algorithm/query.html b/doc/html/fusion/algorithm/query.html index 5bd7035d..ad0a2673 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 25aa9ed7..6c8d403f 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.50. Parameters

+

Table 1.50. Parameters

@@ -116,7 +116,7 @@

- + Expression Semantics
@@ -132,21 +132,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 dc41c38a..c265aae1 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.49. Parameters

+

Table 1.49. Parameters

@@ -116,7 +116,7 @@

- + Expression semantics
@@ -132,21 +132,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 ae6faaad..05b19bdd 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.54. Parameters

+

Table 1.54. Parameters

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

- + Expression Semantics
@@ -128,21 +128,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 ed672eee..38f17c70 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.55. Parameters

+

Table 1.55. Parameters

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

- + Expression Semantics
@@ -127,21 +127,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 6e64cf61..020415a7 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.52. Parameters

+

Table 1.52. 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 db2d476e..1872bb81 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.53. Parameters

+

Table 1.53. Parameters

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

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

- + Complexity

@@ -143,14 +143,14 @@

  1. - include <boost/fusion/algorithm/query/find_if.hpp> -
  2. + include <boost/fusion/algorithm/query/find_if.hpp> +
  3. - include <boost/fusion/include/find_if.hpp> -
  4. + include <boost/fusion/include/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 62fdae08..14638ab3 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.51. Parameters

+

Table 1.51. Parameters

@@ -116,7 +116,7 @@

- + Expression Semantics
@@ -132,21 +132,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 e03920f1..ca9b3df4 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.57. Parameters

+

Table 1.57. 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 29c0ac44..2e4e03ec 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.56. Parameters

+

Table 1.56. 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 bd9d6664..5ed232d1 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.61. Parameters

+

Table 1.61. 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 a8611466..988f3924 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.62. Parameters

+

Table 1.62. 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 cfb81518..0c4d85cf 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.59. Parameters

+

Table 1.59. 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 435d3f4d..478853ff 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.60. Parameters

+

Table 1.60. 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 ca99c2e5..1ddcad0e 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.58. Parameters

+

Table 1.58. 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 491f4041..a19fb497 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 2b4d93bb..0847b25a 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.72. Parameters

+

Table 1.72. 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 f8a1dcd7..7231e036 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.73. Parameters

+

Table 1.73. Parameters

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

- + Expression Semantics
@@ -149,15 +149,15 @@

Semantics: Returns a new sequence, containing @@ -171,15 +171,15 @@

Semantics: Returns a new sequence, with @@ -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 e1a544d4..b61ee651 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.74. Parameters

+

Table 1.74. 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 f560c033..4e499182 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.63. Parameters

+

Table 1.63. Parameters

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

- + Expression Semantics
@@ -120,15 +120,15 @@

Semantics: Returns a sequence containing @@ -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 cbd9be77..7841be0f 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.64. Parameters

+

Table 1.64. Parameters

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

- + Expression Semantics
@@ -122,15 +122,15 @@

Semantics: Returns a sequence containing @@ -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 dc807048..65327bba 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.75. Parameters

+

Table 1.75. Parameters

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

- + Expression Semantics
@@ -139,9 +139,9 @@ Return type:

+ A model of Forward + Sequence. +

Semantics: Returns a new sequence, containing all the elements of seq, @@ -150,21 +150,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 d164f890..5c2a3256 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.76. Parameters

+

Table 1.76. Parameters

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

- + Expression Semantics
@@ -141,15 +141,15 @@

Semantics: Returns a new sequence, containing @@ -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 400ac309..c99c6a0c 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.77. Parameters

+

Table 1.77. Parameters

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

- + Expression Semantics
@@ -120,16 +120,16 @@

Semantics: Returns a sequence containing @@ -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 34f1968b..80fcc0b8 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.79. Parameters

+

Table 1.79. Parameters

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

- + Expression Semantics
@@ -99,15 +99,15 @@

Semantics: Returns a new sequence containing @@ -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 70e668a2..9373d1b9 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.80. Parameters

+

Table 1.80. Parameters

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

- + Expression Semantics
@@ -99,15 +99,15 @@

Semantics: Returns a new sequence containing @@ -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 c13a7d7a..62c41197 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.81. Parameters

+

Table 1.81. Parameters

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

- + Expression Semantics
@@ -119,9 +119,9 @@ Return type:

+ A model of Forward + Sequence. +

Semantics: Returns a new sequence, containing all the elements of seq, @@ -129,21 +129,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 fa15b654..0d2c04e0 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.82. Parameters

+

Table 1.82. Parameters

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

- + Expression Semantics
@@ -119,9 +119,9 @@ Return type:

+ A model of Forward + Sequence. +

Semantics: Returns a new sequence, containing all the elements of seq, @@ -130,21 +130,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 a567cd6e..da0fe65f 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.69. Parameters

+

Table 1.69. Parameters

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

- + Expression Semantics
@@ -120,15 +120,15 @@

Semantics: Returns a new sequence, containing @@ -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 1ff5fb50..9e72b26d 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.70. Parameters

+

Table 1.70. Parameters

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

- + Expression Semantics
@@ -121,15 +121,15 @@

Semantics: Returns a new sequence, containing @@ -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 1cfb9f92..8f427310 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.67. Parameters

+

Table 1.67. Parameters

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

- + Expression Semantics
@@ -149,21 +149,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 0adf2832..5cc9eae8 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.68. Parameters

+

Table 1.68. Parameters

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

- + Expression Semantics
@@ -149,21 +149,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 e17d4804..09f38080 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.71. Parameters

+

Table 1.71. Parameters

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

- + Expression Semantics
@@ -99,20 +99,20 @@

Semantics: Returns a new sequence containing @@ -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 7804e2bb..ff228076 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.65. Parameters

+

Table 1.65. Parameters

@@ -118,7 +118,7 @@

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

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

Table 1.66. Parameters

+

Table 1.66. Parameters

@@ -244,21 +244,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 b4b3281d..fa9246c8 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.78. Parameters

+

Table 1.78. 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 e6d828c7..33f8b53d 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.92. Parameters

+

Table 1.92. 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 9ec3b4e3..57daa67f 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.93. Parameters

+

Table 1.93. Parameters

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

- + Expression Semantics
@@ -142,15 +142,15 @@

Semantics: Returns a new sequence with @@ -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 db12afa0..3960dc89 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.94. Parameters

+

Table 1.94. 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 f6d65edb..4dc9eaf1 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.83. Parameter

+

Table 1.83. Parameter

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

- + Expression Semantics
@@ -123,15 +123,15 @@

Semantics: Returns a sequence containing @@ -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 5df33319..4608f201 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.84. Parameter

+

Table 1.84. Parameter

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

- + Expression Semantics
@@ -125,15 +125,15 @@

Semantics: Returns a sequence containing @@ -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 a79fe589..6fd71583 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.95. Parameters

+

Table 1.95. Parameters

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

- + Expression Semantics
@@ -141,9 +141,9 @@ Return type:

+ A model of Forward + Sequence. +

Semantics: Returns a sequence with an element of type T inserted @@ -151,14 +151,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 d84977f5..f6334214 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.96. Parameters

+

Table 1.96. Parameters

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

- + Expression Semantics
@@ -143,15 +143,15 @@

Semantics: Returns a sequence with the @@ -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 0556673f..02090cc4 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
@@ -58,16 +58,16 @@

Semantics: Returns a sequence containing @@ -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 14695723..1f7f6319 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.97. Parameters

+

Table 1.97. Parameters

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

- + Expression Semantics
@@ -103,15 +103,15 @@

Semantics: Returns a sequence with all @@ -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 ed609fd7..565e18d9 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.98. Parameters

+

Table 1.98. Parameters

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

- + Expression Semantics
@@ -103,15 +103,15 @@

Semantics: Returns a sequence with all @@ -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 ea1789e6..87d3bbb9 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.99. Parameters

+

Table 1.99. Parameters

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

- + Expression Semantics
@@ -122,9 +122,9 @@ Return type:

+ A model of Forward + Sequence. +

Semantics: Returns a sequence with the elements of Sequence @@ -132,14 +132,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 d5956a5c..a822d0eb 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.100. Parameters

+

Table 1.100. Parameters

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

- + Expression Semantics
@@ -122,9 +122,9 @@ Return type:

+ A model of Forward + Sequence. +

Semantics: Returns a sequence with the elements of Sequence @@ -132,14 +132,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 0ff1ab0b..9756fe13 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.89. Parameters

+

Table 1.89. Parameters

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

- + Expression Semantics
@@ -123,15 +123,15 @@

Semantics: Returns a sequence containing @@ -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 6acc998d..74e74e01 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.90. Parameters

+

Table 1.90. Parameters

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

- + Expression Semantics
@@ -125,15 +125,15 @@

Semantics: Returns a sequence containing @@ -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 f20b0662..a2d4542f 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.87. Parameters

+

Table 1.87. 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 c8eac0c8..dadb0233 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.88. Parameters

+

Table 1.88. 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 cda4da02..7c3af5de 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.91. Parameters

+

Table 1.91. Parameters

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

- + Expression Semantics
@@ -103,34 +103,34 @@

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 b549428d..0536fb89 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.85. Parameters

+

Table 1.85. Parameters

@@ -118,7 +118,7 @@

- + Expression Semantics
@@ -129,15 +129,15 @@

Semantics: Returns a new sequence, containing @@ -145,7 +145,7 @@ within seq.

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

Table 1.86. Parameters

+

Table 1.86. Parameters

@@ -255,21 +255,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 764c7cb1..c89f0b89 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/change_log.html b/doc/html/fusion/change_log.html
index 3e8710f0..8afaa06b 100644
--- a/doc/html/fusion/change_log.html
+++ b/doc/html/fusion/change_log.html
@@ -31,68 +31,66 @@
     

diff --git a/doc/html/fusion/container.html b/doc/html/fusion/container.html index 456e8d6b..49a90efc 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 80af5567..cec8146e 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
@@ -95,6 +95,8 @@

@@ -117,12 +119,10 @@
+

+

- + Model of
- +

Notation

@@ -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 b60fd0cc..0782430b 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 c3f33bbc..f96414ad 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 c115fe43..0d0e14e3 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 789ebdea..dddca374 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 f9f1ab9d..93465898 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 c68d40df..6687a5bd 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 af5c29a0..62d3d205 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 c2f1d5ac..23bac705 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 e735e215..f7098f20 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 e6a2893b..40602110 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 ae8e573b..0201835b 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 9142fa0c..c8805fd6 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 6d0de250..27b7abe0 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 5d313b40..161eb20e 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 74905a30..ff67bbc9 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 e654f05d..653bf242 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 3438f140..c1e67a29 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 58db9d7e..210de334 100644
--- a/doc/html/fusion/container/generation/functions/tiers.html
+++ b/doc/html/fusion/container/generation/functions/tiers.html
@@ -33,15 +33,9 @@
             flavors.
           

Example: @@ -54,7 +48,9 @@ The vector_tie function creates 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]. + with the call make_vector(ref(i), ref(c), ref(a)) + [9] + .

A tie can be used to 'unpack' another tuple into @@ -70,7 +66,7 @@ when calling functions which return sequences.

- + Ignore

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



-

[9] - see Boost.Ref - for details about ref -

+

[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 27acc91f..1d2dcb7c 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 e99b25b9..35c3b2fc 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 ec8635f5..2682cfc2 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 b680eebb..6728e1f2 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 a056a9ab..82b9bb0f 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 be5d1752..6108094d 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 447aa4b7..19c1592d 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 d5114a43..b76c7a79 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 97593bbe..e8dcb0ca 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 dd4c5368..06a419cd 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,12 +120,10 @@
- + Model of
- +

Notation

@@ -154,7 +152,7 @@
- + Expression Semantics

@@ -261,7 +259,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 376623c8..e3b71807 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,17 +122,13 @@
- + Model of

Notation

@@ -157,7 +153,7 @@
- + Expression Semantics

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

- + Example
typedef map<
diff --git a/doc/html/fusion/container/set.html b/doc/html/fusion/container/set.html
index b6833c2e..56a4c528 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,17 +121,13 @@
- + Model of

Notation

@@ -156,7 +152,7 @@
- + Expression Semantics

@@ -240,7 +236,7 @@

- + Example
typedef set<int, float> S;
diff --git a/doc/html/fusion/container/vector.html b/doc/html/fusion/container/vector.html
index b7adbfa2..67c77bec 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,13 +160,11 @@
- + Model of
- +

Notation

@@ -190,7 +188,7 @@
- + Expression Semantics

@@ -273,7 +271,7 @@

- + Example
vector<int, float> v(12, 5.5f);
diff --git a/doc/html/fusion/extension.html b/doc/html/fusion/extension.html
index d824138e..4121e3c4 100644
--- a/doc/html/fusion/extension.html
+++ b/doc/html/fusion/extension.html
@@ -27,7 +27,7 @@
 Extension
 
 
diff --git a/doc/html/fusion/extension/ext_full.html b/doc/html/fusion/extension/ext_full.html
index b1285f09..392121b4 100644
--- a/doc/html/fusion/extension/ext_full.html
+++ b/doc/html/fusion/extension/ext_full.html
@@ -24,7 +24,7 @@
 
 

The Fusion library is designed to be extensible, new sequences types can @@ -37,20 +37,19 @@

  1. - Enable the tag - dispatching mechanism used by Fusion for your sequence - type -
  2. + Enable the tag dispatching + mechanism used by Fusion for your sequence type +
  3. - Design an iterator type for the sequence -
  4. + Design an iterator type for the sequence +
  5. - Provide specialized behaviour for the intrinsic operations of the new - Fusion sequence -
  6. + Provide specialized behaviour for the intrinsic operations of the new Fusion + sequence +
- + Our example

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

- + Enabling Tag Dispatching
@@ -121,7 +120,7 @@ #include <boost/fusion/include/tag_of.hpp>
- + Designing a suitable iterator
@@ -155,23 +154,23 @@

  1. - The iterator is parameterized by the type it is iterating over, and the - index of the current element. -
  2. + The iterator is parameterized by the type it is iterating over, and the + index of the current element. +
  3. - The typedefs struct_type - and index provide convenient - access to information we will need later in the implementation. -
  4. + The typedefs struct_type + and index provide convenient + access to information we will need later in the implementation. +
  5. - The typedef category - allows the traits::category_of - metafunction to establish the traversal category of the iterator. -
  6. + The typedef category allows + the traits::category_of + metafunction to establish the traversal category of the iterator. +
  7. - The constructor stores a reference to the example_struct - being iterated over. -
  8. + The constructor stores a reference to the example_struct + being iterated over. +

We also need to enable tag @@ -183,7 +182,7 @@ clearer as we add features to our implementation.

- + A first couple of instructive features
@@ -323,7 +322,7 @@

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

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

- + Enabling our type as an associative sequence
@@ -495,7 +494,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 58b73e5b..94c257c5 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.103. Parameters

+

Table 1.103. Parameters

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

-

Table 1.104. Key Expressions

+

Table 1.104. Key Expressions

@@ -439,14 +439,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 19e9a1c5..77545b0f 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.101. Parameters

+

Table 1.101. Parameters

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

-

Table 1.102. Key Expressions

+

Table 1.102. Key Expressions

@@ -244,14 +244,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 4cc11d9a..b6f8bfac 100644 --- a/doc/html/fusion/functional.html +++ b/doc/html/fusion/functional.html @@ -29,12 +29,12 @@

Concepts
-
Callable Object
-
Regular Callable +
Callable Object
+
Regular Callable Object
-
Deferred Callable - Object
-
Polymorphic Function +
Deferred + Callable Object
+
Polymorphic Function Object
Invocation
@@ -43,7 +43,7 @@
Metafunctions
Limits
-
Adapters
+
Adapters
fused
fused_procedure
@@ -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 d77476bd..68207f44 100644 --- a/doc/html/fusion/functional/adapters.html +++ b/doc/html/fusion/functional/adapters.html @@ -24,7 +24,7 @@
fused
diff --git a/doc/html/fusion/functional/adapters/fused.html b/doc/html/fusion/functional/adapters/fused.html index 917bb642..562b5ce6 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
@@ -107,22 +107,20 @@

+

+

- + Model of

Notation

@@ -148,7 +146,7 @@
- + Expression Semantics
@@ -213,32 +211,22 @@
- + 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 1e64065e..c70e8a14 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
@@ -97,23 +97,21 @@

+

+

- + Model of

Notation

@@ -139,7 +137,7 @@
- + Expression Semantics
@@ -204,7 +202,7 @@
- + Example
template<class SeqOfSeqs, class Func>
@@ -241,26 +239,16 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/fused_procedure.html b/doc/html/fusion/functional/adapters/fused_procedure.html index a575b0fd..7e2bd156 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
@@ -115,23 +115,21 @@

+

+

- + Model of

Notation

@@ -157,7 +155,7 @@
- + Expression Semantics
@@ -222,7 +220,7 @@
- + Example
template<class SequenceOfSequences, class Func>
@@ -242,23 +240,15 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/limits.html b/doc/html/fusion/functional/adapters/limits.html index b6f2f62e..a7302400 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

@@ -43,11 +43,11 @@

  • - BOOST_FUSION_UNFUSED_MAX_ARITY -
  • + BOOST_FUSION_UNFUSED_MAX_ARITY +
  • - BOOST_FUSION_UNFUSED_TYPE_MAX_ARITY -
  • + BOOST_FUSION_UNFUSED_TYPE_MAX_ARITY +
diff --git a/doc/html/fusion/functional/adapters/unfused.html b/doc/html/fusion/functional/adapters/unfused.html index c7169426..37a892e0 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
@@ -111,6 +111,8 @@

@@ -133,18 +135,14 @@
+

+

- + Model of

Notation

@@ -174,7 +172,7 @@
- + Expression Semantics
@@ -239,7 +237,7 @@
- + Example
struct fused_incrementer
@@ -266,16 +264,12 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/unfused_typed.html b/doc/html/fusion/functional/adapters/unfused_typed.html index 66836c24..a7c5d6f7 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
@@ -120,6 +120,8 @@

@@ -134,24 +136,22 @@

+

+

+

+

- + Model of

Notation

@@ -186,7 +186,7 @@
- + Expression Semantics
@@ -253,7 +253,7 @@
- + Example
struct add_assign // applies operator+=
@@ -321,19 +321,13 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/concepts.html b/doc/html/fusion/functional/concepts.html index fdb489c6..d7c9debc 100644 --- a/doc/html/fusion/functional/concepts.html +++ b/doc/html/fusion/functional/concepts.html @@ -27,12 +27,12 @@ Concepts diff --git a/doc/html/fusion/functional/concepts/callable.html b/doc/html/fusion/functional/concepts/callable.html index 3e6b576d..2f4ef902 100644 --- a/doc/html/fusion/functional/concepts/callable.html +++ b/doc/html/fusion/functional/concepts/callable.html @@ -24,10 +24,10 @@
- + Description

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

- + Models
  • - function pointer types -
  • + function pointer types +
  • - member (function or data) pointer types -
  • + member (function or data) pointer types +
  • - all kinds of function objects -
  • + all kinds of function objects +
- + 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 1865c8c3..91666ca8 100644
--- a/doc/html/fusion/functional/concepts/def_callable.html
+++ b/doc/html/fusion/functional/concepts/def_callable.html
@@ -24,11 +24,11 @@
 
- + Description

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

- + Refinement of
- +
- + Expression requirements
@@ -117,20 +115,20 @@
- + Models
- + Examples
& a_free_function
diff --git a/doc/html/fusion/functional/concepts/poly.html b/doc/html/fusion/functional/concepts/poly.html
index 68072114..8f0362ee 100644
--- a/doc/html/fusion/functional/concepts/poly.html
+++ b/doc/html/fusion/functional/concepts/poly.html
@@ -24,11 +24,11 @@
 
 
 
- + Models
  • - function pointers -
  • + function pointers +
  • - function objects of the Standard Library -
  • + function objects of the Standard Library +
  • - all Fusion functional adapters -
  • + all Fusion functional adapters +
- + 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 c781fdcc..abe7ec5f 100644
--- a/doc/html/fusion/functional/concepts/reg_callable.html
+++ b/doc/html/fusion/functional/concepts/reg_callable.html
@@ -24,11 +24,11 @@
 
 
- + Description

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

- + Refinement of
- +

Notation

@@ -67,7 +65,7 @@
- + Expression requirements
@@ -114,19 +112,19 @@
- + Models
  • - function pointer types -
  • + function pointer types +
  • - all kinds of function objects -
  • + all kinds of function objects +
- + Examples
& a_free_function
diff --git a/doc/html/fusion/functional/generation/functions.html b/doc/html/fusion/functional/generation/functions.html
index 44e766ab..0f60c80b 100644
--- a/doc/html/fusion/functional/generation/functions.html
+++ b/doc/html/fusion/functional/generation/functions.html
@@ -27,10 +27,14 @@
 Functions
 
 
 
 
diff --git a/doc/html/fusion/functional/generation/functions/mk_fused.html b/doc/html/fusion/functional/generation/functions/mk_fused.html
index 0cb19dab..ff23e085 100644
--- a/doc/html/fusion/functional/generation/functions/mk_fused.html
+++ b/doc/html/fusion/functional/generation/functions/mk_fused.html
@@ -24,10 +24,11 @@
 
- + Description

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

- + Synopsis
template <typename F>
@@ -44,7 +45,7 @@
 make_fused(F const & f);
 
- + Parameters
@@ -90,7 +91,7 @@
- + Expression Semantics
@@ -103,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; }
@@ -125,20 +126,14 @@
 }
 
- + 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 f12f42cf..333a4f80 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html @@ -24,10 +24,11 @@
- + Description

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

- + Synopsis
template <typename F>
@@ -45,7 +46,7 @@
 make_fused_function_object(F const & f);
 
- + Parameters
@@ -91,7 +92,7 @@
- + Expression Semantics
@@ -105,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
@@ -140,20 +141,14 @@
 }
 
- + 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 1e194458..2f58384c 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_proc.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_proc.html @@ -24,10 +24,11 @@
- + Description

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

- + Synopsis
template <typename F>
@@ -45,7 +46,7 @@
 make_fused_procedure(F const & f);
 
- + Parameters
@@ -91,7 +92,7 @@
- + Expression Semantics
@@ -105,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);
@@ -121,20 +122,14 @@
 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 3f143c92..b54d0dde 100644 --- a/doc/html/fusion/functional/generation/functions/mk_unfused.html +++ b/doc/html/fusion/functional/generation/functions/mk_unfused.html @@ -24,10 +24,11 @@
- + Description

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

- + Synopsis
template <typename F>
@@ -45,7 +46,7 @@
 make_unfused(F const & f);
 
- + Parameters
@@ -91,7 +92,7 @@
- + Expression Semantics
@@ -104,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
@@ -137,20 +138,14 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/generation/metafunctions.html b/doc/html/fusion/functional/generation/metafunctions.html index 9237b7b4..2fe034ef 100644 --- a/doc/html/fusion/functional/generation/metafunctions.html +++ b/doc/html/fusion/functional/generation/metafunctions.html @@ -27,10 +27,14 @@ Metafunctions
diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html index baa8421b..7b81e471 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html @@ -24,24 +24,25 @@
- + 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
@@ -54,13 +55,11 @@
 }
 
- + 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 5cb845b0..f6eb5f87 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html @@ -24,24 +24,25 @@
- + 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
@@ -54,13 +55,11 @@
 }
 
- + 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 2b1d31b9..799ca2d8 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html @@ -24,24 +24,25 @@
- + 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
@@ -54,13 +55,11 @@
 }
 
- + 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 5de11c9b..38f33958 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html @@ -24,24 +24,25 @@
- + 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
@@ -54,13 +55,11 @@
 }
 
- + See also
- +
diff --git a/doc/html/fusion/functional/invocation/functions.html b/doc/html/fusion/functional/invocation/functions.html index e8a63ee2..d37df442 100644 --- a/doc/html/fusion/functional/invocation/functions.html +++ b/doc/html/fusion/functional/invocation/functions.html @@ -28,8 +28,10 @@
diff --git a/doc/html/fusion/functional/invocation/functions/invoke.html b/doc/html/fusion/functional/invocation/functions/invoke.html index 16043212..e175cece 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,39 +149,29 @@ 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 48126b37..cd6bcd02 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke_fobj.html +++ b/doc/html/fusion/functional/invocation/functions/invoke_fobj.html @@ -24,10 +24,11 @@
- + Description

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

- + Synopsis
template<
@@ -60,7 +61,7 @@
 invoke_function_object(Function f, Sequence const & s);
 
- + Parameters
@@ -126,7 +127,7 @@
- + Expression Semantics
@@ -142,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
@@ -174,26 +175,16 @@
 }
 
- + 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 93df7d11..fb6bc0df 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/functions/invoke_proc.html @@ -24,10 +24,11 @@
- + Description

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

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

- + Header
#include <booost/fusion/functional/invocation/invoke_procedure.hpp>
 
- + Example
vector<int,int> v(1,2);
@@ -165,26 +166,16 @@
 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 8f1c12a0..ae2e3b0d 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

@@ -42,14 +42,14 @@

  • - BOOST_FUSION_INVOKE_MAX_ARITY -
  • + BOOST_FUSION_INVOKE_MAX_ARITY +
  • - BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY -
  • + BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY +
  • - BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY -
  • + BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY +
diff --git a/doc/html/fusion/functional/invocation/metafunctions.html b/doc/html/fusion/functional/invocation/metafunctions.html index 3f9b3c3b..c858ae14 100644 --- a/doc/html/fusion/functional/invocation/metafunctions.html +++ b/doc/html/fusion/functional/invocation/metafunctions.html @@ -28,8 +28,10 @@
diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke.html b/doc/html/fusion/functional/invocation/metafunctions/invoke.html index 0dded429..0b2b7e6a 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,17 +50,13 @@
 }
 
- + 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 ffac9602..d4b82dd5 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html @@ -24,17 +24,18 @@
diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html b/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html index 87d17c12..9c4b9322 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html @@ -24,17 +24,18 @@
- + Description

Returns the result type of invoke_procedure.

- + Synopsis
namespace result_of
@@ -50,17 +51,13 @@
 }
 
- + See also
diff --git a/doc/html/fusion/introduction.html b/doc/html/fusion/introduction.html index 84404fde..0a498bc2 100644 --- a/doc/html/fusion/introduction.html +++ b/doc/html/fusion/introduction.html @@ -116,8 +116,10 @@ sequences and MPL sequences are fully compatible with Fusion. You can work with Fusion sequences on MPL if you - wish to work solely on types [1]. In MPL, - Fusion sequences follow MPL's + wish to work solely on types + [1] + . In MPL, Fusion + sequences follow MPL's sequence-type preserving semantics (i.e. algorithms preserve the original sequence type. e.g. transforming a vector returns a vector). You can also convert from an MPL sequence @@ -130,12 +132,12 @@



-

[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) - for the runtime part. -

+

[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) + for the runtime part. +

diff --git a/doc/html/fusion/iterator.html b/doc/html/fusion/iterator.html index 9e34d958..9d25880b 100644 --- a/doc/html/fusion/iterator.html +++ b/doc/html/fusion/iterator.html @@ -50,11 +50,11 @@
Operator
-
Operator +
Operator *
-
Operator +
Operator ==
-
Operator +
Operator !=
Metafunctions
@@ -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 e3baacc4..f7c975f2 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,41 +174,41 @@
- + Models
diff --git a/doc/html/fusion/iterator/concepts/bidirectional_iterator.html b/doc/html/fusion/iterator/concepts/bidirectional_iterator.html index 24cc1fb7..a11fadc0 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

@@ -256,48 +256,41 @@ Iterator, the following invariants always hold:

- + Models
diff --git a/doc/html/fusion/iterator/concepts/forward_iterator.html b/doc/html/fusion/iterator/concepts/forward_iterator.html index 17151961..c926407b 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

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

- + Expression requirements
@@ -237,7 +237,7 @@
- + Meta Expressions
@@ -348,7 +348,7 @@
- + Expression Semantics
@@ -474,93 +474,86 @@
- + Invariants

The following invariants always hold:

    +
  • !(i + == j) == (i != j)
  • +
  • next(i) == advance_c<1>(i)
  • +
  • distance(i, advance_c<N>(i)) == N
  • - !(i - == j) == (i != j) -
  • + Using next to traverse the + sequence will never return to a previously seen position +
  • - next(i) == advance_c<1>(i) -
  • +deref(i) is equivalent to *i +
  • - distance(i, advance_c<N>(i)) == N -
  • -
  • - Using next to traverse the - sequence will never return to a previously seen position -
  • -
  • - deref(i) - is equivalent to *i -
  • -
  • - If i == - j then *i is equivalent to *j -
  • + If i == + j then *i is equivalent to *j +
- + Models
diff --git a/doc/html/fusion/iterator/concepts/random_access_iterator.html b/doc/html/fusion/iterator/concepts/random_access_iterator.html index e478a45f..93d5acb7 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

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

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

- + Expression requirements
@@ -175,7 +175,7 @@
- + Meta Expressions
@@ -238,37 +238,37 @@
- + Models
diff --git a/doc/html/fusion/iterator/functions/advance.html b/doc/html/fusion/iterator/functions/advance.html index 4076eb58..97d3c5b7 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 6a1866ac..6e7e7f96 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 8e373a1f..7016d66a 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 c52acef4..2cbba869 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 f51a8a3e..c3f03d57 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 18414f15..4eeab159 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 30d5ba4d..de553813 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 0c56cbb5..5b82dc0f 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 98e5e753..dfb85f03 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 c485a0bb..30e7d6fd 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 ba7aaa2c..ffcf6fdf 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 a057e497..1c1ebf8a 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 7d0de7b4..5d710d60 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 f540ab0b..4baaa92c 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 f6b60220..d6c9d38d 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 e6485d97..3b992d2f 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 a46f7887..8730ccf8 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 1b340544..1438ad1a 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.html b/doc/html/fusion/iterator/operator.html
index d999ef85..062ccc08 100644
--- a/doc/html/fusion/iterator/operator.html
+++ b/doc/html/fusion/iterator/operator.html
@@ -27,11 +27,11 @@
 Operator
 
 
 

diff --git a/doc/html/fusion/iterator/operator/operator_equality.html b/doc/html/fusion/iterator/operator/operator_equality.html index 91809272..6fde9967 100644 --- a/doc/html/fusion/iterator/operator/operator_equality.html +++ b/doc/html/fusion/iterator/operator/operator_equality.html @@ -24,18 +24,18 @@

- + 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 13615788..124a5742 100644
--- a/doc/html/fusion/iterator/operator/operator_inequality.html
+++ b/doc/html/fusion/iterator/operator/operator_inequality.html
@@ -24,18 +24,18 @@
 
- + 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 ee682481..4b8d548e 100644
--- a/doc/html/fusion/iterator/operator/operator_unary_star.html
+++ b/doc/html/fusion/iterator/operator/operator_unary_star.html
@@ -24,18 +24,18 @@
 
- + 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 ba6de759..24d29ebf 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

@@ -59,14 +59,14 @@

  1. - A type for which an appropriate template specialization is required -
  2. + A type for which an appropriate template specialization is required +
  3. - A metafunction that associates the type with a tag type -
  4. + A metafunction that associates the type with a tag type +
  5. - A template that is specialized for the tag type -
  6. + A template that is specialized for the tag type +

For example, the fusion result_of::begin metafunction @@ -86,22 +86,22 @@

  1. - Sequence is the type for - which a suitable implementation of result_of::begin_impl - is required -
  2. +Sequence is the type for + which a suitable implementation of result_of::begin_impl + is required +
  3. - traits::tag_of is the metafunction that associates - Sequence with an appropriate - tag -
  4. +traits::tag_of is the metafunction that associates + Sequence with an appropriate + tag +
  5. - result_of::begin_impl is the template which is specialized - to provide an implementation for each tag type -
  6. +result_of::begin_impl is the template which is specialized + to provide an implementation for each tag type +

- + Extensibility

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

- + Element Conversion

@@ -157,7 +157,9 @@ Arrays:

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

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

- + boost::ref

@@ -224,7 +226,7 @@ details.

- + adt_attribute_proxy

@@ -456,12 +458,12 @@



-

[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 - wrapper (see boost::ref). -

+

[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 + wrapper (see boost::ref). +

diff --git a/doc/html/fusion/organization.html b/doc/html/fusion/organization.html index 32f8973a..b997482c 100644 --- a/doc/html/fusion/organization.html +++ b/doc/html/fusion/organization.html @@ -35,12 +35,18 @@ The library is organized in three layers:

- + Layers

-

- fusion_org -

+
+

+

+

+ fusion_org +

+

+

+

The entire library is found in the "boost/fusion" directory. Modules are organized in directories. Each module has its own header @@ -60,138 +66,128 @@ against.

- + Directory

  • - tuple -
  • + tuple +
  • -

    - algorithm -

    -
      + algorithm +
      • - iteration -
      • + iteration +
      • - query -
      • + query +
      • - transformation -
      • + transformation +
    • -

      - adapted -

      -
        + adapted +
        • - array -
        • + array +
        • - mpl -
        • + mpl +
        • - boost::tuple -
        • + boost::tuple +
        • - std_pair -
        • + std_pair +
        • - struct -
        • + struct +
        • - variant -
        • + variant +
      • -

        - view -

        -
          + view +
          • - filter_view -
          • + filter_view +
          • - iterator_range -
          • + iterator_range +
          • - joint_view -
          • + joint_view +
          • - reverse_view -
          • + reverse_view +
          • - single_view -
          • + single_view +
          • - transform_view -
          • + transform_view +
          • - zip_view -
          • + zip_view +
        • -

          - container -

          -
            + container +
            • - deque -
            • + deque +
            • - list -
            • + list +
            • - map -
            • + map +
            • - set -
            • + set +
            • - vector -
            • + vector +
            • - generation -
            • + generation +
          • - mpl -
          • + mpl +
          • - functional -
          • + functional +
          • -

            - sequence -

            -
              + sequence +
              • - comparison -
              • + comparison +
              • - intrinsic -
              • + intrinsic +
              • - io -
              • + io +
            • - iterator -
            • + iterator +
            • - support -
            • + support +

            - + Example

            @@ -206,14 +202,15 @@

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



            -

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

            +

            [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 47a8d4e5..c97d77ff 100644 --- a/doc/html/fusion/preface.html +++ b/doc/html/fusion/preface.html @@ -26,14 +26,26 @@ -

- Algorithms + Data Structures = Programs. -

-

- --Niklaus Wirth -

+
+

+

+

+ Algorithms + Data Structures = Programs. +

+

+

+
+
+

+

+

+ --Niklaus Wirth +

+

+

+

- + Description

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

- + Motivation

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

- + How to use this manual

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

-

Table 1.1. Icons

+

Table 1.1. Icons

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

- + Support

diff --git a/doc/html/fusion/quick_start.html b/doc/html/fusion/quick_start.html index 1cc6eeaf..0d9a3042 100644 --- a/doc/html/fusion/quick_start.html +++ b/doc/html/fusion/quick_start.html @@ -34,13 +34,16 @@

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

#include <boost/fusion/sequence.hpp>
 #include <boost/fusion/include/sequence.hpp>
 

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

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

- + Print the vector as XML

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

- + Print only pointers

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

- + Associative tuples

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

- + Tip of the Iceberg

@@ -226,16 +229,16 @@



-

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

-

[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. -

+

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

+

[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 5681308c..ad9d81cc 100644 --- a/doc/html/fusion/references.html +++ b/doc/html/fusion/references.html @@ -27,33 +27,33 @@
  1. - New - Iterator Concepts, David Abrahams, Jeremy Siek, Thomas Witt, 2004-11-01. -
  2. +New + Iterator Concepts, David Abrahams, Jeremy Siek, Thomas Witt, 2004-11-01. +
  3. - The - Boost Tuple Library, Jaakko Jarvi, 2001. -
  4. +The Boost + Tuple Library, Jaakko Jarvi, 2001. +
  5. - Spirit Parser Library, - Joel de Guzman, 2001-2006. -
  6. +Spirit Parser Library, + Joel de Guzman, 2001-2006. +
  7. - The Boost MPL Library, - Aleksey Gurtovoy and David Abrahams, 2002-2004. -
  8. +The Boost MPL Library, + Aleksey Gurtovoy and David Abrahams, 2002-2004. +
  9. - Boost Array, - Nicolai Josuttis, 2002-2004. -
  10. +Boost Array, + Nicolai Josuttis, 2002-2004. +
  11. - Standard Template Library Programmer's - Guide, Hewlett-Packard Company, 1994. -
  12. +Standard Template Library Programmer's + Guide, Hewlett-Packard Company, 1994. +
  13. - Boost.Ref, - Jaakko Jarvi, Peter Dimov, Douglas Gregor, Dave Abrahams, 1999-2002. -
  14. +Boost.Ref, Jaakko + Jarvi, Peter Dimov, Douglas Gregor, Dave Abrahams, 1999-2002. +
diff --git a/doc/html/fusion/sequence.html b/doc/html/fusion/sequence.html index 2818028f..ac4cc029 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 15681d95..ae8f83d1 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 80fb0821..a19d8e8e 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
@@ -114,6 +114,8 @@

+

+

@@ -133,6 +135,8 @@

+

+

@@ -169,7 +173,7 @@

- + Result Type Expressions
@@ -243,7 +247,7 @@

- + Expression Semantics
@@ -298,39 +302,35 @@
- + Models
diff --git a/doc/html/fusion/sequence/concepts/bidirectional_sequence.html b/doc/html/fusion/sequence/concepts/bidirectional_sequence.html index 1c580444..d1c6ab30 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
@@ -117,6 +117,8 @@

+

+

@@ -137,6 +139,8 @@

+

+

@@ -156,6 +160,8 @@

+

+

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

- + Result Type Expressions
@@ -253,7 +259,7 @@
- + Expression Semantics
@@ -293,34 +299,26 @@
- + Models
diff --git a/doc/html/fusion/sequence/concepts/forward_sequence.html b/doc/html/fusion/sequence/concepts/forward_sequence.html index 9deed2df..4a11ffac 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
@@ -110,6 +110,8 @@

+

+

@@ -130,6 +132,8 @@

+

+

@@ -150,6 +154,8 @@

+

+

@@ -170,6 +176,8 @@

+

+

@@ -189,6 +197,8 @@

+

+

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

- + Result Type Expressions
@@ -310,7 +320,7 @@
- + Expression Semantics
@@ -398,7 +408,7 @@
- + Invariants

@@ -406,71 +416,42 @@

  • - [begin(s), end(s)) is always a valid range. -
  • +[begin(s), end(s)) is always a valid range. +
  • - An Algorithm that iterates - through the range [begin(s), end(s)) will pass through every element of - s exactly once. -
  • + An Algorithm that iterates through + the range [begin(s), end(s)) will pass through every element of + s exactly once. +
  • - begin(s) - is identical to end(s)) - if and only if s is - empty. -
  • +begin(s) + is identical to end(s)) + if and only if s is empty. +
  • - Two different iterations through s - will access its elements in the same order. -
  • + Two different iterations through s + will access its elements in the same order. +
- + Models
diff --git a/doc/html/fusion/sequence/concepts/random_access_sequence.html b/doc/html/fusion/sequence/concepts/random_access_sequence.html index 404bc286..a73bf497 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
@@ -124,6 +124,8 @@

+

+

@@ -144,6 +146,8 @@

+

+

@@ -163,6 +167,8 @@

+

+

@@ -199,7 +205,7 @@

- + Result Type Expressions
@@ -285,7 +291,7 @@

- + Expression Semantics
@@ -325,34 +331,26 @@
- + Models
diff --git a/doc/html/fusion/sequence/intrinsic.html b/doc/html/fusion/sequence/intrinsic.html index ecb8d0bb..4edef329 100644 --- a/doc/html/fusion/sequence/intrinsic.html +++ b/doc/html/fusion/sequence/intrinsic.html @@ -36,10 +36,12 @@ counterparts of these functions are usually implemented as member functions. Intrinsic functions, unlike Algorithms, are not generic across the full Sequence - repertoire. They need to be implemented for each Fusion Sequence[5]. + repertoire. They need to be implemented for each Fusion Sequence + [5] + .

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


-

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

+

[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 6fafb7db..34ddca59 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 2dcebb7d..652047ae 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 59313b89..8e0c6698 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 4f42aace..226333a4 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 6b53bf1d..6ab171f2 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
@@ -103,37 +103,37 @@

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 3d1ca092..dd30d065 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 f721c9c6..d790f1a1 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
@@ -103,37 +103,37 @@

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 55c75471..8c3a4b4f 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 f65c6951..8ffa0649 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 db49cfd8..9f2e4374 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 1b9fce35..ee0ed3e6 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 c7890b14..1514fa2d 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
@@ -27,14 +27,16 @@
 at
 
 
- + Description

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

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

Table 1.29. Parameters

+

Table 1.29. Parameters

@@ -79,8 +81,8 @@

- A model of Forward - Sequence + A model of Random + Access Sequence

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

- + Expression Semantics
@@ -125,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;
@@ -140,12 +142,12 @@
 


-

[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 to - get the actual element type, use result_of::value_at -

+

[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 + to get the actual element type, use result_of::value_at +

diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html b/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html index 92664c4e..8ad5de75 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html @@ -27,14 +27,16 @@ at_c
- + Description

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

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

Table 1.30. Parameters

+

Table 1.30. Parameters

@@ -79,8 +81,8 @@

- A model of Forward - Sequence + A model of Random + Access Sequence

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

- + Expression Semantics
@@ -124,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;
@@ -139,12 +141,12 @@
 


-

[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 - to get the actual element type, use result_of::value_at_c -

+

[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 + to get the actual element type, use result_of::value_at_c +

diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html b/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html index 8b848728..7186e7b1 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html @@ -27,14 +27,16 @@ at_key
- + Description

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

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

Table 1.34. Parameters

+

Table 1.34. Parameters

@@ -79,7 +81,7 @@ @@ -110,7 +112,7 @@

- A model of Forward + A model of Associative Sequence


- + Expression Semantics
@@ -126,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;
@@ -141,12 +143,12 @@
 


-

[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 want - to get the actual element type, use result_of::value_at_key -

+

[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 + want to get the actual element type, use result_of::value_at_key +

diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/back.html b/doc/html/fusion/sequence/intrinsic/metafunctions/back.html index 48546c2e..7212a5cb 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 acce2002..0e485599 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
@@ -100,37 +100,37 @@

Semantics: Returns the type of an iterator 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 e6995b0f..620bf529 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 974ab099..5b29d346 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
@@ -100,37 +100,37 @@

Semantics: Returns the type of an iterator 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 1a448b47..d3e07f0a 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 e070bc4b..2eb10d2f 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

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

- A model of Forward + A model of Associative Sequence


- + 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 99503ec8..26a376a7 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 68f41904..bfa4d4bc 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 d1f06279..c8a1eade 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

@@ -79,8 +79,8 @@

- A model of Forward - Sequence + A model of Random + Access Sequence

@@ -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 88aa681e..2f1978b9 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

@@ -79,8 +79,8 @@

- A model of Forward - Sequence + A model of Random + Access Sequence

@@ -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 0b64f010..44c4a8c9 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

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

- A model of Forward + A model of Associative Sequence


- + 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 ad681b65..adce0fe9 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 78ef0ec3..b2d5bb5f 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 505a2f84..fde90027 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 b2a0b3eb..6647af8a 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 e73cd82e..0c8ddd15 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 1ac11c57..77d54d74 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 9bd024f5..58188de1 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 7bf14613..68ae56e4 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 011ca161..a0e497dd 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 5b734cf7..060b771a 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 fb5aaade..7b49a561 100644
--- a/doc/html/fusion/support/category_of.html
+++ b/doc/html/fusion/support/category_of.html
@@ -27,7 +27,7 @@
 category_of
 
 
- + Description

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

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

- + Header
#include <boost/fusion/support/category_of.hpp>
 #include <boost/fusion/include/category_of.hpp>
 
- + Example
using boost::is_base_of;
diff --git a/doc/html/fusion/support/deduce.html b/doc/html/fusion/support/deduce.html
index 1b40ee91..b03bbab6 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,12 +80,10 @@
 }
 
- + See also
- + diff --git a/doc/html/fusion/support/deduce_sequence.html b/doc/html/fusion/support/deduce_sequence.html index 7c9b1245..5038620e 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,12 +80,10 @@
 }
 
- + See also
-
+
diff --git a/doc/html/fusion/support/is_sequence.html b/doc/html/fusion/support/is_sequence.html index 5a5784dd..64de6736 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 8ae394d8..d236b503 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 8284ba6c..e3d64e9b 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
@@ -137,7 +137,7 @@
- + Expression Semantics
@@ -317,14 +317,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 a4d56b19..32db75c5 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 b37d6de4..a6ef3044 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 0c85405b..1f2b4e02 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 148b123c..284a9519 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 374d745e..5f2e2d43 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 fd1b0b42..8024fa1b 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 f5770ef2..91238463 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 18b69d92..022bddef 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 82578440..b55e975c 100644
--- a/doc/html/fusion/view.html
+++ b/doc/html/fusion/view.html
@@ -47,7 +47,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 b3093246..c6b2ee49 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
@@ -92,6 +92,8 @@

@@ -106,24 +108,24 @@

+

+

+

+

- + Model of

Notation

@@ -144,7 +146,7 @@
- + Expression Semantics

@@ -214,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 6994b99f..641e1b88 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
@@ -88,6 +88,8 @@

@@ -102,30 +104,32 @@

+

+

+

+

- + Model of

Notation

@@ -149,7 +153,7 @@
- + Expression Semantics
@@ -223,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 183abba9..193faf4d 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
@@ -89,6 +89,8 @@

@@ -104,25 +106,25 @@

+

+

+

+

- + Model of

Notation

@@ -146,7 +148,7 @@
- + Expression Semantics

@@ -218,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 ebb65806..3f6c4473 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
@@ -96,6 +96,8 @@

@@ -111,6 +113,8 @@

@@ -133,14 +137,14 @@
+

+

+

+

- + Model of
+Random + Access Sequence (see Sequence + Traversal Concept) +

Notation

@@ -159,7 +163,7 @@
- + Expression Semantics

@@ -235,7 +239,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/repetitive_view.html b/doc/html/fusion/view/repetitive_view.html
index a540927e..3fa2b778 100644
--- a/doc/html/fusion/view/repetitive_view.html
+++ b/doc/html/fusion/view/repetitive_view.html
@@ -27,7 +27,7 @@
 repetitive_view
 
 
- + Description

@@ -40,21 +40,21 @@ is not.

- + Header
#include <boost/fusion/view/repetitive_view.hpp>
 #include <boost/fusion/include/repetitive_view.hpp>
 
- + Synopsis
template <typename Sequence>
 struct repetitive_view;
 
- + Template parameters
@@ -94,6 +94,8 @@

+

+

@@ -115,7 +117,7 @@
- + Expression Semantics
@@ -150,6 +152,8 @@

+

+

@@ -165,6 +169,8 @@

+

+

@@ -182,6 +188,8 @@

+

+

@@ -205,6 +213,8 @@

+

+

@@ -228,7 +238,7 @@
- + Result Type Expressions
@@ -253,7 +263,7 @@
- + Example
typedef vector<int, char, double> vec1;
diff --git a/doc/html/fusion/view/reverse_view.html b/doc/html/fusion/view/reverse_view.html
index cfe6c5d3..171d90c9 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
@@ -85,29 +85,31 @@

+

+

- + Model of

Notation

@@ -127,7 +129,7 @@
- + Expression Semantics
@@ -199,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 dc712de5..97f75b6b 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
@@ -83,16 +83,16 @@

+

+

- + Model of
- +

Notation

@@ -111,7 +111,7 @@
- + Expression Semantics

@@ -182,7 +182,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 bb28a28a..43f0b0a8 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
@@ -99,6 +99,8 @@

@@ -114,6 +116,8 @@

@@ -129,6 +133,8 @@

@@ -146,6 +152,8 @@

@@ -164,22 +172,24 @@

+

+

+

+

+

+

+

+

+

+

- + Model of
+Forward Sequence, + Bidirectional + Sequence or Random + Access Sequence depending on the traversal characteristics (see + Sequence Traversal Concept) + of its underlying sequence. +

Notation

@@ -224,7 +234,7 @@
- + Expression Semantics
@@ -319,7 +329,7 @@
- + Example
struct square
diff --git a/doc/html/fusion/view/zip_view.html b/doc/html/fusion/view/zip_view.html
index 17241ea0..428ad0f8 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
@@ -91,21 +91,23 @@

+

+

- + Model of
+Forward Sequence, + Bidirectional + Sequence or Random + Access Sequence depending on the traversal characteristics (see + Sequence Traversal Concept) + of its underlying sequence. +

Notation

@@ -124,7 +126,7 @@
- + Expression Semantics

@@ -195,7 +197,7 @@

- + Example
typedef vector<int,int> vec1;
diff --git a/doc/html/index.html b/doc/html/index.html
index 77b1184e..299e4f36 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)

@@ -82,11 +82,11 @@
Operator
-
Operator +
Operator *
-
Operator +
Operator ==
-
Operator +
Operator !=
Metafunctions
@@ -160,25 +160,25 @@
Adapted
-
Array
+
Array
std::pair
mpl sequence
boost::array
boost::tuple
-
BOOST_FUSION_ADAPT_STRUCT
-
BOOST_FUSION_ADAPT_TPL_STRUCT
-
BOOST_FUSION_ADAPT_STRUCT_NAMED
-
BOOST_FUSION_ADAPT_ASSOC_STRUCT
-
BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT
-
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED
-
BOOST_FUSION_ADAPT_ADT
-
BOOST_FUSION_ADAPT_TPL_ADT
-
BOOST_FUSION_ADAPT_ASSOC_ADT
-
BOOST_FUSION_ADAPT_ASSOC_TPL_ADT
-
BOOST_FUSION_DEFINE_STRUCT
-
BOOST_FUSION_DEFINE_TPL_STRUCT
-
BOOST_FUSION_DEFINE_ASSOC_STRUCT
-
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT
+
BOOST_FUSION_ADAPT_STRUCT
+
BOOST_FUSION_ADAPT_TPL_STRUCT
+
BOOST_FUSION_ADAPT_STRUCT_NAMED
+
BOOST_FUSION_ADAPT_ASSOC_STRUCT
+
BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT
+
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED
+
BOOST_FUSION_ADAPT_ADT
+
BOOST_FUSION_ADAPT_TPL_ADT
+
BOOST_FUSION_ADAPT_ASSOC_ADT
+
BOOST_FUSION_ADAPT_ASSOC_TPL_ADT
+
BOOST_FUSION_DEFINE_STRUCT
+
BOOST_FUSION_DEFINE_TPL_STRUCT
+
BOOST_FUSION_DEFINE_ASSOC_STRUCT
+
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT
Algorithm
@@ -216,7 +216,7 @@
Extension
-
The Full Extension Mechanism
+
The Full Extension Mechanism
Sequence Facade
Iterator Facade
@@ -224,12 +224,12 @@
Concepts
-
Callable Object
-
Regular Callable +
Callable Object
+
Regular Callable Object
-
Deferred Callable - Object
-
Polymorphic Function +
Deferred + Callable Object
+
Polymorphic Function Object
Invocation
@@ -238,7 +238,7 @@
Metafunctions
Limits
-
Adapters
+
Adapters
fused
fused_procedure
@@ -261,7 +261,7 @@
- +

Last revised: December 19, 2010 at 15:00:31 GMT

Last revised: March 21, 2011 at 04:01:58 GMT


diff --git a/doc/sequence.qbk b/doc/sequence.qbk index 1b0a34ba..e40f20c1 100644 --- a/doc/sequence.qbk +++ b/doc/sequence.qbk @@ -845,7 +845,7 @@ Performs an element by element swap of the elements in 2 sequences. [table [[Parameters] [Requirement] [Description]] - [[`seq1`, `seq2`] [Models of __forward_sequence__][The sequences whos elements we wish to swap.]] + [[`seq1`, `seq2`][Models of __forward_sequence__][The sequences whos elements we wish to swap.]] ] [heading Expression Semantics] @@ -1118,7 +1118,7 @@ the actual element type, use __result_of_value_at__]. [table Parameters [[Parameter] [Requirement] [Description]] - [[`Seq`][A model of __forward_sequence__][Argument sequence]] + [[`Seq`][A model of __random_access_sequence__][Argument sequence]] [[`N`][An __mpl_integral_constant__][Index of element]] ] @@ -1160,7 +1160,7 @@ get the actual element type, use __result_of_value_at_c__]. [table Parameters [[Parameter] [Requirement] [Description]] - [[`Seq`][A model of __forward_sequence__][Argument sequence]] + [[`Seq`][A model of __random_access_sequence__][Argument sequence]] [[`M`][Positive integer index][Index of element]] ] @@ -1199,7 +1199,7 @@ Returns the actual type at a given index from the __sequence__. [table Parameters [[Parameter] [Requirement] [Description]] - [[`Seq`][A model of __forward_sequence__][Argument sequence]] + [[`Seq`][A model of __random_access_sequence__][Argument sequence]] [[`N`][An __mpl_integral_constant__][Index of element]] ] @@ -1238,7 +1238,7 @@ Returns the actual type at a given index from the __sequence__. [table Parameters [[Parameter] [Requirement] [Description]] - [[`Seq`][A model of __forward_sequence__][Argument sequence]] + [[`Seq`][A model of __random_access_sequence__][Argument sequence]] [[`M`][Positive integer index][Index of element]] ] @@ -1276,7 +1276,7 @@ Returns the result type of __has_key__. [table Parameters [[Parameter] [Requirement] [Description]] - [[`Seq`][A model of __forward_sequence__][Argument sequence]] + [[`Seq`][A model of __associative_sequence__][Argument sequence]] [[`Key`][Any type][Key type]] ] @@ -1319,7 +1319,7 @@ you want to get the actual element type, use __result_of_value_at_key__]. [table Parameters [[Parameter] [Requirement] [Description]] - [[`Seq`][A model of __forward_sequence__][Argument sequence]] + [[`Seq`][A model of __associative_sequence__][Argument sequence]] [[`Key`][Any type][Key type]] ] @@ -1357,7 +1357,7 @@ Returns the actual element type associated with a Key from the __sequence__. [table Parameters [[Parameter] [Requirement] [Description]] - [[`Seq`][A model of __forward_sequence__][Argument sequence]] + [[`Seq`][A model of __associative_sequence__][Argument sequence]] [[`Key`][Any type][Key type]] ] @@ -1373,7 +1373,7 @@ Returns the actual element type associated with a Key from the __sequence__. #include #include - + [heading Example] typedef __map__<__pair__, __pair__, __pair__ > mymap; BOOST_MPL_ASSERT((boost::is_same<__result_of_at_key__::type, char>)); From 756af8cc4cc1c794b7a454da652cc92382e7fdb9 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Wed, 30 Mar 2011 00:23:23 +0000 Subject: [PATCH 06/45] Include instead of forward declaring std::pair [SVN r70731] --- include/boost/fusion/adapted/std_pair.hpp | 7 +------ 1 file changed, 1 insertion(+), 6 deletions(-) diff --git a/include/boost/fusion/adapted/std_pair.hpp b/include/boost/fusion/adapted/std_pair.hpp index 5792dd44..ffaecf89 100644 --- a/include/boost/fusion/adapted/std_pair.hpp +++ b/include/boost/fusion/adapted/std_pair.hpp @@ -11,12 +11,7 @@ #define BOOST_FUSION_ADAPTED_STD_PAIR_HPP #include - -namespace std -{ - template - struct pair; -} +#include BOOST_FUSION_ADAPT_TPL_STRUCT( (T1)(T2),(std::pair)(T1)(T2),(T1, first)(T2, second)) From b3226a51076c84545beb2e5c6ad113da6120a98e Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Fri, 1 Apr 2011 23:38:39 +0000 Subject: [PATCH 07/45] Applied patch #5275 [SVN r70841] --- test/sequence/adapt_adt.cpp | 5 ++--- test/sequence/adapt_adt_named.cpp | 1 - test/sequence/adapt_assoc_adt.cpp | 1 - test/sequence/adapt_assoc_adt_named.cpp | 1 - test/sequence/adapt_assoc_struct.cpp | 1 - test/sequence/adapt_assoc_tpl_adt.cpp | 1 - test/sequence/adapt_struct.cpp | 1 - test/sequence/adapt_struct_named.cpp | 1 - test/sequence/adapt_tpl_adt.cpp | 1 - test/sequence/boost_tuple.cpp | 1 - test/sequence/map.cpp | 1 - test/sequence/set.cpp | 1 - test/sequence/std_pair.cpp | 1 - test/sequence/vector_n.cpp | 27 ++++++++++++------------- 14 files changed, 15 insertions(+), 29 deletions(-) diff --git a/test/sequence/adapt_adt.cpp b/test/sequence/adapt_adt.cpp index e0693568..9d541880 100644 --- a/test/sequence/adapt_adt.cpp +++ b/test/sequence/adapt_adt.cpp @@ -92,7 +92,6 @@ main() { using namespace boost::fusion; using namespace boost; - using namespace std; std::cout << tuple_open('['); std::cout << tuple_close(']'); @@ -111,8 +110,8 @@ main() 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_STATIC_ASSERT(boost::fusion::result_of::size::value == 2); + BOOST_STATIC_ASSERT(!boost::fusion::result_of::empty::value); BOOST_TEST(front(p) == 6); BOOST_TEST(back(p) == 9); diff --git a/test/sequence/adapt_adt_named.cpp b/test/sequence/adapt_adt_named.cpp index 7ec88df8..bad876ea 100644 --- a/test/sequence/adapt_adt_named.cpp +++ b/test/sequence/adapt_adt_named.cpp @@ -64,7 +64,6 @@ main() { using namespace boost::fusion; using namespace boost; - using namespace std; std::cout << tuple_open('['); std::cout << tuple_close(']'); diff --git a/test/sequence/adapt_assoc_adt.cpp b/test/sequence/adapt_assoc_adt.cpp index 2d6a07f0..25b55e33 100644 --- a/test/sequence/adapt_assoc_adt.cpp +++ b/test/sequence/adapt_assoc_adt.cpp @@ -55,7 +55,6 @@ int main() { using namespace boost::fusion; - using namespace std; std::cout << tuple_open('['); std::cout << tuple_close(']'); diff --git a/test/sequence/adapt_assoc_adt_named.cpp b/test/sequence/adapt_assoc_adt_named.cpp index 844bec7e..173edad0 100644 --- a/test/sequence/adapt_assoc_adt_named.cpp +++ b/test/sequence/adapt_assoc_adt_named.cpp @@ -56,7 +56,6 @@ int main() { using namespace boost::fusion; - using namespace std; std::cout << tuple_open('['); std::cout << tuple_close(']'); diff --git a/test/sequence/adapt_assoc_struct.cpp b/test/sequence/adapt_assoc_struct.cpp index 2e3f14ea..3323fa82 100644 --- a/test/sequence/adapt_assoc_struct.cpp +++ b/test/sequence/adapt_assoc_struct.cpp @@ -61,7 +61,6 @@ main() { using namespace boost::fusion; using namespace boost; - using namespace std; std::cout << tuple_open('['); std::cout << tuple_close(']'); diff --git a/test/sequence/adapt_assoc_tpl_adt.cpp b/test/sequence/adapt_assoc_tpl_adt.cpp index 92d9df60..ceba695c 100644 --- a/test/sequence/adapt_assoc_tpl_adt.cpp +++ b/test/sequence/adapt_assoc_tpl_adt.cpp @@ -57,7 +57,6 @@ int main() { using namespace boost::fusion; - using namespace std; typedef ns::point point; diff --git a/test/sequence/adapt_struct.cpp b/test/sequence/adapt_struct.cpp index 10b7a89a..2c4b23f4 100644 --- a/test/sequence/adapt_struct.cpp +++ b/test/sequence/adapt_struct.cpp @@ -78,7 +78,6 @@ main() { using namespace boost::fusion; using namespace boost; - using namespace std; std::cout << tuple_open('['); std::cout << tuple_close(']'); diff --git a/test/sequence/adapt_struct_named.cpp b/test/sequence/adapt_struct_named.cpp index ec803854..171d78c0 100644 --- a/test/sequence/adapt_struct_named.cpp +++ b/test/sequence/adapt_struct_named.cpp @@ -56,7 +56,6 @@ main() { using namespace boost::fusion; using namespace boost; - using namespace std; std::cout << tuple_open('['); std::cout << tuple_close(']'); diff --git a/test/sequence/adapt_tpl_adt.cpp b/test/sequence/adapt_tpl_adt.cpp index babb3370..1aa2e2e2 100644 --- a/test/sequence/adapt_tpl_adt.cpp +++ b/test/sequence/adapt_tpl_adt.cpp @@ -65,7 +65,6 @@ int main() { using namespace boost::fusion; - using namespace std; typedef ns::point point; diff --git a/test/sequence/boost_tuple.cpp b/test/sequence/boost_tuple.cpp index ef5dfa3b..17b6389c 100644 --- a/test/sequence/boost_tuple.cpp +++ b/test/sequence/boost_tuple.cpp @@ -37,7 +37,6 @@ main() { using namespace boost::fusion; using namespace boost; - using namespace std; std::cout << tuple_open('['); std::cout << tuple_close(']'); diff --git a/test/sequence/map.cpp b/test/sequence/map.cpp index e419a7e0..2d2e2593 100644 --- a/test/sequence/map.cpp +++ b/test/sequence/map.cpp @@ -28,7 +28,6 @@ main() { using namespace boost::fusion; using namespace boost; - using namespace std; namespace fusion = boost::fusion; using boost::fusion::pair; using boost::fusion::make_pair; diff --git a/test/sequence/set.cpp b/test/sequence/set.cpp index 4a39c89a..617135ae 100644 --- a/test/sequence/set.cpp +++ b/test/sequence/set.cpp @@ -28,7 +28,6 @@ main() { using namespace boost::fusion; using namespace boost; - using namespace std; namespace fusion = boost::fusion; using boost::fusion::pair; using boost::fusion::make_pair; diff --git a/test/sequence/std_pair.cpp b/test/sequence/std_pair.cpp index 0a704753..5c335d28 100644 --- a/test/sequence/std_pair.cpp +++ b/test/sequence/std_pair.cpp @@ -36,7 +36,6 @@ main() { using namespace boost::fusion; using namespace boost; - using namespace std; std::cout << tuple_open('['); std::cout << tuple_close(']'); diff --git a/test/sequence/vector_n.cpp b/test/sequence/vector_n.cpp index a536affb..5fcd5303 100644 --- a/test/sequence/vector_n.cpp +++ b/test/sequence/vector_n.cpp @@ -30,13 +30,12 @@ main() { using namespace boost::fusion; using namespace boost; - using namespace std; { vector0<> vec; (void) vec; - cout << "(): " << sizeof(vec) << endl; - cout << (boost::is_empty >::value ? "is empty" : "is not empty") << endl; + std::cout << "(): " << sizeof(vec) << std::endl; + std::cout << (boost::is_empty >::value ? "is empty" : "is not empty") << std::endl; } { @@ -56,7 +55,7 @@ main() typedef vector1 type; type vec(123); BOOST_TEST(at_c<0>(vec) == 123); - cout << "(int): " << sizeof(vec) << endl; + std::cout << "(int): " << sizeof(vec) << std::endl; } { // testing const vector @@ -91,7 +90,7 @@ main() type vec(123, 'x'); BOOST_TEST(at_c<0>(vec) == 123); BOOST_TEST(at_c<1>(vec) == 'x'); - cout << "(int, char): " << sizeof(vec) << endl; + std::cout << "(int, char): " << sizeof(vec) << std::endl; } { @@ -120,19 +119,19 @@ main() BOOST_TEST(at_c<0>(vec) == 123); BOOST_TEST(at_c<1>(vec) == 'x'); BOOST_TEST(at_c<2>(vec) >= 123.455 && at_c<2>(vec) <= 123.457); - cout << "(int, char, double): " << sizeof(vec) << endl; + std::cout << "(int, char, double): " << sizeof(vec) << std::endl; } { typedef vector4 type; type vec(123, 'x', 123.456, true); - cout << "(int, char, double, bool): " << sizeof(vec) << endl; + std::cout << "(int, char, double, bool): " << sizeof(vec) << std::endl; } { typedef vector4 type; type vec(123, 'x', true, 123.456); - cout << "(int, char, bool, double): " << sizeof(vec) << endl; + std::cout << "(int, char, bool, double): " << sizeof(vec) << std::endl; } { @@ -154,13 +153,13 @@ main() 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; + std::cout << "(bool, char, short, int, long, float, double): " << sizeof(vec) << std::endl; } { typedef vector10 type; type vec; // compile check only - cout << "vector10 of int: " << sizeof(vec) << endl; + std::cout << "vector10 of int: " << sizeof(vec) << std::endl; } { @@ -169,7 +168,7 @@ main() , int, int, int, int, int, int, int, int, int, int> type; type vec; // compile check only - cout << "vector20 of int: " << sizeof(vec) << endl; + std::cout << "vector20 of int: " << sizeof(vec) << std::endl; } { @@ -179,7 +178,7 @@ main() , int, int, int, int, int, int, int, int, int, int> type; type vec; // compile check only - cout << "vector30 of int: " << sizeof(vec) << endl; + std::cout << "vector30 of int: " << sizeof(vec) << std::endl; } { @@ -190,7 +189,7 @@ main() , int, int, int, int, int, int, int, int, int, int> type; type vec; // compile check only - cout << "vector40 of int: " << sizeof(vec) << endl; + std::cout << "vector40 of int: " << sizeof(vec) << std::endl; } { @@ -202,7 +201,7 @@ main() , int, int, int, int, int, int, int, int, int, int> type; type vec; // compile check only - cout << "vector50 of int: " << sizeof(vec) << endl; + std::cout << "vector50 of int: " << sizeof(vec) << std::endl; } { From b54e4b1b066481781443b2ff05a078281ddc3d4c Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Sun, 3 Apr 2011 23:20:13 +0000 Subject: [PATCH 08/45] MPL bug workaround. Fixes Trac ticket: #5411 [SVN r70965] --- include/boost/fusion/view/joint_view/joint_view.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/boost/fusion/view/joint_view/joint_view.hpp b/include/boost/fusion/view/joint_view/joint_view.hpp index e0d5c090..2a2051b1 100644 --- a/include/boost/fusion/view/joint_view/joint_view.hpp +++ b/include/boost/fusion/view/joint_view/joint_view.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - 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_JOINT_VIEW_07162005_0140) @@ -50,7 +50,9 @@ namespace boost { namespace fusion typedef typename result_of::end::type last_type; typedef typename result_of::begin::type concat_type; typedef typename result_of::end::type concat_last_type; - typedef typename mpl::plus, result_of::size >::type size; + typedef typename mpl::int_< + result_of::size::value + result_of::size::value> + size; joint_view(Sequence1& in_seq1, Sequence2& in_seq2) : seq1(in_seq1) From b17d6b9147a45176dd81ccac93d88c0836e232cd Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Wed, 6 Apr 2011 04:29:02 +0000 Subject: [PATCH 09/45] Fixes Ticket #5420 [SVN r71025] --- test/sequence/tuple_make.cpp | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/test/sequence/tuple_make.cpp b/test/sequence/tuple_make.cpp index e05aee34..077c35b5 100644 --- a/test/sequence/tuple_make.cpp +++ b/test/sequence/tuple_make.cpp @@ -2,14 +2,14 @@ Copyright (c) 1999-2003 Jaakko Jarvi Copyright (c) 2001-2006 Joel de Guzman - 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) ==============================================================================*/ #include -#define FUSION_SEQUENCE tuple +#define FUSION_SEQUENCE boost::fusion::tuple #define FUSION_AT get -#define FUSION_MAKE make_tuple +#define FUSION_MAKE boost::fusion::make_tuple #include "make.hpp" int From ed4206ee1bc60a9b6ba8aba17142cb9e2148dbd9 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Wed, 6 Apr 2011 04:55:57 +0000 Subject: [PATCH 10/45] Fixes Ticket #5426 [SVN r71026] --- doc/extension.qbk | 8 ++-- doc/html/fusion/adapted.html | 2 +- doc/html/fusion/adapted/adapt_adt.html | 10 ++--- doc/html/fusion/adapted/adapt_assoc.html | 10 ++--- doc/html/fusion/adapted/adapt_assoc_adt.html | 10 ++--- .../adapted/adapt_assoc_struct_named.html | 10 ++--- .../fusion/adapted/adapt_assoc_tpl_adt.html | 10 ++--- .../adapted/adapt_assoc_tpl_struct.html | 10 ++--- doc/html/fusion/adapted/adapt_struct.html | 10 ++--- .../fusion/adapted/adapt_struct_named.html | 10 ++--- doc/html/fusion/adapted/adapt_tpl_adt.html | 10 ++--- doc/html/fusion/adapted/adapt_tpl_struct.html | 10 ++--- doc/html/fusion/adapted/array.html | 6 +-- doc/html/fusion/adapted/boost__array.html | 8 ++-- doc/html/fusion/adapted/boost__tuple.html | 8 ++-- .../fusion/adapted/define_assoc_struct.html | 10 ++--- .../adapted/define_assoc_tpl_struct.html | 10 ++--- doc/html/fusion/adapted/define_struct.html | 8 ++-- .../fusion/adapted/define_tpl_struct.html | 10 ++--- 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/functions/iter_fold.html | 14 +++--- .../iteration/functions/reverse_fold.html | 14 +++--- .../functions/reverse_iter_fold.html | 14 +++--- .../iteration/metafunctions/accumulate.html | 12 ++--- .../iteration/metafunctions/fold.html | 12 ++--- .../iteration/metafunctions/for_each.html | 12 ++--- .../iteration/metafunctions/iter_fold.html | 12 ++--- .../iteration/metafunctions/reverse_fold.html | 12 ++--- .../metafunctions/reverse_iter_fold.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 | 25 ++++++----- .../fusion/extension/sequence_facade.html | 44 +++++++++++++++---- 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 | 18 ++++---- 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 | 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 | 14 +++--- doc/html/fusion/view/repetitive_view.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 +- 249 files changed, 1428 insertions(+), 1395 deletions(-) diff --git a/doc/extension.qbk b/doc/extension.qbk index b0159072..7d132316 100644 --- a/doc/extension.qbk +++ b/doc/extension.qbk @@ -390,7 +390,7 @@ for a variety of types. [heading Description] The __sequence_facade__ template provides an intrusive mechanism for -producing a conforming Fusion iterator. +producing a conforming Fusion sequence. [heading Synopsis] template @@ -415,6 +415,8 @@ The user must the implement the key expressions required by their sequence type. [[`sequence::template end::call(seq)`][An iterator to the end of sequence `seq`]] [[`sequence::template size::type`][The size of a sequence of type `Seq` as an __mpl_integral_constant__]] [[`sequence::template size::call(seq)`][The size of sequence `seq`]] +[[`sequence::template empty::type`][Returns `mpl::true_` if `Seq` has zero elements, `mpl::false_` otherwise.]] +[[`sequence::template empty::call`][Returns a type convertible to `bool` that evaluates to true if the sequence is empty, else, evaluates to false. ]] [[`sequence::template at::type`][The type of element `N` in a sequence of type `Seq`]] [[`sequence::template at::call(seq)`][Element `N` in sequence `seq`]] [[`sequence::template value_at::type`][The type of the `N`th element in a sequence of type `Seq`]] @@ -465,8 +467,8 @@ The user must the implement the key expressions required by their iterator type. [[`iterator::template advance::call(it)`][An iterator advanced `N` elements from `it`][Implemented in terms of `next` and `prior`]] [[`iterator::template distance::type`][The distance between iterators of type `It1` and `It2` as an __mpl_integral_constant__][None]] [[`iterator::template distance::call(it1, it2)`][The distance between iterator `it1` and `it2`][None]] -[[`iterator::template equal_to::type`][The distance between iterators of type `It1` and `It2`][`boost::same_type::type`]] -[[`iterator::template equal_to::call(it1, it2)`][The distance between iterators `it1` and `it2`][`boost::same_type::type()`]] +[[`iterator::template equal_to::type`][Returns `mpl::true_` if `It1` is equal to `It2`, `mpl::false_` otherwise.][`boost::same_type::type`]] +[[`iterator::template equal_to::call(it1, it2)`][Returns a type convertible to `bool` that evaluates to `true` if `It1` is equal to `It2`, `false` otherwise.][`boost::same_type::type()`]] [[`iterator::template key_of::type`][The key type associated with the element from `It`][None]] [[`iterator::template value_of_data::type`][The type of the data property associated with the element from `It`][None]] [[`iterator::template deref_data::type`][The type that will be returned by dereferencing the data property of the element from `It`][None]] diff --git a/doc/html/fusion/adapted.html b/doc/html/fusion/adapted.html index 4d958f1f..4468e6e6 100644 --- a/doc/html/fusion/adapted.html +++ b/doc/html/fusion/adapted.html @@ -60,7 +60,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_adt.html b/doc/html/fusion/adapted/adapt_adt.html
index 859ce566..5ebe6505 100644
--- a/doc/html/fusion/adapted/adapt_adt.html
+++ b/doc/html/fusion/adapted/adapt_adt.html
@@ -32,7 +32,7 @@
         Access Sequence.
       

- + Synopsis
BOOST_FUSION_ADAPT_ADT(
@@ -43,7 +43,7 @@
     )
 
- + Expression Semantics
@@ -88,14 +88,14 @@ should be the fully namespace qualified name of the class type to be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_adt.hpp>
 #include <boost/fusion/include/adapt_adt.hpp>
 
- + Example
namespace demo
@@ -141,7 +141,7 @@
 std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_assoc.html b/doc/html/fusion/adapted/adapt_assoc.html index 92899382..87032848 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 adapted.

- + 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_assoc_adt.html b/doc/html/fusion/adapted/adapt_assoc_adt.html
index 382eefa9..584914b1 100644
--- a/doc/html/fusion/adapted/adapt_assoc_adt.html
+++ b/doc/html/fusion/adapted/adapt_assoc_adt.html
@@ -34,7 +34,7 @@
         Sequence.
       

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_ADT(
@@ -45,7 +45,7 @@
     )
 
- + Expression Semantics
@@ -92,14 +92,14 @@ should be the fully namespace qualified name of the class type to be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_assoc_adt.hpp>
 #include <boost/fusion/include/adapt_assoc_adt.hpp>
 
- + Example
namespace demo
@@ -151,7 +151,7 @@
 std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_assoc_struct_named.html b/doc/html/fusion/adapted/adapt_assoc_struct_named.html index e0b33ecb..7d1bd0bd 100644 --- a/doc/html/fusion/adapted/adapt_assoc_struct_named.html +++ b/doc/html/fusion/adapted/adapt_assoc_struct_named.html @@ -27,7 +27,7 @@ BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED

- + Description

@@ -38,7 +38,7 @@ Sequence. The given struct is adapted using the given name.

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED(
@@ -58,7 +58,7 @@
     )
 
- + Semantics

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

- + Header
#include <boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp>
 #include <boost/fusion/include/adapt_assoc_struct_named.hpp>
 
- + Example
namespace demo
diff --git a/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html b/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
index 9137a509..12946fe0 100644
--- a/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
+++ b/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
@@ -34,7 +34,7 @@
         Sequence.
       

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_TPL_ADT(
@@ -46,7 +46,7 @@
     )
 
- + Expression Semantics
@@ -98,14 +98,14 @@ be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_assoc_adt.hpp>
 #include <boost/fusion/include/adapt_assoc_adt.hpp>
 
- + Example
namespace demo
@@ -159,7 +159,7 @@
 std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html b/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html index 5fa279b7..21085f3a 100644 --- a/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html +++ b/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html @@ -27,7 +27,7 @@ BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT

- + Description

@@ -38,7 +38,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT(
@@ -50,7 +50,7 @@
     )
 
- + Semantics

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

- + 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 67038578..e33c51c0 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 adapted.

- + 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/adapt_struct_named.html b/doc/html/fusion/adapted/adapt_struct_named.html
index f42cb412..73879f59 100644
--- a/doc/html/fusion/adapted/adapt_struct_named.html
+++ b/doc/html/fusion/adapted/adapt_struct_named.html
@@ -27,7 +27,7 @@
  BOOST_FUSION_ADAPT_STRUCT_NAMED
 
 
- + Description

@@ -37,7 +37,7 @@ Access Sequence. The given struct is adapted using the given name.

- + Synopsis
BOOST_FUSION_ADAPT_STRUCT_NAMED(
@@ -57,7 +57,7 @@
     )
 
- + Semantics

@@ -81,14 +81,14 @@ 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
diff --git a/doc/html/fusion/adapted/adapt_tpl_adt.html b/doc/html/fusion/adapted/adapt_tpl_adt.html
index a4e72e87..71c21f88 100644
--- a/doc/html/fusion/adapted/adapt_tpl_adt.html
+++ b/doc/html/fusion/adapted/adapt_tpl_adt.html
@@ -33,7 +33,7 @@
         Access Sequence.
       

- + Synopsis
BOOST_FUSION_ADAPT_ADT(
@@ -45,7 +45,7 @@
     )
 
- + Expression Semantics
@@ -95,14 +95,14 @@ be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_adt.hpp>
 #include <boost/fusion/include/adapt_adt.hpp>
 
- + Example
  namespace demo
@@ -150,7 +150,7 @@
   std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_tpl_struct.html b/doc/html/fusion/adapted/adapt_tpl_struct.html index fac6998f..39b52eca 100644 --- a/doc/html/fusion/adapted/adapt_tpl_struct.html +++ b/doc/html/fusion/adapted/adapt_tpl_struct.html @@ -27,7 +27,7 @@ BOOST_FUSION_ADAPT_TPL_STRUCT

- + Description

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

- + Synopsis
BOOST_FUSION_ADAPT_TPL_STRUCT(
@@ -49,7 +49,7 @@
     )
 
- + Semantics

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

- + 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/array.html b/doc/html/fusion/adapted/array.html
index 7bfd4c22..1734da54 100644
--- a/doc/html/fusion/adapted/array.html
+++ b/doc/html/fusion/adapted/array.html
@@ -32,20 +32,20 @@
         Access Sequence.
       

- + Header
#include <boost/fusion/adapted/array.hpp>
 #include <boost/fusion/include/array.hpp>
 
- + Model of
- + Example
int arr[3] = {1,2,3};
diff --git a/doc/html/fusion/adapted/boost__array.html b/doc/html/fusion/adapted/boost__array.html
index b80849b2..621b83a5 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/boost_array.hpp>
 #include <boost/fusion/include/boost_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 5a34d7ab..e2bb1048 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/define_assoc_struct.html b/doc/html/fusion/adapted/define_assoc_struct.html index 6aaf357e..612d873f 100644 --- a/doc/html/fusion/adapted/define_assoc_struct.html +++ b/doc/html/fusion/adapted/define_assoc_struct.html @@ -27,7 +27,7 @@ BOOST_FUSION_DEFINE_ASSOC_STRUCT

- + Description

@@ -38,7 +38,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_DEFINE_ASSOC_STRUCT(
@@ -68,7 +68,7 @@
 
 
 
- + Expression Semantics
@@ -182,14 +182,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_assoc_struct.hpp>
 #include <boost/fusion/include/define_assoc_struct.hpp>
 
- + Example
namespace keys
diff --git a/doc/html/fusion/adapted/define_assoc_tpl_struct.html b/doc/html/fusion/adapted/define_assoc_tpl_struct.html
index b68c5374..c5156785 100644
--- a/doc/html/fusion/adapted/define_assoc_tpl_struct.html
+++ b/doc/html/fusion/adapted/define_assoc_tpl_struct.html
@@ -27,7 +27,7 @@
  BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT
 
 
- + Description

@@ -38,7 +38,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT(
@@ -73,7 +73,7 @@
 
 
 
- + Expression Semantics
@@ -187,14 +187,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_assoc_struct.hpp>
 #include <boost/fusion/include/define_assoc_struct.hpp>
 
- + Example
namespace keys
diff --git a/doc/html/fusion/adapted/define_struct.html b/doc/html/fusion/adapted/define_struct.html
index 8cdd7219..325229e6 100644
--- a/doc/html/fusion/adapted/define_struct.html
+++ b/doc/html/fusion/adapted/define_struct.html
@@ -33,7 +33,7 @@
         Access Sequence.
       

- + Synopsis
BOOST_FUSION_DEFINE_STRUCT(
@@ -63,7 +63,7 @@
 
 
 
- + Expression Semantics
@@ -174,14 +174,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_struct.hpp>
 #include <boost/fusion/include/define_struct.hpp>
 
- + Example
// demo::employee is a Fusion sequence
diff --git a/doc/html/fusion/adapted/define_tpl_struct.html b/doc/html/fusion/adapted/define_tpl_struct.html
index 9214f4d4..d0f00a3a 100644
--- a/doc/html/fusion/adapted/define_tpl_struct.html
+++ b/doc/html/fusion/adapted/define_tpl_struct.html
@@ -27,7 +27,7 @@
  BOOST_FUSION_DEFINE_TPL_STRUCT
 
 
- + Description

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

- + Synopsis
BOOST_FUSION_DEFINE_TPL_STRUCT(
@@ -72,7 +72,7 @@
 
 
 
- + Expression Semantics
@@ -183,14 +183,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_struct.hpp>
 #include <boost/fusion/include/define_struct.hpp>
 
- + Example
// Any instantiated demo::employee is a Fusion sequence
diff --git a/doc/html/fusion/adapted/mpl_sequence.html b/doc/html/fusion/adapted/mpl_sequence.html
index 3cfd0486..6bfe4104 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 22ce12f6..2036d626 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 410f0863..1514211b 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

@@ -87,7 +87,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 1448fbb2..229750f3 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 bbc0781a..b6e5e391 100644
--- a/doc/html/fusion/algorithm/iteration/functions/accumulate.html
+++ b/doc/html/fusion/algorithm/iteration/functions/accumulate.html
@@ -30,7 +30,7 @@
             
             

- + Description

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

- + Synopsis

@@ -74,7 +74,7 @@

-

Table 1.41. Parameters

+

Table 1.41. Parameters

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

- + Expression Semantics
@@ -188,7 +188,7 @@

- + Complexity

@@ -200,7 +200,7 @@

- + Header

@@ -213,7 +213,7 @@

- + Example

diff --git a/doc/html/fusion/algorithm/iteration/functions/fold.html b/doc/html/fusion/algorithm/iteration/functions/fold.html index a98c7d8d..5860b5fe 100644 --- a/doc/html/fusion/algorithm/iteration/functions/fold.html +++ b/doc/html/fusion/algorithm/iteration/functions/fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

@@ -74,7 +74,7 @@

-

Table 1.37. Parameters

+

Table 1.37. Parameters

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

- + Expression Semantics
@@ -188,7 +188,7 @@

- + Complexity

@@ -200,7 +200,7 @@

- + Header

@@ -213,7 +213,7 @@

- + Example

diff --git a/doc/html/fusion/algorithm/iteration/functions/for_each.html b/doc/html/fusion/algorithm/iteration/functions/for_each.html index 90141b99..3fc6faee 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 f);
 
-

Table 1.42. Parameters

+

Table 1.42. 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/functions/iter_fold.html b/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
index a40fa4cd..382a2486 100644
--- a/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
+++ b/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
@@ -30,7 +30,7 @@
             
             

- + Description

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

- + Synopsis

@@ -74,7 +74,7 @@

-

Table 1.39. Parameters

+

Table 1.39. Parameters

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

- + Expression Semantics
@@ -188,7 +188,7 @@

- + Complexity

@@ -200,7 +200,7 @@

- + Header

@@ -213,7 +213,7 @@

- + Example

diff --git a/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html b/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html index 760c4865..beca986f 100644 --- a/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html +++ b/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

@@ -74,7 +74,7 @@

-

Table 1.38. Parameters

+

Table 1.38. Parameters

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

- + Expression Semantics
@@ -188,7 +188,7 @@

- + Complexity

@@ -200,7 +200,7 @@

- + Header

@@ -213,7 +213,7 @@

- + Example

diff --git a/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html b/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html index 4cb2d460..52e46e99 100644 --- a/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html +++ b/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

@@ -74,7 +74,7 @@

-

Table 1.40. Parameters

+

Table 1.40. Parameters

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

- + Expression Semantics
@@ -188,7 +188,7 @@

- + Complexity

@@ -200,7 +200,7 @@

- + Header

@@ -213,7 +213,7 @@

- + Example

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html index 9906dec5..2ed26934 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

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

-

Table 1.47. Parameters

+

Table 1.47. Parameters

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

- + Expression Semantics
@@ -172,7 +172,7 @@

- + Complexity

@@ -184,7 +184,7 @@

- + Header

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html index b07fdbcf..17232bcc 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

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

-

Table 1.43. Parameters

+

Table 1.43. Parameters

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

- + Expression Semantics
@@ -172,7 +172,7 @@

- + Complexity

@@ -184,7 +184,7 @@

- + Header

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html b/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html index 525e558d..2ae79797 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.48. Parameters

+

Table 1.48. 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/iteration/metafunctions/iter_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
index 152213ce..f66559a0 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
@@ -30,7 +30,7 @@
             
             

- + Description

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

- + Synopsis

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

-

Table 1.45. Parameters

+

Table 1.45. Parameters

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

- + Expression Semantics
@@ -172,7 +172,7 @@

- + Complexity

@@ -184,7 +184,7 @@

- + Header

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html index 6c3c1b88..5e984d62 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

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

-

Table 1.44. Parameters

+

Table 1.44. Parameters

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

- + Expression Semantics
@@ -172,7 +172,7 @@

- + Complexity

@@ -184,7 +184,7 @@

- + Header

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html index 55789806..e312eb17 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

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

-

Table 1.46. Parameters

+

Table 1.46. Parameters

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

- + Expression Semantics
@@ -172,7 +172,7 @@

- + Complexity

@@ -184,7 +184,7 @@

- + Header

diff --git a/doc/html/fusion/algorithm/query.html b/doc/html/fusion/algorithm/query.html index ad0a2673..5c886ded 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 6c8d403f..3aa0227d 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.50. Parameters

+

Table 1.50. Parameters

@@ -116,7 +116,7 @@

- + Expression Semantics
@@ -132,21 +132,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 c265aae1..8564fd7b 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.49. Parameters

+

Table 1.49. Parameters

@@ -116,7 +116,7 @@

- + Expression semantics
@@ -132,21 +132,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 05b19bdd..e814dd6f 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.54. Parameters

+

Table 1.54. Parameters

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

- + Expression Semantics
@@ -128,21 +128,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 38f17c70..b4655690 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.55. Parameters

+

Table 1.55. Parameters

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

- + Expression Semantics
@@ -127,21 +127,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 020415a7..efb3058a 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.52. Parameters

+

Table 1.52. 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 1872bb81..2111a9b5 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.53. Parameters

+

Table 1.53. 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 14638ab3..446ad1c3 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.51. Parameters

+

Table 1.51. Parameters

@@ -116,7 +116,7 @@

- + Expression Semantics
@@ -132,21 +132,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 ca9b3df4..d115029e 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.57. Parameters

+

Table 1.57. 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 2e4e03ec..2516457e 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.56. Parameters

+

Table 1.56. 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 5ed232d1..24ad574e 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.61. Parameters

+

Table 1.61. 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 988f3924..fd203b02 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.62. Parameters

+

Table 1.62. 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 0c4d85cf..d0908db6 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.59. Parameters

+

Table 1.59. 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 478853ff..bf50b0ae 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.60. Parameters

+

Table 1.60. 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 1ddcad0e..bebbfd7e 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.58. Parameters

+

Table 1.58. 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 a19fb497..54ea8f4f 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 0847b25a..cab3893c 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.72. Parameters

+

Table 1.72. 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 7231e036..678189d1 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.73. Parameters

+

Table 1.73. 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 b61ee651..2d70efa5 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.74. Parameters

+

Table 1.74. 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 4e499182..7ec97118 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.63. Parameters

+

Table 1.63. 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 7841be0f..3ae5ea83 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.64. Parameters

+

Table 1.64. 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 65327bba..125f6edc 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.75. Parameters

+

Table 1.75. Parameters

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

- + Expression Semantics
@@ -150,21 +150,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 5c2a3256..6aab7aa0 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.76. Parameters

+

Table 1.76. 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 c99c6a0c..38044208 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.77. Parameters

+

Table 1.77. 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 80fcc0b8..27f90679 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.79. Parameters

+

Table 1.79. 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 9373d1b9..6857b606 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.80. Parameters

+

Table 1.80. 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 62c41197..6b2aadb6 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.81. Parameters

+

Table 1.81. Parameters

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

- + Expression Semantics
@@ -129,21 +129,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 0d2c04e0..f19f5697 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.82. Parameters

+

Table 1.82. Parameters

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

- + Expression Semantics
@@ -130,21 +130,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 da0fe65f..00d06b4d 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.69. Parameters

+

Table 1.69. 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 9e72b26d..59867dca 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.70. Parameters

+

Table 1.70. 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 8f427310..7cf34013 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.67. Parameters

+

Table 1.67. Parameters

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

- + Expression Semantics
@@ -149,21 +149,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 5cc9eae8..2f87f45c 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.68. Parameters

+

Table 1.68. Parameters

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

- + Expression Semantics
@@ -149,21 +149,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 09f38080..2bcac8ea 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.71. Parameters

+

Table 1.71. 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 ff228076..c3be16dc 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.65. Parameters

+

Table 1.65. Parameters

@@ -118,7 +118,7 @@

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

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

Table 1.66. Parameters

+

Table 1.66. Parameters

@@ -244,21 +244,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 fa9246c8..ff0ebea6 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.78. Parameters

+

Table 1.78. 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 33f8b53d..83f44f0c 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.92. Parameters

+

Table 1.92. 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 57daa67f..632c0634 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.93. Parameters

+

Table 1.93. 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 3960dc89..7e498c29 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.94. Parameters

+

Table 1.94. 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 4dc9eaf1..40b9e0e9 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.83. Parameter

+

Table 1.83. 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 4608f201..d31f15d8 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.84. Parameter

+

Table 1.84. 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 6fd71583..1c44deac 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.95. Parameters

+

Table 1.95. Parameters

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

- + Expression Semantics
@@ -151,14 +151,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 f6334214..6656094d 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.96. Parameters

+

Table 1.96. 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 02090cc4..646a1086 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 1f7f6319..28b2cc06 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.97. Parameters

+

Table 1.97. 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 565e18d9..37008135 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.98. Parameters

+

Table 1.98. 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 87d3bbb9..50eda260 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.99. Parameters

+

Table 1.99. Parameters

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

- + Expression Semantics
@@ -132,14 +132,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 a822d0eb..0eb931c3 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.100. Parameters

+

Table 1.100. Parameters

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

- + Expression Semantics
@@ -132,14 +132,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 9756fe13..32a4cc59 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.89. Parameters

+

Table 1.89. 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 74e74e01..b47f32b7 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.90. Parameters

+

Table 1.90. 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 a2d4542f..4f53cf15 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.87. Parameters

+

Table 1.87. 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 dadb0233..31ce6391 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.88. Parameters

+

Table 1.88. 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 7c3af5de..5766b871 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.91. Parameters

+

Table 1.91. 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 0536fb89..adb976fe 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.85. Parameters

+

Table 1.85. Parameters

@@ -118,7 +118,7 @@

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

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

Table 1.86. Parameters

+

Table 1.86. Parameters

@@ -255,21 +255,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 c89f0b89..f7dc3196 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 49a90efc..716bcdd4 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 cec8146e..612c153f 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 0782430b..457adb14 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 f96414ad..09bd9094 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 0d0e14e3..0e34d21f 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 dddca374..539537a7 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 93465898..70237cff 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 6687a5bd..45437403 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 62d3d205..d67977a5 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 23bac705..ee7b1d93 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 f7098f20..537d0450 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 40602110..30c1317e 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 0201835b..cfe677a1 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 c8805fd6..efbb4daa 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 27b7abe0..3aec6d15 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 161eb20e..bc6aa1e1 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 ff67bbc9..0b584559 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 653bf242..8f8809f2 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 c1e67a29..c0e00a18 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 210de334..a7f41e3d 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 1d2dcb7c..aeceb2e9 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 35c3b2fc..cf07d337 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 2682cfc2..f4986609 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 6728e1f2..6560f61f 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 82b9bb0f..e82b2c24 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 6108094d..f1e8905e 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 19c1592d..c1af0b26 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 b76c7a79..ae495714 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 e8dcb0ca..981ecada 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 06a419cd..ebd30900 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
@@ -152,7 +152,7 @@
- + Expression Semantics

@@ -259,7 +259,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 e3b71807..f0d81a64 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
    @@ -153,7 +153,7 @@
- + Expression Semantics

@@ -237,7 +237,7 @@

- + Example
typedef map<
diff --git a/doc/html/fusion/container/set.html b/doc/html/fusion/container/set.html
index 56a4c528..eebe3770 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
    @@ -152,7 +152,7 @@
- + Expression Semantics

@@ -236,7 +236,7 @@

- + Example
typedef set<int, float> S;
diff --git a/doc/html/fusion/container/vector.html b/doc/html/fusion/container/vector.html
index 67c77bec..f11cc156 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

@@ -271,7 +271,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 392121b4..c340df9e 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
@@ -494,7 +494,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 94c257c5..641abd47 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.103. Parameters

+

Table 1.103. Parameters

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

-

Table 1.104. Key Expressions

+

Table 1.104. Key Expressions

@@ -334,8 +334,9 @@

- The distance between iterators of type It1 - and It2 + Returns mpl::true_ if It1 + is equal to It2, + mpl::false_ otherwise.

@@ -353,8 +354,10 @@

- The distance between iterators it1 - and it2 + Returns a type convertible to bool + that evaluates to true + if It1 is equal + to It2, false otherwise.

@@ -439,14 +442,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 77545b0f..e29f04db 100644 --- a/doc/html/fusion/extension/sequence_facade.html +++ b/doc/html/fusion/extension/sequence_facade.html @@ -27,23 +27,23 @@ Sequence Facade

- + Description

The sequence_facade template provides an intrusive mechanism for producing a conforming Fusion - iterator. + sequence.

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

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

-

Table 1.101. Parameters

+

Table 1.101. Parameters

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

-

Table 1.102. Key Expressions

+

Table 1.102. Key Expressions

@@ -202,6 +202,34 @@ + + + + + + + +
+

+ sequence::template empty<Seq>::type +

+
+

+ Returns mpl::true_ if Seq + has zero elements, mpl::false_ + otherwise. +

+
+

+ sequence::template empty<Seq>::call +

+
+

+ Returns a type convertible to bool + that evaluates to true if the sequence is empty, else, evaluates + to false. +

+

sequence::template at<Seq, N>::type @@ -244,14 +272,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 b6f8bfac..8172be23 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 562b5ce6..7e1e258e 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
@@ -211,14 +211,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 c70e8a14..3d3d62b3 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
@@ -202,7 +202,7 @@
- + Example
template<class SeqOfSeqs, class Func>
@@ -239,7 +239,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/fused_procedure.html b/doc/html/fusion/functional/adapters/fused_procedure.html index 7e2bd156..70557654 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
@@ -220,7 +220,7 @@
- + Example
template<class SequenceOfSequences, class Func>
@@ -240,7 +240,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/limits.html b/doc/html/fusion/functional/adapters/limits.html index a7302400..3dd92650 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 37a892e0..4bbede32 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
@@ -237,7 +237,7 @@
- + Example
struct fused_incrementer
@@ -264,7 +264,7 @@
 }
 
- + See also
    diff --git a/doc/html/fusion/functional/adapters/unfused_typed.html b/doc/html/fusion/functional/adapters/unfused_typed.html index a7c5d6f7..0bcb6fbf 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
@@ -253,7 +253,7 @@
- + Example
struct add_assign // applies operator+=
@@ -321,7 +321,7 @@
 }
 
- + See also
    diff --git a/doc/html/fusion/functional/concepts/callable.html b/doc/html/fusion/functional/concepts/callable.html index 2f4ef902..8cbb43a0 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 91666ca8..7df57db9 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
@@ -77,7 +77,7 @@
- + Expression requirements
@@ -115,7 +115,7 @@
- + Models
    @@ -128,7 +128,7 @@
- + Examples
& a_free_function
diff --git a/doc/html/fusion/functional/concepts/poly.html b/doc/html/fusion/functional/concepts/poly.html
index 8f0362ee..0872ee95 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
@@ -75,7 +75,7 @@
- + Expression requirements
@@ -124,7 +124,7 @@
- + Models
    @@ -139,7 +139,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 abe7ec5f..2554f0d2 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
@@ -65,7 +65,7 @@
- + Expression requirements
@@ -112,7 +112,7 @@
- + Models
    @@ -124,7 +124,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 ff23e085..697123bf 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 333a4f80..610b94ee 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 2f58384c..f492bcaf 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 b54d0dde..aee6dcfc 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 7b81e471..e8012717 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 f6eb5f87..d47400bd 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 799ca2d8..9c49d660 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 38f33958..eb91666f 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 e175cece..a5d5aa71 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 cd6bcd02..3b60d471 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 fb6bc0df..b0b9629a 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 ae2e3b0d..6e37a004 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 0b2b7e6a..fb1e19dc 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 d4b82dd5..83b079e4 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 9c4b9322..ca70a02a 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 0a498bc2..46f1a134 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 9d25880b..936307fa 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 f7c975f2..257fd471 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 a11fadc0..ccad8514 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 c926407b..c72fec6d 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

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

- + Expression requirements
@@ -237,7 +237,7 @@
- + Meta Expressions
@@ -348,7 +348,7 @@
- + Expression Semantics
@@ -474,7 +474,7 @@
- + Invariants

@@ -498,7 +498,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 93d5acb7..3d0c1a73 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

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

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

- + Expression requirements
@@ -175,7 +175,7 @@
- + Meta Expressions
@@ -238,7 +238,7 @@
- + Models
    diff --git a/doc/html/fusion/iterator/functions/advance.html b/doc/html/fusion/iterator/functions/advance.html index 97d3c5b7..a48d0175 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 6e7e7f96..4fc794cf 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 7016d66a..bb5a21f3 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 2cbba869..4672ae0d 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 c3f03d57..1e0cc2aa 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 4eeab159..86935f0e 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 de553813..3facb7b5 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 5b82dc0f..6d1e3f6b 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 dfb85f03..26a64826 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 30e7d6fd..8ef8fa71 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 ffcf6fdf..e16bd615 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 1c1ebf8a..5b83e3e0 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 5d710d60..41d4eb55 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 4baaa92c..283368b6 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 d6c9d38d..b188c2ec 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 3b992d2f..23721fd6 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 8730ccf8..6465222c 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 1438ad1a..f8244c1b 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 6fde9967..79361b6a 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 124a5742..62b75efb 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 4b8d548e..65c806e2 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 24d29ebf..67c8ad14 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

@@ -226,7 +226,7 @@ details.

- + adt_attribute_proxy

@@ -458,7 +458,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 b997482c..68d5c468 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 c97d77ff..d4269ad6 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 0d9a3042..7f118391 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 Organization 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 ac4cc029..f8b73022 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 ae8f83d1..10677d14 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 a19d8e8e..a14dae74 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
@@ -247,7 +247,7 @@

- + Expression Semantics
@@ -302,7 +302,7 @@
- + Models
    diff --git a/doc/html/fusion/sequence/concepts/bidirectional_sequence.html b/doc/html/fusion/sequence/concepts/bidirectional_sequence.html index d1c6ab30..50dc3ed6 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 4a11ffac..844528b1 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 a73bf497..7de8fa51 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 4edef329..6bf8aa82 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 34ddca59..ddf9e4e7 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 652047ae..6017b650 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 8e0c6698..9f850ce9 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 226333a4..12e5ff46 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 6ab171f2..c7160df0 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 dd30d065..9d2008c5 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 d790f1a1..cfd61b59 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 8c3a4b4f..fab3f3ae 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 8ffa0649..bd4dfd5d 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 9f2e4374..9d9a3c5c 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 ee0ed3e6..187c5d48 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 1514fa2d..11de5684 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 8ad5de75..a7ca3339 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 7186e7b1..cc8c3f53 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 7212a5cb..a3d2d40a 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 0e485599..b9ad3609 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 620bf529..934edce6 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 5b29d346..2b9439b6 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 d3e07f0a..04bbb07b 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 2eb10d2f..08881ba8 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 26a376a7..0347ee2b 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 bfa4d4bc..e2af4da7 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 c8a1eade..a64f0559 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 2f1978b9..44520c30 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 44c4a8c9..5d019771 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 adce0fe9..dd617dae 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 b2d5bb5f..097ee838 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 fde90027..ccc54b5b 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 6647af8a..96f885af 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 0c8ddd15..3ac7edf7 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 77d54d74..0c20fda7 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 58188de1..2a440351 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 68ae56e4..8162faa8 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 a0e497dd..d7673ea9 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 060b771a..2651eb86 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 7b49a561..86b254be 100644
--- a/doc/html/fusion/support/category_of.html
+++ b/doc/html/fusion/support/category_of.html
@@ -27,7 +27,7 @@
 category_of
 
 
- + Description

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

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

- + Header
#include <boost/fusion/support/category_of.hpp>
 #include <boost/fusion/include/category_of.hpp>
 
- + Example
using boost::is_base_of;
diff --git a/doc/html/fusion/support/deduce.html b/doc/html/fusion/support/deduce.html
index b03bbab6..28c83695 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 5038620e..1aee46cf 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 64de6736..0c7a59f2 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 d236b503..a4488916 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 e3d64e9b..a8e345a7 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
@@ -137,7 +137,7 @@
- + Expression Semantics
@@ -317,14 +317,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 32db75c5..8049d096 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 a6ef3044..0ade6a28 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 1f2b4e02..e8c0fbd2 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 284a9519..dd4c12ba 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 5f2e2d43..d7cd7e7b 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 8024fa1b..618517e6 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 91238463..58fe4bdc 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 022bddef..bf02027d 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 b55e975c..7ec19052 100644
--- a/doc/html/fusion/view.html
+++ b/doc/html/fusion/view.html
@@ -47,7 +47,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 c6b2ee49..62e81583 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 641e1b88..c6a61b59 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
    @@ -153,7 +153,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 193faf4d..49282f74 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
    @@ -148,7 +148,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 3f6c4473..f29b7776 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
  • @@ -163,7 +163,7 @@
- + Expression Semantics

@@ -239,7 +239,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/repetitive_view.html b/doc/html/fusion/view/repetitive_view.html
index 3fa2b778..3389941a 100644
--- a/doc/html/fusion/view/repetitive_view.html
+++ b/doc/html/fusion/view/repetitive_view.html
@@ -27,7 +27,7 @@
 repetitive_view
 
 
- + Description

@@ -40,21 +40,21 @@ is not.

- + Header
#include <boost/fusion/view/repetitive_view.hpp>
 #include <boost/fusion/include/repetitive_view.hpp>
 
- + Synopsis
template <typename Sequence>
 struct repetitive_view;
 
- + Template parameters
@@ -117,7 +117,7 @@
- + Expression Semantics
@@ -238,7 +238,7 @@
- + Result Type Expressions
@@ -263,7 +263,7 @@
- + Example
typedef vector<int, char, double> vec1;
diff --git a/doc/html/fusion/view/reverse_view.html b/doc/html/fusion/view/reverse_view.html
index 171d90c9..f6f26463 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
    @@ -129,7 +129,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 97f75b6b..00c2dc8b 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
@@ -111,7 +111,7 @@
- + Expression Semantics

@@ -182,7 +182,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 43f0b0a8..78542659 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
@@ -179,7 +179,7 @@
- + Model of
  • @@ -234,7 +234,7 @@
- + Expression Semantics
@@ -329,7 +329,7 @@
- + Example
struct square
diff --git a/doc/html/fusion/view/zip_view.html b/doc/html/fusion/view/zip_view.html
index 428ad0f8..9d6fb9be 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
  • @@ -126,7 +126,7 @@
- + Expression Semantics

@@ -197,7 +197,7 @@

- + Example
typedef vector<int,int> vec1;
diff --git a/doc/html/index.html b/doc/html/index.html
index 299e4f36..441572b0 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)

@@ -261,7 +261,7 @@
- +

Last revised: March 21, 2011 at 04:01:58 GMT

Last revised: April 06, 2011 at 04:49:50 GMT


From 01424b06b3a6c895b856afdf9750fd894e602966 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Sun, 10 Apr 2011 23:45:34 +0000 Subject: [PATCH 11/45] added version of fold (overload) accepting non-const State. [SVN r71179] --- .../algorithm/iteration/detail/fold.hpp | 32 +++++++++++++++++-- 1 file changed, 30 insertions(+), 2 deletions(-) diff --git a/include/boost/fusion/algorithm/iteration/detail/fold.hpp b/include/boost/fusion/algorithm/iteration/detail/fold.hpp index 56302fb8..cf92a354 100644 --- a/include/boost/fusion/algorithm/iteration/detail/fold.hpp +++ b/include/boost/fusion/algorithm/iteration/detail/fold.hpp @@ -404,7 +404,7 @@ namespace boost { namespace fusion , State const , F >::type - BOOST_FUSION_FOLD_NAME(Seq& seq,State const& state,F f) + BOOST_FUSION_FOLD_NAME(Seq& seq, State const& state, F f) { return result_of::BOOST_FUSION_FOLD_NAME::call( state, @@ -418,13 +418,41 @@ namespace boost { namespace fusion , State const , F >::type - BOOST_FUSION_FOLD_NAME(Seq const& seq,State const& state,F f) + BOOST_FUSION_FOLD_NAME(Seq const& seq, State const& state, F f) { return result_of::BOOST_FUSION_FOLD_NAME::call( state, fusion::BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION(seq), f); } + + template + inline typename result_of::BOOST_FUSION_FOLD_NAME< + Seq + , State const + , F + >::type + BOOST_FUSION_FOLD_NAME(Seq& seq, State& state, F f) + { + return result_of::BOOST_FUSION_FOLD_NAME::call( + state, + fusion::BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION(seq), + f); + } + + template + inline typename result_of::BOOST_FUSION_FOLD_NAME< + Seq const + , State const + , F + >::type + BOOST_FUSION_FOLD_NAME(Seq const& seq, State& state, F f) + { + return result_of::BOOST_FUSION_FOLD_NAME::call( + state, + fusion::BOOST_FUSION_FOLD_IMPL_FIRST_IT_FUNCTION(seq), + f); + } }} #undef BOOST_FUSION_FOLD_NAME From 92c2362cef3ace6c1c521d5349e0a933e701a210 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Tue, 14 Jun 2011 22:57:24 +0000 Subject: [PATCH 12/45] Fix Ticket #4755 [SVN r72601] --- include/boost/fusion/container/map/detail/deref_data_impl.hpp | 2 +- include/boost/fusion/container/map/detail/deref_impl.hpp | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/fusion/container/map/detail/deref_data_impl.hpp b/include/boost/fusion/container/map/detail/deref_data_impl.hpp index 9943171a..07087a39 100644 --- a/include/boost/fusion/container/map/detail/deref_data_impl.hpp +++ b/include/boost/fusion/container/map/detail/deref_data_impl.hpp @@ -39,7 +39,7 @@ namespace boost { namespace fusion { namespace extension static type call(It const& it) { - return deref(it).second; + return fusion::deref(it).second; } }; }; diff --git a/include/boost/fusion/container/map/detail/deref_impl.hpp b/include/boost/fusion/container/map/detail/deref_impl.hpp index 359a5dc0..725477bd 100644 --- a/include/boost/fusion/container/map/detail/deref_impl.hpp +++ b/include/boost/fusion/container/map/detail/deref_impl.hpp @@ -36,7 +36,7 @@ namespace boost { namespace fusion { namespace extension static type call(It const& it) { - return at(it.seq->get_data()); + return fusion::at(it.seq->get_data()); } }; }; From f4f93005adee9c74ab90c73f3eea043d463b7a12 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Wed, 6 Jul 2011 18:16:56 +0000 Subject: [PATCH 13/45] Added docs for copy [SVN r72929] --- doc/algorithm.qbk | 89 +++++++++++++++---- doc/fusion.qbk | 1 + doc/html/fusion/adapted.html | 2 +- doc/html/fusion/adapted/adapt_adt.html | 10 +-- doc/html/fusion/adapted/adapt_assoc.html | 10 +-- doc/html/fusion/adapted/adapt_assoc_adt.html | 10 +-- .../adapted/adapt_assoc_struct_named.html | 10 +-- .../fusion/adapted/adapt_assoc_tpl_adt.html | 10 +-- .../adapted/adapt_assoc_tpl_struct.html | 10 +-- doc/html/fusion/adapted/adapt_struct.html | 10 +-- .../fusion/adapted/adapt_struct_named.html | 10 +-- doc/html/fusion/adapted/adapt_tpl_adt.html | 10 +-- doc/html/fusion/adapted/adapt_tpl_struct.html | 10 +-- doc/html/fusion/adapted/array.html | 6 +- doc/html/fusion/adapted/boost__array.html | 8 +- doc/html/fusion/adapted/boost__tuple.html | 8 +- .../fusion/adapted/define_assoc_struct.html | 10 +-- .../adapted/define_assoc_tpl_struct.html | 10 +-- doc/html/fusion/adapted/define_struct.html | 8 +- .../fusion/adapted/define_tpl_struct.html | 10 +-- doc/html/fusion/adapted/mpl_sequence.html | 8 +- doc/html/fusion/adapted/std__pair.html | 8 +- doc/html/fusion/algorithm.html | 14 +-- doc/html/fusion/algorithm/iteration.html | 8 +- .../iteration/functions/accumulate.html | 16 ++-- .../algorithm/iteration/functions/fold.html | 16 ++-- .../iteration/functions/for_each.html | 14 +-- .../iteration/functions/iter_fold.html | 16 ++-- .../iteration/functions/reverse_fold.html | 16 ++-- .../functions/reverse_iter_fold.html | 16 ++-- .../iteration/metafunctions/accumulate.html | 12 +-- .../iteration/metafunctions/fold.html | 12 +-- .../iteration/metafunctions/for_each.html | 12 +-- .../iteration/metafunctions/iter_fold.html | 12 +-- .../iteration/metafunctions/reverse_fold.html | 12 +-- .../metafunctions/reverse_iter_fold.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 | 18 ++-- 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 | 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 | 14 +-- doc/html/fusion/view/repetitive_view.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 | 6 +- 250 files changed, 1476 insertions(+), 1414 deletions(-) diff --git a/doc/algorithm.qbk b/doc/algorithm.qbk index d60df5fc..17084162 100644 --- a/doc/algorithm.qbk +++ b/doc/algorithm.qbk @@ -10,21 +10,23 @@ [heading Lazy Evaluation] -Unlike __mpl__, Fusion algorithms are lazy and non sequence-type -preserving. What does that mean? It means that when you operate on a -sequence through a Fusion algorithm that returns a sequence, the sequence -returned may not be of the same class as the original. This is by design. -Runtime efficiency is given a high priority. Like __mpl__, and unlike -__stl__, fusion algorithms are functional in nature such that algorithms -are non mutating (no side effects). However, due to the high cost of -returning full sequences such as vectors and lists, /Views/ are returned -from Fusion algorithms instead. For example, the __transform__ algorithm -does not actually return a transformed version of the original sequence. -__transform__ returns a __transform_view__. This view holds a reference to -the original sequence plus the transform function. Iteration over the -__transform_view__ will apply the transform function over the sequence -elements on demand. This /lazy/ evaluation scheme allows us to chain as -many algorithms as we want without incurring a high runtime penalty. +Unlike __mpl__, Fusion algorithms are lazy[except for some special cases +such as __for_each__ and __copy__] and non sequence-type preserving. +What does that mean? It means that when you operate on a sequence +through a Fusion algorithm that returns a sequence, the sequence +returned may not be of the same class as the original. This is by +design. Runtime efficiency is given a high priority. Like __mpl__, and +unlike __stl__, fusion algorithms are functional in nature such that +algorithms are non mutating (no side effects). However, due to the high +cost of returning full sequences such as vectors and lists, /Views/ are +returned from Fusion algorithms instead. For example, the __transform__ +algorithm does not actually return a transformed version of the original +sequence. __transform__ returns a __transform_view__. This view holds a +reference to the original sequence plus the transform function. +Iteration over the __transform_view__ will apply the transform function +over the sequence elements on demand. This /lazy/ evaluation scheme +allows us to chain as many algorithms as we want without incurring a +high runtime penalty. [heading Sequence Extension] @@ -46,6 +48,61 @@ sequence type. #include #include +[section Auxiliary] + +The auxiliary algorithms provide the utility algorithms for sequences. + +[heading Header] + + #include + #include + +[section Functions] + +[section copy] + +[heading Description] +Copy a sequence `src` to a sequence `dest`. +It is also used to convert sequence into other. + +[heading Synopsis] + template + void copy(Seq1 const& src, Seq2& dest); + +[table Parameters + [[Parameter][Requirement][Description]] + [[`src`][A model of __forward_sequence__, all elements contained in the `src` sequence should be convertible into the element contained in the `dest` sequence.][Operation's argument]] + [[`dest`][A model of __forward_sequence__, `e2 = e1` is valid expression for each pair of elements `e1` of `src` and `e2` of `dest`.][Operation's argument]] +] + +[heading Expression Semantics] + __copy__(src, dest); + +[*Return type]: `void` + +[*Semantics]: `e2 = e1` for each element `e1` in `src` and `e2` in `dest`. + +[heading Complexity] +Linear, exactly `__result_of_size__::value`. + +[heading Header] + + #include + #include + +[heading Example] + __vector__ vec(1,2); + __list__ ls; + __copy__(vec, ls); + assert(ls == __make_list__(1,2)); + +[endsect] + +[endsect] + +[endsect] + + [section Iteration] The iteration algorithms provide the fundamental algorithms for traversing @@ -75,7 +132,7 @@ the first call) and [arg_desc] of `seq`. > typename result_of_name_macro::type name_macro( Sequence& seq, State const& initial_state, F f); - + template< typename Sequence, typename State, diff --git a/doc/fusion.qbk b/doc/fusion.qbk index 4b9bea03..fd348d57 100644 --- a/doc/fusion.qbk +++ b/doc/fusion.qbk @@ -215,6 +215,7 @@ [def __algorithm__ [link fusion.algorithm Algorithm]] [def __algorithms__ [link fusion.algorithm Algorithms]] +[def __copy__ [link fusion.algorithm.auxiliary.functions.copy `copy`]] [def __fold__ [link fusion.algorithm.iteration.functions.fold `fold`]] [def __result_of_fold__ [link fusion.algorithm.iteration.metafunctions.fold `result_of::fold`]] [def __reverse_fold__ [link fusion.algorithm.iteration.functions.reverse_fold `reverse_fold`]] diff --git a/doc/html/fusion/adapted.html b/doc/html/fusion/adapted.html index 4468e6e6..890248c6 100644 --- a/doc/html/fusion/adapted.html +++ b/doc/html/fusion/adapted.html @@ -60,7 +60,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_adt.html b/doc/html/fusion/adapted/adapt_adt.html
index 5ebe6505..0e9935af 100644
--- a/doc/html/fusion/adapted/adapt_adt.html
+++ b/doc/html/fusion/adapted/adapt_adt.html
@@ -32,7 +32,7 @@
         Access Sequence.
       

- + Synopsis
BOOST_FUSION_ADAPT_ADT(
@@ -43,7 +43,7 @@
     )
 
- + Expression Semantics
@@ -88,14 +88,14 @@ should be the fully namespace qualified name of the class type to be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_adt.hpp>
 #include <boost/fusion/include/adapt_adt.hpp>
 
- + Example
namespace demo
@@ -141,7 +141,7 @@
 std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_assoc.html b/doc/html/fusion/adapted/adapt_assoc.html index 87032848..4bebeaf0 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 adapted.

- + 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_assoc_adt.html b/doc/html/fusion/adapted/adapt_assoc_adt.html
index 584914b1..f3cfe028 100644
--- a/doc/html/fusion/adapted/adapt_assoc_adt.html
+++ b/doc/html/fusion/adapted/adapt_assoc_adt.html
@@ -34,7 +34,7 @@
         Sequence.
       

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_ADT(
@@ -45,7 +45,7 @@
     )
 
- + Expression Semantics
@@ -92,14 +92,14 @@ should be the fully namespace qualified name of the class type to be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_assoc_adt.hpp>
 #include <boost/fusion/include/adapt_assoc_adt.hpp>
 
- + Example
namespace demo
@@ -151,7 +151,7 @@
 std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_assoc_struct_named.html b/doc/html/fusion/adapted/adapt_assoc_struct_named.html index 7d1bd0bd..ad995ea2 100644 --- a/doc/html/fusion/adapted/adapt_assoc_struct_named.html +++ b/doc/html/fusion/adapted/adapt_assoc_struct_named.html @@ -27,7 +27,7 @@ BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED

- + Description

@@ -38,7 +38,7 @@ Sequence. The given struct is adapted using the given name.

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED(
@@ -58,7 +58,7 @@
     )
 
- + Semantics

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

- + Header
#include <boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp>
 #include <boost/fusion/include/adapt_assoc_struct_named.hpp>
 
- + Example
namespace demo
diff --git a/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html b/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
index 12946fe0..241b2755 100644
--- a/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
+++ b/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
@@ -34,7 +34,7 @@
         Sequence.
       

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_TPL_ADT(
@@ -46,7 +46,7 @@
     )
 
- + Expression Semantics
@@ -98,14 +98,14 @@ be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_assoc_adt.hpp>
 #include <boost/fusion/include/adapt_assoc_adt.hpp>
 
- + Example
namespace demo
@@ -159,7 +159,7 @@
 std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html b/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html index 21085f3a..f239ea74 100644 --- a/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html +++ b/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html @@ -27,7 +27,7 @@ BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT

- + Description

@@ -38,7 +38,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT(
@@ -50,7 +50,7 @@
     )
 
- + Semantics

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

- + 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 e33c51c0..7c651ae1 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 adapted.

- + 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/adapt_struct_named.html b/doc/html/fusion/adapted/adapt_struct_named.html
index 73879f59..8e0d1337 100644
--- a/doc/html/fusion/adapted/adapt_struct_named.html
+++ b/doc/html/fusion/adapted/adapt_struct_named.html
@@ -27,7 +27,7 @@
  BOOST_FUSION_ADAPT_STRUCT_NAMED
 
 
- + Description

@@ -37,7 +37,7 @@ Access Sequence. The given struct is adapted using the given name.

- + Synopsis
BOOST_FUSION_ADAPT_STRUCT_NAMED(
@@ -57,7 +57,7 @@
     )
 
- + Semantics

@@ -81,14 +81,14 @@ 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
diff --git a/doc/html/fusion/adapted/adapt_tpl_adt.html b/doc/html/fusion/adapted/adapt_tpl_adt.html
index 71c21f88..148345c9 100644
--- a/doc/html/fusion/adapted/adapt_tpl_adt.html
+++ b/doc/html/fusion/adapted/adapt_tpl_adt.html
@@ -33,7 +33,7 @@
         Access Sequence.
       

- + Synopsis
BOOST_FUSION_ADAPT_ADT(
@@ -45,7 +45,7 @@
     )
 
- + Expression Semantics
@@ -95,14 +95,14 @@ be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_adt.hpp>
 #include <boost/fusion/include/adapt_adt.hpp>
 
- + Example
  namespace demo
@@ -150,7 +150,7 @@
   std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_tpl_struct.html b/doc/html/fusion/adapted/adapt_tpl_struct.html index 39b52eca..7c405dea 100644 --- a/doc/html/fusion/adapted/adapt_tpl_struct.html +++ b/doc/html/fusion/adapted/adapt_tpl_struct.html @@ -27,7 +27,7 @@ BOOST_FUSION_ADAPT_TPL_STRUCT

- + Description

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

- + Synopsis
BOOST_FUSION_ADAPT_TPL_STRUCT(
@@ -49,7 +49,7 @@
     )
 
- + Semantics

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

- + 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/array.html b/doc/html/fusion/adapted/array.html
index 1734da54..1f7dda24 100644
--- a/doc/html/fusion/adapted/array.html
+++ b/doc/html/fusion/adapted/array.html
@@ -32,20 +32,20 @@
         Access Sequence.
       

- + Header
#include <boost/fusion/adapted/array.hpp>
 #include <boost/fusion/include/array.hpp>
 
- + Model of
- + Example
int arr[3] = {1,2,3};
diff --git a/doc/html/fusion/adapted/boost__array.html b/doc/html/fusion/adapted/boost__array.html
index 621b83a5..af687ccc 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/boost_array.hpp>
 #include <boost/fusion/include/boost_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 e2bb1048..2967b1af 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/define_assoc_struct.html b/doc/html/fusion/adapted/define_assoc_struct.html index 612d873f..7d714725 100644 --- a/doc/html/fusion/adapted/define_assoc_struct.html +++ b/doc/html/fusion/adapted/define_assoc_struct.html @@ -27,7 +27,7 @@ BOOST_FUSION_DEFINE_ASSOC_STRUCT

- + Description

@@ -38,7 +38,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_DEFINE_ASSOC_STRUCT(
@@ -68,7 +68,7 @@
 
 
 
- + Expression Semantics
@@ -182,14 +182,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_assoc_struct.hpp>
 #include <boost/fusion/include/define_assoc_struct.hpp>
 
- + Example
namespace keys
diff --git a/doc/html/fusion/adapted/define_assoc_tpl_struct.html b/doc/html/fusion/adapted/define_assoc_tpl_struct.html
index c5156785..da535aa0 100644
--- a/doc/html/fusion/adapted/define_assoc_tpl_struct.html
+++ b/doc/html/fusion/adapted/define_assoc_tpl_struct.html
@@ -27,7 +27,7 @@
  BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT
 
 
- + Description

@@ -38,7 +38,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT(
@@ -73,7 +73,7 @@
 
 
 
- + Expression Semantics
@@ -187,14 +187,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_assoc_struct.hpp>
 #include <boost/fusion/include/define_assoc_struct.hpp>
 
- + Example
namespace keys
diff --git a/doc/html/fusion/adapted/define_struct.html b/doc/html/fusion/adapted/define_struct.html
index 325229e6..4fe809e3 100644
--- a/doc/html/fusion/adapted/define_struct.html
+++ b/doc/html/fusion/adapted/define_struct.html
@@ -33,7 +33,7 @@
         Access Sequence.
       

- + Synopsis
BOOST_FUSION_DEFINE_STRUCT(
@@ -63,7 +63,7 @@
 
 
 
- + Expression Semantics
@@ -174,14 +174,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_struct.hpp>
 #include <boost/fusion/include/define_struct.hpp>
 
- + Example
// demo::employee is a Fusion sequence
diff --git a/doc/html/fusion/adapted/define_tpl_struct.html b/doc/html/fusion/adapted/define_tpl_struct.html
index d0f00a3a..da346147 100644
--- a/doc/html/fusion/adapted/define_tpl_struct.html
+++ b/doc/html/fusion/adapted/define_tpl_struct.html
@@ -27,7 +27,7 @@
  BOOST_FUSION_DEFINE_TPL_STRUCT
 
 
- + Description

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

- + Synopsis
BOOST_FUSION_DEFINE_TPL_STRUCT(
@@ -72,7 +72,7 @@
 
 
 
- + Expression Semantics
@@ -183,14 +183,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_struct.hpp>
 #include <boost/fusion/include/define_struct.hpp>
 
- + Example
// Any instantiated demo::employee is a Fusion sequence
diff --git a/doc/html/fusion/adapted/mpl_sequence.html b/doc/html/fusion/adapted/mpl_sequence.html
index 6bfe4104..ec8884a1 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 2036d626..fe600b87 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 1514211b..53660317 100644 --- a/doc/html/fusion/algorithm.html +++ b/doc/html/fusion/algorithm.html @@ -7,7 +7,7 @@ - + @@ -20,13 +20,15 @@


-PrevUpHomeNext +PrevUpHomeNext
+
Auxiliary
+
Functions
Iteration
Functions
@@ -44,7 +46,7 @@

- + Lazy Evaluation

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

- + Sequence Extension

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

- + Header

#include <boost/fusion/algorithm.hpp>
@@ -105,7 +107,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithm/iteration.html b/doc/html/fusion/algorithm/iteration.html index 229750f3..f2923650 100644 --- a/doc/html/fusion/algorithm/iteration.html +++ b/doc/html/fusion/algorithm/iteration.html @@ -6,7 +6,7 @@ - + @@ -20,7 +20,7 @@
-PrevUpHomeNext +PrevUpHomeNext

@@ -35,7 +35,7 @@ a sequence repeatedly applying an operation to its elements.

- + Header
#include <boost/fusion/algorithm/iteration.hpp>
@@ -53,7 +53,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithm/iteration/functions/accumulate.html b/doc/html/fusion/algorithm/iteration/functions/accumulate.html index b6e5e391..5a168ef5 100644 --- a/doc/html/fusion/algorithm/iteration/functions/accumulate.html +++ b/doc/html/fusion/algorithm/iteration/functions/accumulate.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

@@ -62,7 +62,7 @@ > typename result_of::accumulate<Sequence, State const, F>::type accumulate( Sequence& seq, State const& initial_state, F f); - + template< typename Sequence, typename State, @@ -74,7 +74,7 @@

-

Table 1.41. Parameters

+

Table 1.42. Parameters

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

- + Expression Semantics
@@ -188,7 +188,7 @@

- + Complexity

@@ -200,7 +200,7 @@

- + Header

@@ -213,7 +213,7 @@

- + Example

diff --git a/doc/html/fusion/algorithm/iteration/functions/fold.html b/doc/html/fusion/algorithm/iteration/functions/fold.html index 5860b5fe..76a8f06a 100644 --- a/doc/html/fusion/algorithm/iteration/functions/fold.html +++ b/doc/html/fusion/algorithm/iteration/functions/fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

@@ -62,7 +62,7 @@ > typename result_of::fold<Sequence, State const, F>::type fold( Sequence& seq, State const& initial_state, F f); - + template< typename Sequence, typename State, @@ -74,7 +74,7 @@

-

Table 1.37. Parameters

+

Table 1.38. Parameters

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

- + Expression Semantics
@@ -188,7 +188,7 @@

- + Complexity

@@ -200,7 +200,7 @@

- + Header

@@ -213,7 +213,7 @@

- + Example

diff --git a/doc/html/fusion/algorithm/iteration/functions/for_each.html b/doc/html/fusion/algorithm/iteration/functions/for_each.html index 3fc6faee..9a10f1b9 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 f);
 
-

Table 1.42. Parameters

+

Table 1.43. 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/functions/iter_fold.html b/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
index 382a2486..bef59e01 100644
--- a/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
+++ b/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
@@ -30,7 +30,7 @@
             
             

- + Description

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

- + Synopsis

@@ -62,7 +62,7 @@ > typename result_of::iter_fold<Sequence, State const, F>::type iter_fold( Sequence& seq, State const& initial_state, F f); - + template< typename Sequence, typename State, @@ -74,7 +74,7 @@

-

Table 1.39. Parameters

+

Table 1.40. Parameters

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

- + Expression Semantics
@@ -188,7 +188,7 @@

- + Complexity

@@ -200,7 +200,7 @@

- + Header

@@ -213,7 +213,7 @@

- + Example

diff --git a/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html b/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html index beca986f..c85f3645 100644 --- a/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html +++ b/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

@@ -62,7 +62,7 @@ > typename result_of::reverse_fold<Sequence, State const, F>::type reverse_fold( Sequence& seq, State const& initial_state, F f); - + template< typename Sequence, typename State, @@ -74,7 +74,7 @@

-

Table 1.38. Parameters

+

Table 1.39. Parameters

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

- + Expression Semantics
@@ -188,7 +188,7 @@

- + Complexity

@@ -200,7 +200,7 @@

- + Header

@@ -213,7 +213,7 @@

- + Example

diff --git a/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html b/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html index 52e46e99..2ee86f61 100644 --- a/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html +++ b/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

@@ -62,7 +62,7 @@ > typename result_of::reverse_iter_fold<Sequence, State const, F>::type reverse_iter_fold( Sequence& seq, State const& initial_state, F f); - + template< typename Sequence, typename State, @@ -74,7 +74,7 @@

-

Table 1.40. Parameters

+

Table 1.41. Parameters

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

- + Expression Semantics
@@ -188,7 +188,7 @@

- + Complexity

@@ -200,7 +200,7 @@

- + Header

@@ -213,7 +213,7 @@

- + Example

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html index 2ed26934..6db5a857 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

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

-

Table 1.47. Parameters

+

Table 1.48. Parameters

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

- + Expression Semantics
@@ -172,7 +172,7 @@

- + Complexity

@@ -184,7 +184,7 @@

- + Header

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html index 17232bcc..bc8f920d 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

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

-

Table 1.43. Parameters

+

Table 1.44. Parameters

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

- + Expression Semantics
@@ -172,7 +172,7 @@

- + Complexity

@@ -184,7 +184,7 @@

- + Header

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html b/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html index 2ae79797..d5849745 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.48. Parameters

+

Table 1.49. 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/iteration/metafunctions/iter_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
index f66559a0..51bf1eec 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
@@ -30,7 +30,7 @@
             
             

- + Description

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

- + Synopsis

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

-

Table 1.45. Parameters

+

Table 1.46. Parameters

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

- + Expression Semantics
@@ -172,7 +172,7 @@

- + Complexity

@@ -184,7 +184,7 @@

- + Header

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html index 5e984d62..9ba45b6b 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

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

-

Table 1.44. Parameters

+

Table 1.45. Parameters

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

- + Expression Semantics
@@ -172,7 +172,7 @@

- + Complexity

@@ -184,7 +184,7 @@

- + Header

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html index e312eb17..fd8e4108 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

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

-

Table 1.46. Parameters

+

Table 1.47. Parameters

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

- + Expression Semantics
@@ -172,7 +172,7 @@

- + Complexity

@@ -184,7 +184,7 @@

- + Header

diff --git a/doc/html/fusion/algorithm/query.html b/doc/html/fusion/algorithm/query.html index 5c886ded..d698782b 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 3aa0227d..2cf0a113 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.50. Parameters

+

Table 1.51. Parameters

@@ -116,7 +116,7 @@

- + Expression Semantics
@@ -132,21 +132,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 8564fd7b..5457349f 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.49. Parameters

+

Table 1.50. Parameters

@@ -116,7 +116,7 @@

- + Expression semantics
@@ -132,21 +132,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 e814dd6f..87cf4ca4 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.54. Parameters

+

Table 1.55. Parameters

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

- + Expression Semantics
@@ -128,21 +128,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 b4655690..8df336b3 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.55. Parameters

+

Table 1.56. Parameters

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

- + Expression Semantics
@@ -127,21 +127,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 efb3058a..a131d76b 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.52. Parameters

+

Table 1.53. 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 2111a9b5..76e58d38 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.53. Parameters

+

Table 1.54. 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 446ad1c3..6621c351 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.51. Parameters

+

Table 1.52. Parameters

@@ -116,7 +116,7 @@

- + Expression Semantics
@@ -132,21 +132,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 d115029e..a8965485 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.57. Parameters

+

Table 1.58. 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 2516457e..4e5fa2dd 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.56. Parameters

+

Table 1.57. 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 24ad574e..5e94ff49 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.61. Parameters

+

Table 1.62. 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 fd203b02..cfffc3f0 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.62. Parameters

+

Table 1.63. 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 d0908db6..1d139870 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.59. Parameters

+

Table 1.60. 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 bf50b0ae..c79a5b81 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.60. Parameters

+

Table 1.61. 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 bebbfd7e..607e099e 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.58. Parameters

+

Table 1.59. 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 54ea8f4f..bd60cbcc 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 cab3893c..857758c8 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.72. Parameters

+

Table 1.73. 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 678189d1..3abaf23e 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.73. Parameters

+

Table 1.74. 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 2d70efa5..0ac5bd77 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.74. Parameters

+

Table 1.75. 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 7ec97118..d460b360 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.63. Parameters

+

Table 1.64. 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 3ae5ea83..f7cebe96 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.64. Parameters

+

Table 1.65. 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 125f6edc..f3212adc 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.75. Parameters

+

Table 1.76. Parameters

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

- + Expression Semantics
@@ -150,21 +150,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 6aab7aa0..2765f1bd 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.76. Parameters

+

Table 1.77. 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 38044208..70abfa90 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.77. Parameters

+

Table 1.78. 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 27f90679..605b827e 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.79. Parameters

+

Table 1.80. 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 6857b606..d3dbbf6e 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.80. Parameters

+

Table 1.81. 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 6b2aadb6..f043e45d 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.81. Parameters

+

Table 1.82. Parameters

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

- + Expression Semantics
@@ -129,21 +129,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 f19f5697..52aa2198 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.82. Parameters

+

Table 1.83. Parameters

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

- + Expression Semantics
@@ -130,21 +130,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 00d06b4d..2a7191ce 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.69. Parameters

+

Table 1.70. 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 59867dca..a7981b71 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.70. Parameters

+

Table 1.71. 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 7cf34013..95ed6741 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.67. Parameters

+

Table 1.68. Parameters

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

- + Expression Semantics
@@ -149,21 +149,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 2f87f45c..5cff2036 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.68. Parameters

+

Table 1.69. Parameters

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

- + Expression Semantics
@@ -149,21 +149,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 2bcac8ea..b2520536 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.71. Parameters

+

Table 1.72. 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 c3be16dc..333990f1 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.65. Parameters

+

Table 1.66. Parameters

@@ -118,7 +118,7 @@

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

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

Table 1.66. Parameters

+

Table 1.67. Parameters

@@ -244,21 +244,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 ff0ebea6..c432a93c 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.78. Parameters

+

Table 1.79. 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 83f44f0c..4f93e3b9 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.92. Parameters

+

Table 1.93. 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 632c0634..1ab43aa3 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.93. Parameters

+

Table 1.94. 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 7e498c29..59702068 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.94. Parameters

+

Table 1.95. 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 40b9e0e9..8acd1c46 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.83. Parameter

+

Table 1.84. 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 d31f15d8..5741ab17 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.84. Parameter

+

Table 1.85. 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 1c44deac..b05289ed 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.95. Parameters

+

Table 1.96. Parameters

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

- + Expression Semantics
@@ -151,14 +151,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 6656094d..9af70ef2 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.96. Parameters

+

Table 1.97. 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 646a1086..c0d9b55f 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 28b2cc06..6ea13adb 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.97. Parameters

+

Table 1.98. 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 37008135..66d00989 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.98. Parameters

+

Table 1.99. 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 50eda260..eddb2ea4 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.99. Parameters

+

Table 1.100. Parameters

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

- + Expression Semantics
@@ -132,14 +132,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 0eb931c3..e003c4fe 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.100. Parameters

+

Table 1.101. Parameters

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

- + Expression Semantics
@@ -132,14 +132,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 32a4cc59..2c6a012c 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.89. Parameters

+

Table 1.90. 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 b47f32b7..62b6dba9 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.90. Parameters

+

Table 1.91. 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 4f53cf15..f4bad504 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.87. Parameters

+

Table 1.88. 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 31ce6391..3a9a2fc2 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.88. Parameters

+

Table 1.89. 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 5766b871..2fd55b36 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.91. Parameters

+

Table 1.92. 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 adb976fe..5cb53b51 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.85. Parameters

+

Table 1.86. Parameters

@@ -118,7 +118,7 @@

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

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

Table 1.86. Parameters

+

Table 1.87. Parameters

@@ -255,21 +255,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 f7dc3196..a988a1a4 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 716bcdd4..a938d633 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 612c153f..2ff386f3 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 457adb14..326579bf 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 09bd9094..2404c173 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 0e34d21f..f7018cf0 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 539537a7..a8571fd9 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 70237cff..7004dc78 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 45437403..1546ecda 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 d67977a5..11332f30 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 ee7b1d93..24486807 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 537d0450..f4a6f6d0 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 30c1317e..defdf84e 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 cfe677a1..53ae9b42 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 efbb4daa..6a7192b4 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 3aec6d15..21a3175b 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 bc6aa1e1..4e0a1106 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 0b584559..65464d5c 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 8f8809f2..e95e8f3f 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 c0e00a18..0604cd67 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 a7f41e3d..a917709b 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 aeceb2e9..2540056b 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 cf07d337..81b0977b 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 f4986609..2797f305 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 6560f61f..84a6be62 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 e82b2c24..3777fdb0 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 f1e8905e..747037e0 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 c1af0b26..7bd4e5a9 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 ae495714..f778cf4e 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 981ecada..ecc837fc 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 ebd30900..58f05631 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
@@ -152,7 +152,7 @@
- + Expression Semantics

@@ -259,7 +259,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 f0d81a64..df5dcb1d 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
    @@ -153,7 +153,7 @@
- + Expression Semantics

@@ -237,7 +237,7 @@

- + Example
typedef map<
diff --git a/doc/html/fusion/container/set.html b/doc/html/fusion/container/set.html
index eebe3770..ffebe4ca 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
    @@ -152,7 +152,7 @@
- + Expression Semantics

@@ -236,7 +236,7 @@

- + Example
typedef set<int, float> S;
diff --git a/doc/html/fusion/container/vector.html b/doc/html/fusion/container/vector.html
index f11cc156..14f8f57d 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

@@ -271,7 +271,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 c340df9e..2c4928f9 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
@@ -494,7 +494,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 641abd47..2dbbce31 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.103. Parameters

+

Table 1.104. Parameters

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

-

Table 1.104. Key Expressions

+

Table 1.105. Key Expressions

@@ -442,14 +442,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 e29f04db..a27697e6 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 @@ sequence.

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

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

-

Table 1.101. Parameters

+

Table 1.102. Parameters

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

-

Table 1.102. Key Expressions

+

Table 1.103. Key Expressions

@@ -272,14 +272,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 8172be23..9c309b8a 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 7e1e258e..7d39bdf3 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
@@ -211,14 +211,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 3d3d62b3..715f79d2 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
@@ -202,7 +202,7 @@
- + Example
template<class SeqOfSeqs, class Func>
@@ -239,7 +239,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/fused_procedure.html b/doc/html/fusion/functional/adapters/fused_procedure.html index 70557654..f9eee448 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
@@ -220,7 +220,7 @@
- + Example
template<class SequenceOfSequences, class Func>
@@ -240,7 +240,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/limits.html b/doc/html/fusion/functional/adapters/limits.html index 3dd92650..89a0683c 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 4bbede32..21918693 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
@@ -237,7 +237,7 @@
- + Example
struct fused_incrementer
@@ -264,7 +264,7 @@
 }
 
- + See also
    diff --git a/doc/html/fusion/functional/adapters/unfused_typed.html b/doc/html/fusion/functional/adapters/unfused_typed.html index 0bcb6fbf..651f8e5f 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
@@ -253,7 +253,7 @@
- + Example
struct add_assign // applies operator+=
@@ -321,7 +321,7 @@
 }
 
- + See also
    diff --git a/doc/html/fusion/functional/concepts/callable.html b/doc/html/fusion/functional/concepts/callable.html index 8cbb43a0..7d856142 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 7df57db9..b7b6b2c4 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
@@ -77,7 +77,7 @@
- + Expression requirements
@@ -115,7 +115,7 @@
- + Models
    @@ -128,7 +128,7 @@
- + Examples
& a_free_function
diff --git a/doc/html/fusion/functional/concepts/poly.html b/doc/html/fusion/functional/concepts/poly.html
index 0872ee95..3e341e00 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
@@ -75,7 +75,7 @@
- + Expression requirements
@@ -124,7 +124,7 @@
- + Models
    @@ -139,7 +139,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 2554f0d2..7de747b1 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
@@ -65,7 +65,7 @@
- + Expression requirements
@@ -112,7 +112,7 @@
- + Models
    @@ -124,7 +124,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 697123bf..2381eb72 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 610b94ee..75b9b872 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 f492bcaf..0a4006e9 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 aee6dcfc..cd22ecf4 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 e8012717..6fac3437 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 d47400bd..39ab32c2 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 9c49d660..6eab588a 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 eb91666f..359d5775 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 a5d5aa71..1513fa5a 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 3b60d471..0b625a39 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 b0b9629a..0d16a70e 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 6e37a004..43e6e6b0 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 fb1e19dc..f0804bb5 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 83b079e4..c679190f 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 ca70a02a..a2c29a30 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 46f1a134..859bd721 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 936307fa..95141ab2 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 257fd471..48543206 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 ccad8514..16d747d1 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 c72fec6d..75b058a8 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

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

- + Expression requirements
@@ -237,7 +237,7 @@
- + Meta Expressions
@@ -348,7 +348,7 @@
- + Expression Semantics
@@ -474,7 +474,7 @@
- + Invariants

@@ -498,7 +498,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 3d0c1a73..5517832a 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

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

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

- + Expression requirements
@@ -175,7 +175,7 @@
- + Meta Expressions
@@ -238,7 +238,7 @@
- + Models
    diff --git a/doc/html/fusion/iterator/functions/advance.html b/doc/html/fusion/iterator/functions/advance.html index a48d0175..0500696d 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 4fc794cf..3e14b9d6 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 bb5a21f3..13119ad4 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 4672ae0d..555e6b32 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 1e0cc2aa..b2092453 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 86935f0e..79488d87 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 3facb7b5..36269fa4 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 6d1e3f6b..c2502788 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 26a64826..ad6dbcfb 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 8ef8fa71..d305850e 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 e16bd615..2ee08440 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 5b83e3e0..d771a9fd 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 41d4eb55..b278ca9d 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 283368b6..f7aab2c7 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 b188c2ec..b09caa66 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 23721fd6..6c0849b8 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 6465222c..be966fac 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 f8244c1b..a7158192 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 79361b6a..bac988c5 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 62b75efb..26de573b 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 65c806e2..beeb0af1 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 67c8ad14..1fef3a67 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

@@ -226,7 +226,7 @@ details.

- + adt_attribute_proxy

@@ -458,7 +458,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 68d5c468..36bc0893 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 d4269ad6..60dcea39 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 7f118391..e4a310de 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 Organization 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 f8b73022..e0aaab90 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 10677d14..52c0139a 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 a14dae74..d485d3cc 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
@@ -247,7 +247,7 @@

- + Expression Semantics
@@ -302,7 +302,7 @@
- + Models
    diff --git a/doc/html/fusion/sequence/concepts/bidirectional_sequence.html b/doc/html/fusion/sequence/concepts/bidirectional_sequence.html index 50dc3ed6..444c32f1 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 844528b1..9d8b1a08 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 7de8fa51..fb960f7a 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 6bf8aa82..eec1c5e2 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 ddf9e4e7..de6d482a 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 6017b650..c5cd10e6 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 9f850ce9..ad7e07ef 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 12e5ff46..45f6aadf 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 c7160df0..11d536b5 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 9d2008c5..35f3c870 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 cfd61b59..b37b5bf7 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 fab3f3ae..4a263c7a 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 bd4dfd5d..d26971a2 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 9d9a3c5c..dbee2ce2 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 187c5d48..80e3b5c4 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 11de5684..b1ec9b2e 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 a7ca3339..fde81023 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 cc8c3f53..cc478258 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 a3d2d40a..470b1107 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 b9ad3609..13372e67 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 934edce6..f4b3a864 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 2b9439b6..a6bca97f 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 04bbb07b..91c91aac 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 08881ba8..3f29d5c1 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 0347ee2b..10992f08 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 e2af4da7..045fe71a 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 a64f0559..68180a64 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 44520c30..4e5d1424 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 5d019771..b547e919 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 dd617dae..909f69b3 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 097ee838..535bcdb9 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 ccc54b5b..47ae73dd 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 96f885af..93713d72 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 3ac7edf7..94c60c14 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 0c20fda7..10ace0e2 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 2a440351..d1ed53f5 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 8162faa8..9b0a0261 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 d7673ea9..1a900f78 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 2651eb86..8d2d9c1e 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 86b254be..e2906776 100644
--- a/doc/html/fusion/support/category_of.html
+++ b/doc/html/fusion/support/category_of.html
@@ -27,7 +27,7 @@
 category_of
 
 
- + Description

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

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

- + Header
#include <boost/fusion/support/category_of.hpp>
 #include <boost/fusion/include/category_of.hpp>
 
- + Example
using boost::is_base_of;
diff --git a/doc/html/fusion/support/deduce.html b/doc/html/fusion/support/deduce.html
index 28c83695..d9aa8e5a 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 1aee46cf..82521040 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 0c7a59f2..7440bf9a 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 a4488916..e6684000 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 a8e345a7..cb514783 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
@@ -137,7 +137,7 @@
- + Expression Semantics
@@ -317,14 +317,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 8049d096..f9b7e3be 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 0ade6a28..7fafe081 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 e8c0fbd2..3962998f 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 dd4c12ba..115ee3df 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 d7cd7e7b..f5239f75 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 618517e6..bcf00cce 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 58fe4bdc..7935e0b2 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 bf02027d..5e4a53ca 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 7ec19052..ab04115e 100644
--- a/doc/html/fusion/view.html
+++ b/doc/html/fusion/view.html
@@ -47,7 +47,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 62e81583..08279207 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 c6a61b59..a3d65a4c 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
    @@ -153,7 +153,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 49282f74..7806bc2c 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
    @@ -148,7 +148,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 f29b7776..841a03ee 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
  • @@ -163,7 +163,7 @@
- + Expression Semantics

@@ -239,7 +239,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/repetitive_view.html b/doc/html/fusion/view/repetitive_view.html
index 3389941a..5afa6d84 100644
--- a/doc/html/fusion/view/repetitive_view.html
+++ b/doc/html/fusion/view/repetitive_view.html
@@ -27,7 +27,7 @@
 repetitive_view
 
 
- + Description

@@ -40,21 +40,21 @@ is not.

- + Header
#include <boost/fusion/view/repetitive_view.hpp>
 #include <boost/fusion/include/repetitive_view.hpp>
 
- + Synopsis
template <typename Sequence>
 struct repetitive_view;
 
- + Template parameters
@@ -117,7 +117,7 @@
- + Expression Semantics
@@ -238,7 +238,7 @@
- + Result Type Expressions
@@ -263,7 +263,7 @@
- + Example
typedef vector<int, char, double> vec1;
diff --git a/doc/html/fusion/view/reverse_view.html b/doc/html/fusion/view/reverse_view.html
index f6f26463..299d7dc4 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
    @@ -129,7 +129,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 00c2dc8b..96621d84 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
@@ -111,7 +111,7 @@
- + Expression Semantics

@@ -182,7 +182,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 78542659..8194d224 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
@@ -179,7 +179,7 @@
- + Model of
  • @@ -234,7 +234,7 @@
- + Expression Semantics
@@ -329,7 +329,7 @@
- + Example
struct square
diff --git a/doc/html/fusion/view/zip_view.html b/doc/html/fusion/view/zip_view.html
index 9d6fb9be..37946f57 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
  • @@ -126,7 +126,7 @@
- + Expression Semantics

@@ -197,7 +197,7 @@

- + Example
typedef vector<int,int> vec1;
diff --git a/doc/html/index.html b/doc/html/index.html
index 441572b0..e203829c 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)

@@ -182,6 +182,8 @@
Algorithm
+
Auxiliary
+
Functions
Iteration
Functions
@@ -261,7 +263,7 @@
- +

Last revised: April 06, 2011 at 04:49:50 GMT

Last revised: July 06, 2011 at 18:12:21 GMT


From 0a54764a6ad4409675c8dcfe00dea132a97ea3ef Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Wed, 6 Jul 2011 18:29:02 +0000 Subject: [PATCH 14/45] Added docs for copy [SVN r72930] --- doc/algorithm.qbk | 35 +++++++++--------- doc/html/fusion/adapted.html | 2 +- doc/html/fusion/adapted/adapt_adt.html | 10 +++--- doc/html/fusion/adapted/adapt_assoc.html | 10 +++--- doc/html/fusion/adapted/adapt_assoc_adt.html | 10 +++--- .../adapted/adapt_assoc_struct_named.html | 10 +++--- .../fusion/adapted/adapt_assoc_tpl_adt.html | 10 +++--- .../adapted/adapt_assoc_tpl_struct.html | 10 +++--- doc/html/fusion/adapted/adapt_struct.html | 10 +++--- .../fusion/adapted/adapt_struct_named.html | 10 +++--- doc/html/fusion/adapted/adapt_tpl_adt.html | 10 +++--- doc/html/fusion/adapted/adapt_tpl_struct.html | 10 +++--- doc/html/fusion/adapted/array.html | 6 ++-- doc/html/fusion/adapted/boost__array.html | 8 ++--- doc/html/fusion/adapted/boost__tuple.html | 8 ++--- .../fusion/adapted/define_assoc_struct.html | 10 +++--- .../adapted/define_assoc_tpl_struct.html | 10 +++--- doc/html/fusion/adapted/define_struct.html | 8 ++--- .../fusion/adapted/define_tpl_struct.html | 10 +++--- doc/html/fusion/adapted/mpl_sequence.html | 8 ++--- doc/html/fusion/adapted/std__pair.html | 8 ++--- doc/html/fusion/algorithm.html | 36 +++++++++++++------ 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/functions/iter_fold.html | 14 ++++---- .../iteration/functions/reverse_fold.html | 14 ++++---- .../functions/reverse_iter_fold.html | 14 ++++---- .../iteration/metafunctions/accumulate.html | 12 +++---- .../iteration/metafunctions/fold.html | 12 +++---- .../iteration/metafunctions/for_each.html | 12 +++---- .../iteration/metafunctions/iter_fold.html | 12 +++---- .../iteration/metafunctions/reverse_fold.html | 12 +++---- .../metafunctions/reverse_iter_fold.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 | 18 +++++----- 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 | 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 | 14 ++++---- doc/html/fusion/view/repetitive_view.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 +-- 249 files changed, 1427 insertions(+), 1412 deletions(-) diff --git a/doc/algorithm.qbk b/doc/algorithm.qbk index 17084162..e1346978 100644 --- a/doc/algorithm.qbk +++ b/doc/algorithm.qbk @@ -10,23 +10,23 @@ [heading Lazy Evaluation] -Unlike __mpl__, Fusion algorithms are lazy[except for some special cases -such as __for_each__ and __copy__] and non sequence-type preserving. -What does that mean? It means that when you operate on a sequence -through a Fusion algorithm that returns a sequence, the sequence -returned may not be of the same class as the original. This is by -design. Runtime efficiency is given a high priority. Like __mpl__, and -unlike __stl__, fusion algorithms are functional in nature such that -algorithms are non mutating (no side effects). However, due to the high -cost of returning full sequences such as vectors and lists, /Views/ are -returned from Fusion algorithms instead. For example, the __transform__ -algorithm does not actually return a transformed version of the original -sequence. __transform__ returns a __transform_view__. This view holds a -reference to the original sequence plus the transform function. -Iteration over the __transform_view__ will apply the transform function -over the sequence elements on demand. This /lazy/ evaluation scheme -allows us to chain as many algorithms as we want without incurring a -high runtime penalty. +Unlike __mpl__, Fusion algorithms are lazy[footnote Except for some +special cases such as __for_each__ and __copy__ which are inherently +imperative algorithms.] and non sequence-type preserving [footnote What +does that mean? It means that when you operate on a sequence through a +Fusion algorithm that returns a sequence, the sequence returned may not +be of the same class as the original]. This is by design. Runtime +efficiency is given a high priority. Like __mpl__, and unlike __stl__, +fusion algorithms are mostly functional in nature such that algorithms +are non mutating (no side effects). However, due to the high cost of +returning full sequences such as vectors and lists, /Views/ are returned +from Fusion algorithms instead. For example, the __transform__ algorithm +does not actually return a transformed version of the original sequence. +__transform__ returns a __transform_view__. This view holds a reference +to the original sequence plus the transform function. Iteration over the +__transform_view__ will apply the transform function over the sequence +elements on demand. This /lazy/ evaluation scheme allows us to chain as +many algorithms as we want without incurring a high runtime penalty. [heading Sequence Extension] @@ -39,6 +39,7 @@ the original sequence `s` and the value `x`. Functions that were once sequence specific and need to be implemented N times over N different sequences are now implemented only once. That is to say that Fusion sequences are cheaply extensible. + To regain the original sequence, __conversion__ functions are provided. You may use one of the __conversion__ functions to convert back to the original sequence type. diff --git a/doc/html/fusion/adapted.html b/doc/html/fusion/adapted.html index 890248c6..0dbccf29 100644 --- a/doc/html/fusion/adapted.html +++ b/doc/html/fusion/adapted.html @@ -60,7 +60,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_adt.html b/doc/html/fusion/adapted/adapt_adt.html
index 0e9935af..79378220 100644
--- a/doc/html/fusion/adapted/adapt_adt.html
+++ b/doc/html/fusion/adapted/adapt_adt.html
@@ -32,7 +32,7 @@
         Access Sequence.
       

- + Synopsis
BOOST_FUSION_ADAPT_ADT(
@@ -43,7 +43,7 @@
     )
 
- + Expression Semantics
@@ -88,14 +88,14 @@ should be the fully namespace qualified name of the class type to be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_adt.hpp>
 #include <boost/fusion/include/adapt_adt.hpp>
 
- + Example
namespace demo
@@ -141,7 +141,7 @@
 std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_assoc.html b/doc/html/fusion/adapted/adapt_assoc.html index 4bebeaf0..f49d2a6a 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 adapted.

- + 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_assoc_adt.html b/doc/html/fusion/adapted/adapt_assoc_adt.html
index f3cfe028..8e36e112 100644
--- a/doc/html/fusion/adapted/adapt_assoc_adt.html
+++ b/doc/html/fusion/adapted/adapt_assoc_adt.html
@@ -34,7 +34,7 @@
         Sequence.
       

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_ADT(
@@ -45,7 +45,7 @@
     )
 
- + Expression Semantics
@@ -92,14 +92,14 @@ should be the fully namespace qualified name of the class type to be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_assoc_adt.hpp>
 #include <boost/fusion/include/adapt_assoc_adt.hpp>
 
- + Example
namespace demo
@@ -151,7 +151,7 @@
 std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_assoc_struct_named.html b/doc/html/fusion/adapted/adapt_assoc_struct_named.html index ad995ea2..f65e53f0 100644 --- a/doc/html/fusion/adapted/adapt_assoc_struct_named.html +++ b/doc/html/fusion/adapted/adapt_assoc_struct_named.html @@ -27,7 +27,7 @@ BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED

- + Description

@@ -38,7 +38,7 @@ Sequence. The given struct is adapted using the given name.

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED(
@@ -58,7 +58,7 @@
     )
 
- + Semantics

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

- + Header
#include <boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp>
 #include <boost/fusion/include/adapt_assoc_struct_named.hpp>
 
- + Example
namespace demo
diff --git a/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html b/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
index 241b2755..00311571 100644
--- a/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
+++ b/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
@@ -34,7 +34,7 @@
         Sequence.
       

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_TPL_ADT(
@@ -46,7 +46,7 @@
     )
 
- + Expression Semantics
@@ -98,14 +98,14 @@ be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_assoc_adt.hpp>
 #include <boost/fusion/include/adapt_assoc_adt.hpp>
 
- + Example
namespace demo
@@ -159,7 +159,7 @@
 std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html b/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html index f239ea74..99ae67b9 100644 --- a/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html +++ b/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html @@ -27,7 +27,7 @@ BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT

- + Description

@@ -38,7 +38,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT(
@@ -50,7 +50,7 @@
     )
 
- + Semantics

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

- + 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 7c651ae1..a0cabda7 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 adapted.

- + 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/adapt_struct_named.html b/doc/html/fusion/adapted/adapt_struct_named.html
index 8e0d1337..3ce6554a 100644
--- a/doc/html/fusion/adapted/adapt_struct_named.html
+++ b/doc/html/fusion/adapted/adapt_struct_named.html
@@ -27,7 +27,7 @@
  BOOST_FUSION_ADAPT_STRUCT_NAMED
 
 
- + Description

@@ -37,7 +37,7 @@ Access Sequence. The given struct is adapted using the given name.

- + Synopsis
BOOST_FUSION_ADAPT_STRUCT_NAMED(
@@ -57,7 +57,7 @@
     )
 
- + Semantics

@@ -81,14 +81,14 @@ 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
diff --git a/doc/html/fusion/adapted/adapt_tpl_adt.html b/doc/html/fusion/adapted/adapt_tpl_adt.html
index 148345c9..af15fcf3 100644
--- a/doc/html/fusion/adapted/adapt_tpl_adt.html
+++ b/doc/html/fusion/adapted/adapt_tpl_adt.html
@@ -33,7 +33,7 @@
         Access Sequence.
       

- + Synopsis
BOOST_FUSION_ADAPT_ADT(
@@ -45,7 +45,7 @@
     )
 
- + Expression Semantics
@@ -95,14 +95,14 @@ be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_adt.hpp>
 #include <boost/fusion/include/adapt_adt.hpp>
 
- + Example
  namespace demo
@@ -150,7 +150,7 @@
   std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_tpl_struct.html b/doc/html/fusion/adapted/adapt_tpl_struct.html index 7c405dea..2a52e87b 100644 --- a/doc/html/fusion/adapted/adapt_tpl_struct.html +++ b/doc/html/fusion/adapted/adapt_tpl_struct.html @@ -27,7 +27,7 @@ BOOST_FUSION_ADAPT_TPL_STRUCT

- + Description

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

- + Synopsis
BOOST_FUSION_ADAPT_TPL_STRUCT(
@@ -49,7 +49,7 @@
     )
 
- + Semantics

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

- + 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/array.html b/doc/html/fusion/adapted/array.html
index 1f7dda24..76771829 100644
--- a/doc/html/fusion/adapted/array.html
+++ b/doc/html/fusion/adapted/array.html
@@ -32,20 +32,20 @@
         Access Sequence.
       

- + Header
#include <boost/fusion/adapted/array.hpp>
 #include <boost/fusion/include/array.hpp>
 
- + Model of
- + Example
int arr[3] = {1,2,3};
diff --git a/doc/html/fusion/adapted/boost__array.html b/doc/html/fusion/adapted/boost__array.html
index af687ccc..d1e06713 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/boost_array.hpp>
 #include <boost/fusion/include/boost_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 2967b1af..28f954dc 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/define_assoc_struct.html b/doc/html/fusion/adapted/define_assoc_struct.html index 7d714725..3f95d087 100644 --- a/doc/html/fusion/adapted/define_assoc_struct.html +++ b/doc/html/fusion/adapted/define_assoc_struct.html @@ -27,7 +27,7 @@ BOOST_FUSION_DEFINE_ASSOC_STRUCT

- + Description

@@ -38,7 +38,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_DEFINE_ASSOC_STRUCT(
@@ -68,7 +68,7 @@
 
 
 
- + Expression Semantics
@@ -182,14 +182,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_assoc_struct.hpp>
 #include <boost/fusion/include/define_assoc_struct.hpp>
 
- + Example
namespace keys
diff --git a/doc/html/fusion/adapted/define_assoc_tpl_struct.html b/doc/html/fusion/adapted/define_assoc_tpl_struct.html
index da535aa0..c1279e74 100644
--- a/doc/html/fusion/adapted/define_assoc_tpl_struct.html
+++ b/doc/html/fusion/adapted/define_assoc_tpl_struct.html
@@ -27,7 +27,7 @@
  BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT
 
 
- + Description

@@ -38,7 +38,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT(
@@ -73,7 +73,7 @@
 
 
 
- + Expression Semantics
@@ -187,14 +187,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_assoc_struct.hpp>
 #include <boost/fusion/include/define_assoc_struct.hpp>
 
- + Example
namespace keys
diff --git a/doc/html/fusion/adapted/define_struct.html b/doc/html/fusion/adapted/define_struct.html
index 4fe809e3..efb11e05 100644
--- a/doc/html/fusion/adapted/define_struct.html
+++ b/doc/html/fusion/adapted/define_struct.html
@@ -33,7 +33,7 @@
         Access Sequence.
       

- + Synopsis
BOOST_FUSION_DEFINE_STRUCT(
@@ -63,7 +63,7 @@
 
 
 
- + Expression Semantics
@@ -174,14 +174,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_struct.hpp>
 #include <boost/fusion/include/define_struct.hpp>
 
- + Example
// demo::employee is a Fusion sequence
diff --git a/doc/html/fusion/adapted/define_tpl_struct.html b/doc/html/fusion/adapted/define_tpl_struct.html
index da346147..b64348cf 100644
--- a/doc/html/fusion/adapted/define_tpl_struct.html
+++ b/doc/html/fusion/adapted/define_tpl_struct.html
@@ -27,7 +27,7 @@
  BOOST_FUSION_DEFINE_TPL_STRUCT
 
 
- + Description

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

- + Synopsis
BOOST_FUSION_DEFINE_TPL_STRUCT(
@@ -72,7 +72,7 @@
 
 
 
- + Expression Semantics
@@ -183,14 +183,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_struct.hpp>
 #include <boost/fusion/include/define_struct.hpp>
 
- + Example
// Any instantiated demo::employee is a Fusion sequence
diff --git a/doc/html/fusion/adapted/mpl_sequence.html b/doc/html/fusion/adapted/mpl_sequence.html
index ec8884a1..6a743dca 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 fe600b87..3c36a4a9 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 53660317..b38e5479 100644 --- a/doc/html/fusion/algorithm.html +++ b/doc/html/fusion/algorithm.html @@ -46,18 +46,17 @@

- + Lazy Evaluation

Unlike MPL, Fusion - algorithms are lazy and non sequence-type preserving. What does that mean? - It means that when you operate on a sequence through a Fusion algorithm that - returns a sequence, the sequence returned may not be of the same class as the - original. This is by design. Runtime efficiency is given a high priority. Like - MPL, and unlike - STL, - fusion algorithms are functional in nature such that algorithms are non mutating + algorithms are lazy + [10] + and non sequence-type preserving + [11] + . This is by design. Runtime efficiency is given a high priority. Like MPL, and unlike STL, fusion + algorithms are mostly functional in nature such that algorithms are non mutating (no side effects). However, due to the high cost of returning full sequences such as vectors and lists, Views are returned from Fusion algorithms instead. For example, the transform algorithm does not actually @@ -69,7 +68,7 @@ as we want without incurring a high runtime penalty.

- + Sequence Extension

@@ -84,17 +83,32 @@ and the value x. Functions that were once sequence specific and need to be implemented N times over N different sequences are now implemented only once. That is to say that Fusion - sequences are cheaply extensible. To regain the original sequence, Conversion + sequences are cheaply extensible. +

+

+ To regain the original sequence, Conversion functions are provided. You may use one of the Conversion functions to convert back to the original sequence type.

- + Header

#include <boost/fusion/algorithm.hpp>
 #include <boost/fusion/include/algorithm.hpp>
 
+
+

+

[10] + Except for some special cases such as for_each and copy which are inherently imperative + algorithms. +

+

[11] + What does that mean? It means that when you operate on a sequence through + a Fusion algorithm that returns a sequence, the sequence returned may not + be of the same class as the original +

+
diff --git a/doc/html/fusion/algorithm/iteration.html b/doc/html/fusion/algorithm/iteration.html index f2923650..419aaf20 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 5a168ef5..27e31c8a 100644
--- a/doc/html/fusion/algorithm/iteration/functions/accumulate.html
+++ b/doc/html/fusion/algorithm/iteration/functions/accumulate.html
@@ -30,7 +30,7 @@
             
             

- + Description

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

- + Synopsis

@@ -74,7 +74,7 @@

-

Table 1.42. Parameters

+

Table 1.42. Parameters

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

- + Expression Semantics
@@ -188,7 +188,7 @@

- + Complexity

@@ -200,7 +200,7 @@

- + Header

@@ -213,7 +213,7 @@

- + Example

diff --git a/doc/html/fusion/algorithm/iteration/functions/fold.html b/doc/html/fusion/algorithm/iteration/functions/fold.html index 76a8f06a..63382db6 100644 --- a/doc/html/fusion/algorithm/iteration/functions/fold.html +++ b/doc/html/fusion/algorithm/iteration/functions/fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

@@ -74,7 +74,7 @@

-

Table 1.38. Parameters

+

Table 1.38. Parameters

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

- + Expression Semantics
@@ -188,7 +188,7 @@

- + Complexity

@@ -200,7 +200,7 @@

- + Header

@@ -213,7 +213,7 @@

- + Example

diff --git a/doc/html/fusion/algorithm/iteration/functions/for_each.html b/doc/html/fusion/algorithm/iteration/functions/for_each.html index 9a10f1b9..9d6c5da8 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 f);
 
-

Table 1.43. Parameters

+

Table 1.43. 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/functions/iter_fold.html b/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
index bef59e01..10ee2aa1 100644
--- a/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
+++ b/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
@@ -30,7 +30,7 @@
             
             

- + Description

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

- + Synopsis

@@ -74,7 +74,7 @@

-

Table 1.40. Parameters

+

Table 1.40. Parameters

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

- + Expression Semantics
@@ -188,7 +188,7 @@

- + Complexity

@@ -200,7 +200,7 @@

- + Header

@@ -213,7 +213,7 @@

- + Example

diff --git a/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html b/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html index c85f3645..88e691d1 100644 --- a/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html +++ b/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

@@ -74,7 +74,7 @@

-

Table 1.39. Parameters

+

Table 1.39. Parameters

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

- + Expression Semantics
@@ -188,7 +188,7 @@

- + Complexity

@@ -200,7 +200,7 @@

- + Header

@@ -213,7 +213,7 @@

- + Example

diff --git a/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html b/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html index 2ee86f61..c2487da7 100644 --- a/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html +++ b/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

@@ -74,7 +74,7 @@

-

Table 1.41. Parameters

+

Table 1.41. Parameters

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

- + Expression Semantics
@@ -188,7 +188,7 @@

- + Complexity

@@ -200,7 +200,7 @@

- + Header

@@ -213,7 +213,7 @@

- + Example

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html index 6db5a857..ae3863dc 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

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

-

Table 1.48. Parameters

+

Table 1.48. Parameters

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

- + Expression Semantics
@@ -172,7 +172,7 @@

- + Complexity

@@ -184,7 +184,7 @@

- + Header

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html index bc8f920d..611e7d1f 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

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

-

Table 1.44. Parameters

+

Table 1.44. Parameters

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

- + Expression Semantics
@@ -172,7 +172,7 @@

- + Complexity

@@ -184,7 +184,7 @@

- + Header

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html b/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html index d5849745..16925792 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.49. Parameters

+

Table 1.49. 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/iteration/metafunctions/iter_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
index 51bf1eec..92a475dc 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
@@ -30,7 +30,7 @@
             
             

- + Description

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

- + Synopsis

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

-

Table 1.46. Parameters

+

Table 1.46. Parameters

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

- + Expression Semantics
@@ -172,7 +172,7 @@

- + Complexity

@@ -184,7 +184,7 @@

- + Header

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html index 9ba45b6b..53668e3e 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

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

-

Table 1.45. Parameters

+

Table 1.45. Parameters

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

- + Expression Semantics
@@ -172,7 +172,7 @@

- + Complexity

@@ -184,7 +184,7 @@

- + Header

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html index fd8e4108..2de292af 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html @@ -30,7 +30,7 @@

- + Description

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

- + Synopsis

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

-

Table 1.47. Parameters

+

Table 1.47. Parameters

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

- + Expression Semantics
@@ -172,7 +172,7 @@

- + Complexity

@@ -184,7 +184,7 @@

- + Header

diff --git a/doc/html/fusion/algorithm/query.html b/doc/html/fusion/algorithm/query.html index d698782b..abd788e2 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 2cf0a113..4ac32139 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.51. Parameters

+

Table 1.51. Parameters

@@ -116,7 +116,7 @@

- + Expression Semantics
@@ -132,21 +132,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 5457349f..82e4d4c6 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.50. Parameters

+

Table 1.50. Parameters

@@ -116,7 +116,7 @@

- + Expression semantics
@@ -132,21 +132,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 87cf4ca4..7bec68dd 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.55. Parameters

+

Table 1.55. Parameters

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

- + Expression Semantics
@@ -128,21 +128,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 8df336b3..7f68b98c 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.56. Parameters

+

Table 1.56. Parameters

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

- + Expression Semantics
@@ -127,21 +127,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 a131d76b..58fc3cea 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.53. Parameters

+

Table 1.53. 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 76e58d38..c9cd859c 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.54. Parameters

+

Table 1.54. 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 6621c351..498339e5 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.52. Parameters

+

Table 1.52. Parameters

@@ -116,7 +116,7 @@

- + Expression Semantics
@@ -132,21 +132,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 a8965485..693cdfd2 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.58. Parameters

+

Table 1.58. 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 4e5fa2dd..912d0630 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.57. Parameters

+

Table 1.57. 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 5e94ff49..ecab141c 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.62. Parameters

+

Table 1.62. 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 cfffc3f0..669848e3 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.63. Parameters

+

Table 1.63. 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 1d139870..b293ca99 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.60. Parameters

+

Table 1.60. 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 c79a5b81..2cc65029 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.61. Parameters

+

Table 1.61. 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 607e099e..4f7569d3 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.59. Parameters

+

Table 1.59. 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 bd60cbcc..84b47b7e 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 857758c8..7e218fa9 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.73. Parameters

+

Table 1.73. 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 3abaf23e..c4dff429 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.74. Parameters

+

Table 1.74. 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 0ac5bd77..5e325928 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.75. Parameters

+

Table 1.75. 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 d460b360..81b93812 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.64. Parameters

+

Table 1.64. 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 f7cebe96..e86b3933 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.65. Parameters

+

Table 1.65. 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 f3212adc..2e7958c5 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.76. Parameters

+

Table 1.76. Parameters

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

- + Expression Semantics
@@ -150,21 +150,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 2765f1bd..1fd76288 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.77. Parameters

+

Table 1.77. 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 70abfa90..2b7159d9 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.78. Parameters

+

Table 1.78. 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 605b827e..db1c16a2 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.80. Parameters

+

Table 1.80. 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 d3dbbf6e..edddb5ab 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.81. Parameters

+

Table 1.81. 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 f043e45d..fbc1bd58 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.82. Parameters

+

Table 1.82. Parameters

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

- + Expression Semantics
@@ -129,21 +129,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 52aa2198..853f8352 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.83. Parameters

+

Table 1.83. Parameters

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

- + Expression Semantics
@@ -130,21 +130,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 2a7191ce..5d192f1d 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.70. Parameters

+

Table 1.70. 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 a7981b71..3fc8936b 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.71. Parameters

+

Table 1.71. 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 95ed6741..653c3c61 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.68. Parameters

+

Table 1.68. Parameters

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

- + Expression Semantics
@@ -149,21 +149,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 5cff2036..2bbaa865 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.69. Parameters

+

Table 1.69. Parameters

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

- + Expression Semantics
@@ -149,21 +149,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 b2520536..40a6991e 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.72. Parameters

+

Table 1.72. 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 333990f1..9b043708 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.66. Parameters

+

Table 1.66. Parameters

@@ -118,7 +118,7 @@

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

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

Table 1.67. Parameters

+

Table 1.67. Parameters

@@ -244,21 +244,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 c432a93c..5b4131e9 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.79. Parameters

+

Table 1.79. 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 4f93e3b9..256c42c0 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.93. Parameters

+

Table 1.93. 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 1ab43aa3..78530cb0 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.94. Parameters

+

Table 1.94. 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 59702068..3cd47c6b 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.95. Parameters

+

Table 1.95. 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 8acd1c46..53bdc0f5 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.84. Parameter

+

Table 1.84. 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 5741ab17..cf4945a1 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.85. Parameter

+

Table 1.85. 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 b05289ed..de7a2a9b 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.96. Parameters

+

Table 1.96. Parameters

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

- + Expression Semantics
@@ -151,14 +151,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 9af70ef2..950c3e5f 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.97. Parameters

+

Table 1.97. 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 c0d9b55f..b5f185c0 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 6ea13adb..83f270b1 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.98. Parameters

+

Table 1.98. 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 66d00989..def63af6 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.99. Parameters

+

Table 1.99. 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 eddb2ea4..c1ef4eea 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.100. Parameters

+

Table 1.100. Parameters

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

- + Expression Semantics
@@ -132,14 +132,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 e003c4fe..6db21dec 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.101. Parameters

+

Table 1.101. Parameters

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

- + Expression Semantics
@@ -132,14 +132,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 2c6a012c..604b42f6 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.90. Parameters

+

Table 1.90. 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 62b6dba9..c4c171a9 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.91. Parameters

+

Table 1.91. 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 f4bad504..a54e4966 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.88. Parameters

+

Table 1.88. 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 3a9a2fc2..548eb6ec 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.89. Parameters

+

Table 1.89. 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 2fd55b36..80066844 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.92. Parameters

+

Table 1.92. 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 5cb53b51..35ae0aa4 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.86. Parameters

+

Table 1.86. Parameters

@@ -118,7 +118,7 @@

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

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

Table 1.87. Parameters

+

Table 1.87. Parameters

@@ -255,21 +255,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 a988a1a4..002d89ff 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 a938d633..d4384437 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 2ff386f3..173ad208 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 326579bf..67a4aec2 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 2404c173..0d6ec598 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 f7018cf0..e15630e4 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 a8571fd9..bc78765f 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 7004dc78..14c9d27e 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 1546ecda..68e01649 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 11332f30..12d616d2 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 24486807..600c4360 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 f4a6f6d0..a8c955ff 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 defdf84e..9932c8a4 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 53ae9b42..bf1f316e 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 6a7192b4..c43dd32b 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 21a3175b..7b30598f 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 4e0a1106..b7525596 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 65464d5c..4fdca06b 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 e95e8f3f..b1b5c128 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 0604cd67..0bc3cc9a 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 a917709b..1816e20d 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 2540056b..70e610e3 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 81b0977b..b1c92917 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 2797f305..404661af 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 84a6be62..6965b729 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 3777fdb0..de70f19b 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 747037e0..cdb47a8a 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 7bd4e5a9..aa677be7 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 f778cf4e..e7a8bd34 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 ecc837fc..37cd6d9b 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 58f05631..e2e1df51 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
@@ -152,7 +152,7 @@
- + Expression Semantics

@@ -259,7 +259,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 df5dcb1d..87de7a4d 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
    @@ -153,7 +153,7 @@
- + Expression Semantics

@@ -237,7 +237,7 @@

- + Example
typedef map<
diff --git a/doc/html/fusion/container/set.html b/doc/html/fusion/container/set.html
index ffebe4ca..52e35f6d 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
    @@ -152,7 +152,7 @@
- + Expression Semantics

@@ -236,7 +236,7 @@

- + Example
typedef set<int, float> S;
diff --git a/doc/html/fusion/container/vector.html b/doc/html/fusion/container/vector.html
index 14f8f57d..d8b9d22b 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

@@ -271,7 +271,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 2c4928f9..a041fdfe 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
@@ -494,7 +494,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 2dbbce31..c0f32c73 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.104. Parameters

+

Table 1.104. Parameters

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

-

Table 1.105. Key Expressions

+

Table 1.105. Key Expressions

@@ -442,14 +442,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 a27697e6..ef9a4bc6 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 @@ sequence.

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

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

-

Table 1.102. Parameters

+

Table 1.102. Parameters

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

-

Table 1.103. Key Expressions

+

Table 1.103. Key Expressions

@@ -272,14 +272,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 9c309b8a..c0756573 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 7d39bdf3..5e531402 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
@@ -211,14 +211,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 715f79d2..f39070f9 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
@@ -202,7 +202,7 @@
- + Example
template<class SeqOfSeqs, class Func>
@@ -239,7 +239,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/fused_procedure.html b/doc/html/fusion/functional/adapters/fused_procedure.html index f9eee448..6cf1a52a 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
@@ -220,7 +220,7 @@
- + Example
template<class SequenceOfSequences, class Func>
@@ -240,7 +240,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/limits.html b/doc/html/fusion/functional/adapters/limits.html index 89a0683c..9d93c743 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 21918693..972c6ff9 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
@@ -237,7 +237,7 @@
- + Example
struct fused_incrementer
@@ -264,7 +264,7 @@
 }
 
- + See also
    diff --git a/doc/html/fusion/functional/adapters/unfused_typed.html b/doc/html/fusion/functional/adapters/unfused_typed.html index 651f8e5f..550b9ba4 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
@@ -253,7 +253,7 @@
- + Example
struct add_assign // applies operator+=
@@ -321,7 +321,7 @@
 }
 
- + See also
    diff --git a/doc/html/fusion/functional/concepts/callable.html b/doc/html/fusion/functional/concepts/callable.html index 7d856142..43209e2b 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 b7b6b2c4..f7592ea8 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
@@ -77,7 +77,7 @@
- + Expression requirements
@@ -115,7 +115,7 @@
- + Models
    @@ -128,7 +128,7 @@
- + Examples
& a_free_function
diff --git a/doc/html/fusion/functional/concepts/poly.html b/doc/html/fusion/functional/concepts/poly.html
index 3e341e00..2dad21fc 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
@@ -75,7 +75,7 @@
- + Expression requirements
@@ -124,7 +124,7 @@
- + Models
    @@ -139,7 +139,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 7de747b1..fc801e9f 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
@@ -65,7 +65,7 @@
- + Expression requirements
@@ -112,7 +112,7 @@
- + Models
    @@ -124,7 +124,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 2381eb72..02a4dda1 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 75b9b872..c060ea47 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 0a4006e9..fa5a069c 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 cd22ecf4..62c518b9 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 6fac3437..eecca47b 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 39ab32c2..8ebcf5ca 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 6eab588a..abb85b90 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 359d5775..b9040b89 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 1513fa5a..6506c238 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 0b625a39..3531d38b 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 0d16a70e..46bffce4 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 43e6e6b0..a2e61cda 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 f0804bb5..c0972149 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 c679190f..d5840e4f 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 a2c29a30..9bb967de 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 859bd721..0335aa12 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 95141ab2..1858343b 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 48543206..a8b3cb92 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 16d747d1..a75e4f35 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 75b058a8..f8d0047b 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

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

- + Expression requirements
@@ -237,7 +237,7 @@
- + Meta Expressions
@@ -348,7 +348,7 @@
- + Expression Semantics
@@ -474,7 +474,7 @@
- + Invariants

@@ -498,7 +498,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 5517832a..8a3475d4 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

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

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

- + Expression requirements
@@ -175,7 +175,7 @@
- + Meta Expressions
@@ -238,7 +238,7 @@
- + Models
    diff --git a/doc/html/fusion/iterator/functions/advance.html b/doc/html/fusion/iterator/functions/advance.html index 0500696d..88f748ab 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 3e14b9d6..15d17428 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 13119ad4..c5090516 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 555e6b32..d0c06da6 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 b2092453..072e7e1c 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 79488d87..411ec597 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 36269fa4..5ee951dd 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 c2502788..0078cfb9 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 ad6dbcfb..543006ff 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 d305850e..2bc6a2e8 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 2ee08440..7989328d 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 d771a9fd..625e9ed0 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 b278ca9d..2d7acb1f 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 f7aab2c7..8eb86050 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 b09caa66..8a0286f6 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 6c0849b8..3d877f94 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 be966fac..5e591478 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 a7158192..925f87dc 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 bac988c5..87224bd0 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 26de573b..0312000a 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 beeb0af1..b7b70b22 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 1fef3a67..af707421 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] + [12] :

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

- + boost::ref

@@ -226,7 +226,7 @@ details.

- + adt_attribute_proxy

@@ -458,7 +458,7 @@



-

[10] +

[12] 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 36bc0893..120a1e09 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 60dcea39..c579d8f1 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 e4a310de..b6d664e1 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 Organization 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 e0aaab90..91035473 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 52c0139a..5a0d36f5 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 d485d3cc..3931e0e9 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
@@ -247,7 +247,7 @@

- + Expression Semantics
@@ -302,7 +302,7 @@
- + Models
    diff --git a/doc/html/fusion/sequence/concepts/bidirectional_sequence.html b/doc/html/fusion/sequence/concepts/bidirectional_sequence.html index 444c32f1..15dfaf07 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 9d8b1a08..05767c95 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 fb960f7a..71c375db 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 eec1c5e2..b9882c96 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 de6d482a..d4bb6909 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 c5cd10e6..dbb2c62e 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 ad7e07ef..ace219fd 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 45f6aadf..255ce5aa 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 11d536b5..da04b53d 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 35f3c870..397b45d9 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 b37b5bf7..b697fb8d 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 4a263c7a..0d1d74e8 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 d26971a2..9177a076 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 dbee2ce2..de71f62f 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 80e3b5c4..4748ace9 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 b1ec9b2e..f85b92da 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 fde81023..d2216bae 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 cc478258..20cacbf0 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 470b1107..20eb07bc 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 13372e67..73c3357b 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 f4b3a864..f936a1f0 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 a6bca97f..d3ac7c23 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 91c91aac..602a8743 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 3f29d5c1..74248ca5 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 10992f08..177e8fa4 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 045fe71a..088158c1 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 68180a64..4b766981 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 4e5d1424..a93facda 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 b547e919..96c8f012 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 909f69b3..ede616cc 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 535bcdb9..4fe1d53d 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 47ae73dd..c8f6ba8f 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 93713d72..c2b67126 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 94c60c14..fd2884d8 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 10ace0e2..f5974510 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 d1ed53f5..eea3158a 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 9b0a0261..e0da9452 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 1a900f78..b6a98b18 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 8d2d9c1e..e1a9ab6a 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 e2906776..ba07cfca 100644
--- a/doc/html/fusion/support/category_of.html
+++ b/doc/html/fusion/support/category_of.html
@@ -27,7 +27,7 @@
 category_of
 
 
- + Description

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

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

- + Header
#include <boost/fusion/support/category_of.hpp>
 #include <boost/fusion/include/category_of.hpp>
 
- + Example
using boost::is_base_of;
diff --git a/doc/html/fusion/support/deduce.html b/doc/html/fusion/support/deduce.html
index d9aa8e5a..8fe7a8ea 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 82521040..fccd3838 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 7440bf9a..feaeed93 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 e6684000..d49994d8 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 cb514783..f6ff3323 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
@@ -137,7 +137,7 @@
- + Expression Semantics
@@ -317,14 +317,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 f9b7e3be..44df1f87 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 7fafe081..ab31bafc 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 3962998f..3969cc0e 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 115ee3df..c8a9dd23 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 f5239f75..e586f7ab 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 bcf00cce..3f879cd4 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 7935e0b2..36ee3868 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 5e4a53ca..196853ca 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 ab04115e..53d5d02c 100644
--- a/doc/html/fusion/view.html
+++ b/doc/html/fusion/view.html
@@ -47,7 +47,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 08279207..35a6afd5 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 a3d65a4c..8932f575 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
    @@ -153,7 +153,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 7806bc2c..5a28a489 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
    @@ -148,7 +148,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 841a03ee..9672bcf4 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
  • @@ -163,7 +163,7 @@
- + Expression Semantics

@@ -239,7 +239,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/repetitive_view.html b/doc/html/fusion/view/repetitive_view.html
index 5afa6d84..ef1b8ca4 100644
--- a/doc/html/fusion/view/repetitive_view.html
+++ b/doc/html/fusion/view/repetitive_view.html
@@ -27,7 +27,7 @@
 repetitive_view
 
 
- + Description

@@ -40,21 +40,21 @@ is not.

- + Header
#include <boost/fusion/view/repetitive_view.hpp>
 #include <boost/fusion/include/repetitive_view.hpp>
 
- + Synopsis
template <typename Sequence>
 struct repetitive_view;
 
- + Template parameters
@@ -117,7 +117,7 @@
- + Expression Semantics
@@ -238,7 +238,7 @@
- + Result Type Expressions
@@ -263,7 +263,7 @@
- + Example
typedef vector<int, char, double> vec1;
diff --git a/doc/html/fusion/view/reverse_view.html b/doc/html/fusion/view/reverse_view.html
index 299d7dc4..c642bbea 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
    @@ -129,7 +129,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 96621d84..8309989e 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
@@ -111,7 +111,7 @@
- + Expression Semantics

@@ -182,7 +182,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 8194d224..b62c69e5 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
@@ -179,7 +179,7 @@
- + Model of
  • @@ -234,7 +234,7 @@
- + Expression Semantics
@@ -329,7 +329,7 @@
- + Example
struct square
diff --git a/doc/html/fusion/view/zip_view.html b/doc/html/fusion/view/zip_view.html
index 37946f57..aa19eb52 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
  • @@ -126,7 +126,7 @@
- + Expression Semantics

@@ -197,7 +197,7 @@

- + Example
typedef vector<int,int> vec1;
diff --git a/doc/html/index.html b/doc/html/index.html
index e203829c..8a1fd378 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)

@@ -263,7 +263,7 @@
- +

Last revised: July 06, 2011 at 18:12:21 GMT

Last revised: July 06, 2011 at 18:22:15 GMT


From f27ed26e44e30c00512cd59de941a94d5dfb454c Mon Sep 17 00:00:00 2001 From: Eric Niebler Date: Fri, 8 Jul 2011 19:42:35 +0000 Subject: [PATCH 15/45] make single_view random access [SVN r72977] --- doc/html/fusion/adapted.html | 32 +-- doc/html/fusion/adapted/adapt_adt.html | 16 +- doc/html/fusion/adapted/adapt_assoc.html | 20 +- doc/html/fusion/adapted/adapt_assoc_adt.html | 16 +- .../adapted/adapt_assoc_struct_named.html | 18 +- .../fusion/adapted/adapt_assoc_tpl_adt.html | 16 +- .../adapted/adapt_assoc_tpl_struct.html | 20 +- doc/html/fusion/adapted/adapt_struct.html | 16 +- .../fusion/adapted/adapt_struct_named.html | 18 +- doc/html/fusion/adapted/adapt_tpl_adt.html | 16 +- doc/html/fusion/adapted/adapt_tpl_struct.html | 16 +- doc/html/fusion/adapted/array.html | 14 +- doc/html/fusion/adapted/boost__array.html | 14 +- doc/html/fusion/adapted/boost__tuple.html | 12 +- .../fusion/adapted/define_assoc_struct.html | 16 +- .../adapted/define_assoc_tpl_struct.html | 16 +- doc/html/fusion/adapted/define_struct.html | 14 +- .../fusion/adapted/define_tpl_struct.html | 16 +- doc/html/fusion/adapted/mpl_sequence.html | 32 +-- doc/html/fusion/adapted/std__pair.html | 14 +- doc/html/fusion/algorithm.html | 40 ++- doc/html/fusion/algorithm/iteration.html | 2 +- .../iteration/functions/accumulate.html | 234 +++++++--------- .../algorithm/iteration/functions/fold.html | 234 +++++++--------- .../iteration/functions/for_each.html | 14 +- .../iteration/functions/iter_fold.html | 234 +++++++--------- .../iteration/functions/reverse_fold.html | 234 +++++++--------- .../functions/reverse_iter_fold.html | 234 +++++++--------- .../iteration/metafunctions/accumulate.html | 207 ++++++-------- .../iteration/metafunctions/fold.html | 207 ++++++-------- .../iteration/metafunctions/for_each.html | 12 +- .../iteration/metafunctions/iter_fold.html | 207 ++++++-------- .../iteration/metafunctions/reverse_fold.html | 207 ++++++-------- .../metafunctions/reverse_iter_fold.html | 207 ++++++-------- 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 | 20 +- .../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 | 46 ++-- .../transformation/functions/erase_key.html | 14 +- .../transformation/functions/filter.html | 30 +- .../transformation/functions/filter_if.html | 30 +- .../transformation/functions/insert.html | 20 +- .../functions/insert_range.html | 30 +- .../transformation/functions/join.html | 32 +-- .../transformation/functions/pop_back.html | 30 +- .../transformation/functions/pop_front.html | 30 +- .../transformation/functions/push_back.html | 20 +- .../transformation/functions/push_front.html | 20 +- .../transformation/functions/remove.html | 30 +- .../transformation/functions/remove_if.html | 30 +- .../transformation/functions/replace.html | 14 +- .../transformation/functions/replace_if.html | 14 +- .../transformation/functions/reverse.html | 40 +-- .../transformation/functions/transform.html | 18 +- .../transformation/functions/zip.html | 14 +- .../transformation/metafunctions/clear.html | 12 +- .../transformation/metafunctions/erase.html | 28 +- .../metafunctions/erase_key.html | 12 +- .../transformation/metafunctions/filter.html | 28 +- .../metafunctions/filter_if.html | 28 +- .../transformation/metafunctions/insert.html | 18 +- .../metafunctions/insert_range.html | 28 +- .../transformation/metafunctions/join.html | 28 +- .../metafunctions/pop_back.html | 28 +- .../metafunctions/pop_front.html | 28 +- .../metafunctions/push_back.html | 18 +- .../metafunctions/push_front.html | 18 +- .../transformation/metafunctions/remove.html | 28 +- .../metafunctions/remove_if.html | 28 +- .../transformation/metafunctions/replace.html | 12 +- .../metafunctions/replace_if.html | 12 +- .../transformation/metafunctions/reverse.html | 38 +-- .../metafunctions/transform.html | 34 +-- .../transformation/metafunctions/zip.html | 10 +- doc/html/fusion/change_log.html | 98 +++---- doc/html/fusion/container.html | 2 +- doc/html/fusion/container/cons.html | 20 +- doc/html/fusion/container/conversion.html | 2 +- .../conversion/functions/as_list.html | 12 +- .../conversion/functions/as_map.html | 15 +- .../conversion/functions/as_set.html | 12 +- .../conversion/functions/as_vector.html | 12 +- .../conversion/metafunctions/as_list.html | 12 +- .../conversion/metafunctions/as_map.html | 15 +- .../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 | 26 +- .../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 | 18 +- doc/html/fusion/container/map.html | 24 +- doc/html/fusion/container/set.html | 24 +- doc/html/fusion/container/vector.html | 24 +- doc/html/fusion/extension.html | 2 +- doc/html/fusion/extension/ext_full.html | 72 ++--- .../fusion/extension/iterator_facade.html | 14 +- .../fusion/extension/sequence_facade.html | 14 +- doc/html/fusion/functional.html | 20 +- doc/html/fusion/functional/adapters.html | 2 +- .../fusion/functional/adapters/fused.html | 50 ++-- .../adapters/fused_function_object.html | 50 ++-- .../functional/adapters/fused_procedure.html | 46 ++-- .../fusion/functional/adapters/limits.html | 12 +- .../fusion/functional/adapters/unfused.html | 38 +-- .../functional/adapters/unfused_typed.html | 62 +++-- doc/html/fusion/functional/concepts.html | 10 +- .../fusion/functional/concepts/callable.html | 24 +- .../functional/concepts/def_callable.html | 36 +-- doc/html/fusion/functional/concepts/poly.html | 44 +-- .../functional/concepts/reg_callable.html | 28 +- .../functional/generation/functions.html | 12 +- .../generation/functions/mk_fused.html | 29 +- .../generation/functions/mk_fused_fobj.html | 29 +- .../generation/functions/mk_fused_proc.html | 29 +- .../generation/functions/mk_unfused.html | 29 +- .../functional/generation/metafunctions.html | 12 +- .../generation/metafunctions/mk_fused.html | 15 +- .../metafunctions/mk_fused_fobj.html | 15 +- .../metafunctions/mk_fused_proc.html | 15 +- .../generation/metafunctions/mk_unfused.html | 15 +- .../functional/invocation/functions.html | 6 +- .../invocation/functions/invoke.html | 34 ++- .../invocation/functions/invoke_fobj.html | 37 ++- .../invocation/functions/invoke_proc.html | 37 ++- .../fusion/functional/invocation/limits.html | 16 +- .../functional/invocation/metafunctions.html | 6 +- .../invocation/metafunctions/invoke.html | 14 +- .../invocation/metafunctions/invoke_fobj.html | 17 +- .../invocation/metafunctions/invoke_proc.html | 17 +- doc/html/fusion/introduction.html | 18 +- doc/html/fusion/iterator.html | 8 +- .../concepts/associative_iterator.html | 60 ++-- .../concepts/bidirectional_iterator.html | 71 +++-- .../iterator/concepts/forward_iterator.html | 259 ++++++------------ .../concepts/random_access_iterator.html | 56 ++-- .../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 +- doc/html/fusion/iterator/operator.html | 6 +- .../iterator/operator/operator_equality.html | 12 +- .../operator/operator_inequality.html | 12 +- .../operator/operator_unary_star.html | 14 +- doc/html/fusion/notes.html | 76 +++-- doc/html/fusion/organization.html | 179 ++++++------ doc/html/fusion/preface.html | 34 +-- doc/html/fusion/quick_start.html | 35 ++- doc/html/fusion/references.html | 42 +-- doc/html/fusion/sequence.html | 2 +- doc/html/fusion/sequence/concepts.html | 4 +- .../concepts/associative_sequence.html | 60 ++-- .../concepts/bidirectional_sequence.html | 55 ++-- .../sequence/concepts/forward_sequence.html | 105 ++++--- .../concepts/random_access_sequence.html | 55 ++-- doc/html/fusion/sequence/intrinsic.html | 14 +- .../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 | 44 +-- .../sequence/intrinsic/functions/empty.html | 12 +- .../sequence/intrinsic/functions/end.html | 44 +-- .../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 | 28 +- .../intrinsic/metafunctions/at_c.html | 28 +- .../intrinsic/metafunctions/at_key.html | 28 +- .../intrinsic/metafunctions/back.html | 12 +- .../intrinsic/metafunctions/begin.html | 44 +-- .../intrinsic/metafunctions/empty.html | 12 +- .../sequence/intrinsic/metafunctions/end.html | 44 +-- .../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 | 15 +- .../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 | 14 +- doc/html/fusion/support/deduce_sequence.html | 14 +- 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 | 8 +- .../tuple_helper_classes.html | 4 +- doc/html/fusion/tuple/pairs.html | 9 +- doc/html/fusion/view.html | 2 +- doc/html/fusion/view/filter_view.html | 32 +-- doc/html/fusion/view/iterator_range.html | 44 ++- doc/html/fusion/view/joint_view.html | 34 ++- doc/html/fusion/view/nview.html | 32 +-- doc/html/fusion/view/repetitive_view.html | 28 +- doc/html/fusion/view/reverse_view.html | 40 ++- doc/html/fusion/view/single_view.html | 23 +- doc/html/fusion/view/transform_view.html | 36 +-- doc/html/fusion/view/zip_view.html | 40 ++- doc/html/index.html | 54 ++-- doc/iterator.qbk | 2 + doc/sequence.qbk | 2 + doc/view.qbk | 4 +- .../view/single_view/detail/advance_impl.hpp | 47 ++++ .../view/single_view/detail/at_impl.hpp | 44 +++ .../view/single_view/detail/begin_impl.hpp | 15 +- .../view/single_view/detail/deref_impl.hpp | 14 +- .../view/single_view/detail/distance_impl.hpp | 43 +++ .../view/single_view/detail/end_impl.hpp | 17 +- .../view/single_view/detail/equal_to_impl.hpp | 39 +++ .../view/single_view/detail/next_impl.hpp | 21 +- .../view/single_view/detail/prior_impl.hpp | 46 ++++ .../view/single_view/detail/size_impl.hpp | 33 +++ .../view/single_view/detail/value_at_impl.hpp | 39 +++ .../view/single_view/detail/value_of_impl.hpp | 13 +- .../fusion/view/single_view/single_view.hpp | 12 +- .../view/single_view/single_view_iterator.hpp | 35 +-- test/sequence/single_view.cpp | 36 +++ 276 files changed, 4030 insertions(+), 4061 deletions(-) create mode 100644 include/boost/fusion/view/single_view/detail/advance_impl.hpp create mode 100644 include/boost/fusion/view/single_view/detail/at_impl.hpp create mode 100644 include/boost/fusion/view/single_view/detail/distance_impl.hpp create mode 100644 include/boost/fusion/view/single_view/detail/equal_to_impl.hpp create mode 100644 include/boost/fusion/view/single_view/detail/prior_impl.hpp create mode 100644 include/boost/fusion/view/single_view/detail/size_impl.hpp create mode 100644 include/boost/fusion/view/single_view/detail/value_at_impl.hpp diff --git a/doc/html/fusion/adapted.html b/doc/html/fusion/adapted.html index 0dbccf29..4a8dc424 100644 --- a/doc/html/fusion/adapted.html +++ b/doc/html/fusion/adapted.html @@ -27,25 +27,25 @@ Adapted

Fusion provides a couple of adapters for other sequences such as arrays, std::pair, @@ -60,7 +60,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_adt.html b/doc/html/fusion/adapted/adapt_adt.html
index 79378220..cd164c91 100644
--- a/doc/html/fusion/adapted/adapt_adt.html
+++ b/doc/html/fusion/adapted/adapt_adt.html
@@ -24,7 +24,7 @@
 
 

BOOST_FUSION_ADAPT_ADT is a macro than can be used to generate all the necessary @@ -32,7 +32,7 @@ Access Sequence.

- + Synopsis
BOOST_FUSION_ADAPT_ADT(
@@ -43,7 +43,7 @@
     )
 
- + Expression Semantics
@@ -88,14 +88,14 @@ should be the fully namespace qualified name of the class type to be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_adt.hpp>
 #include <boost/fusion/include/adapt_adt.hpp>
 
- + Example
namespace demo
@@ -137,11 +137,11 @@
 demo::employee e;
 front(e)="Edward Norton";
 back(e)=41;
-//Prints 'Edward Norton is 41 years old'
-std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
+//Prints 'Edward Norton is 41 years old'
+std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_assoc.html b/doc/html/fusion/adapted/adapt_assoc.html index f49d2a6a..20a2865a 100644 --- a/doc/html/fusion/adapted/adapt_assoc.html +++ b/doc/html/fusion/adapted/adapt_assoc.html @@ -24,10 +24,10 @@

- + 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 adapted.

- + Header
#include <boost/fusion/adapted/struct/adapt_assoc_struct.hpp>
 #include <boost/fusion/include/adapt_assoc_struct.hpp>
 
- + Example
namespace demo
@@ -91,10 +91,10 @@
     struct age;
 }
 
-// demo::employee is now a Fusion sequence.
-// It is also an associative sequence with
-// keys keys::name and keys::age present.
-BOOST_FUSION_ADAPT_ASSOC_STRUCT(
+// demo::employee is now a Fusion sequence.
+// It is also an associative sequence with
+// keys keys::name and keys::age present.
+BOOST_FUSION_ADAPT_ASSOC_STRUCT(
     demo::employee,
     (std::string, name, keys::name)
     (int, age, keys::age))
diff --git a/doc/html/fusion/adapted/adapt_assoc_adt.html b/doc/html/fusion/adapted/adapt_assoc_adt.html
index 8e36e112..199b3f65 100644
--- a/doc/html/fusion/adapted/adapt_assoc_adt.html
+++ b/doc/html/fusion/adapted/adapt_assoc_adt.html
@@ -24,7 +24,7 @@
 

BOOST_FUSION_ADAPT_ASSOC_ADT is a macro than can be used to generate all @@ -34,7 +34,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_ADT(
@@ -45,7 +45,7 @@
     )
 
- + Expression Semantics
@@ -92,14 +92,14 @@ should be the fully namespace qualified name of the class type to be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_assoc_adt.hpp>
 #include <boost/fusion/include/adapt_assoc_adt.hpp>
 
- + Example
namespace demo
@@ -147,11 +147,11 @@
 demo::employee e;
 at_key<keys::name>(e)="Edward Norton";
 at_key<keys::age>(e)=41;
-//Prints 'Edward Norton is 41 years old'
-std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
+//Prints 'Edward Norton is 41 years old'
+std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_assoc_struct_named.html b/doc/html/fusion/adapted/adapt_assoc_struct_named.html index f65e53f0..a549ebb4 100644 --- a/doc/html/fusion/adapted/adapt_assoc_struct_named.html +++ b/doc/html/fusion/adapted/adapt_assoc_struct_named.html @@ -24,10 +24,10 @@

- + Description

@@ -38,7 +38,7 @@ Sequence. The given struct is adapted using the given name.

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED(
@@ -58,7 +58,7 @@
     )
 
- + Semantics

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

- + Header
#include <boost/fusion/adapted/struct/adapt_assoc_struct_named.hpp>
 #include <boost/fusion/include/adapt_assoc_struct_named.hpp>
 
- + Example
namespace demo
@@ -108,9 +108,9 @@
     struct age;
 }
 
-// boost::fusion::adapted::adapted_employee is now a Fusion sequence
-// referring to demo::employee
-BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED(
+// boost::fusion::adapted::adapted_employee is now a Fusion sequence
+// referring to demo::employee
+BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED(
     demo::employee, adapted_employee,
     (std::string, name, keys::name)
     (int, age, keys::age))
diff --git a/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html b/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
index 00311571..f569fa19 100644
--- a/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
+++ b/doc/html/fusion/adapted/adapt_assoc_tpl_adt.html
@@ -24,7 +24,7 @@
 

BOOST_FUSION_ADAPT_ASSOC_TPL_ADT is a macro than can be used to generate @@ -34,7 +34,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_TPL_ADT(
@@ -46,7 +46,7 @@
     )
 
- + Expression Semantics
@@ -98,14 +98,14 @@ be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_assoc_adt.hpp>
 #include <boost/fusion/include/adapt_assoc_adt.hpp>
 
- + Example
namespace demo
@@ -155,11 +155,11 @@
 demo::employee<std::string, int> e;
 at_key<keys::name>(e)="Edward Norton";
 at_key<keys::age>(e)=41;
-//Prints 'Edward Norton is 41 years old'
-std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
+//Prints 'Edward Norton is 41 years old'
+std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html b/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html index 99ae67b9..09cfa6a8 100644 --- a/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html +++ b/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html @@ -24,10 +24,10 @@

- + Description

@@ -38,7 +38,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT(
@@ -50,7 +50,7 @@
     )
 
- + Semantics

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

- + Header
#include <boost/fusion/adapted/struct/adapt_assoc_struct.hpp>
 #include <boost/fusion/include/adapt_assoc_struct.hpp>
 
- + Example
namespace demo
@@ -98,10 +98,10 @@
     struct age;
 }
 
-// Any instantiated demo::employee is now a Fusion sequence.
-// It is also an associative sequence with
-// keys keys::name and keys::age present.
-BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT(
+// Any instantiated demo::employee is now a Fusion sequence.
+// It is also an associative sequence with
+// keys keys::name and keys::age present.
+BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT(
     (Name)(Age),
     (demo::employee) (Name)(Age),
     (Name, name, keys::name)
diff --git a/doc/html/fusion/adapted/adapt_struct.html b/doc/html/fusion/adapted/adapt_struct.html
index a0cabda7..cd1a5b54 100644
--- a/doc/html/fusion/adapted/adapt_struct.html
+++ b/doc/html/fusion/adapted/adapt_struct.html
@@ -24,10 +24,10 @@
 
- + 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 adapted.

- + Header
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
 #include <boost/fusion/include/adapt_struct.hpp>
 
- + Example
namespace demo
@@ -82,8 +82,8 @@
     };
 }
 
-// demo::employee is now a Fusion sequence
-BOOST_FUSION_ADAPT_STRUCT(
+// demo::employee is now a Fusion sequence
+BOOST_FUSION_ADAPT_STRUCT(
     demo::employee,
     (std::string, name)
     (int, age))
diff --git a/doc/html/fusion/adapted/adapt_struct_named.html b/doc/html/fusion/adapted/adapt_struct_named.html
index 3ce6554a..65af72eb 100644
--- a/doc/html/fusion/adapted/adapt_struct_named.html
+++ b/doc/html/fusion/adapted/adapt_struct_named.html
@@ -24,10 +24,10 @@
 
- + Description

@@ -37,7 +37,7 @@ Access Sequence. The given struct is adapted using the given name.

- + Synopsis
BOOST_FUSION_ADAPT_STRUCT_NAMED(
@@ -57,7 +57,7 @@
     )
 
- + Semantics

@@ -81,14 +81,14 @@ 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
@@ -100,9 +100,9 @@
     };
 }
 
-// boost::fusion::adapted::adapted_employee is now a Fusion sequence
-// referring to demo::employee
-BOOST_FUSION_ADAPT_STRUCT_NAMED(
+// 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))
diff --git a/doc/html/fusion/adapted/adapt_tpl_adt.html b/doc/html/fusion/adapted/adapt_tpl_adt.html
index af15fcf3..46a22756 100644
--- a/doc/html/fusion/adapted/adapt_tpl_adt.html
+++ b/doc/html/fusion/adapted/adapt_tpl_adt.html
@@ -24,7 +24,7 @@
 

BOOST_FUSION_ADAPT_TPL_ADT is a macro than can be used to generate all the @@ -33,7 +33,7 @@ Access Sequence.

- + Synopsis
BOOST_FUSION_ADAPT_ADT(
@@ -45,7 +45,7 @@
     )
 
- + Expression Semantics
@@ -95,14 +95,14 @@ be adapted.

- + Header
#include <boost/fusion/adapted/adt/adapt_adt.hpp>
 #include <boost/fusion/include/adapt_adt.hpp>
 
- + Example
  namespace demo
@@ -146,11 +146,11 @@
   demo::employee<std::string, int> e;
   boost::fusion::front(e)="Edward Norton";
   boost::fusion::back(e)=41;
-  //Prints 'Edward Norton is 41 years old'
-  std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
+  //Prints 'Edward Norton is 41 years old'
+  std::cout << e.get_name() << " is " << e.get_age() << " years old" << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/adapt_tpl_struct.html b/doc/html/fusion/adapted/adapt_tpl_struct.html index 2a52e87b..da0dddf8 100644 --- a/doc/html/fusion/adapted/adapt_tpl_struct.html +++ b/doc/html/fusion/adapted/adapt_tpl_struct.html @@ -24,10 +24,10 @@

- + Description

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

- + Synopsis
BOOST_FUSION_ADAPT_TPL_STRUCT(
@@ -49,7 +49,7 @@
     )
 
- + Semantics

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

- + Header
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
 #include <boost/fusion/include/adapt_struct.hpp>
 
- + Example
namespace demo
@@ -89,8 +89,8 @@
     };
 }
 
-// Any instantiated demo::employee is now a Fusion sequence
-BOOST_FUSION_ADAPT_TPL_STRUCT(
+// Any instantiated demo::employee is now a Fusion sequence
+BOOST_FUSION_ADAPT_TPL_STRUCT(
     (Name)(Age),
     (demo::employee) (Name)(Age),
     (Name, name)
diff --git a/doc/html/fusion/adapted/array.html b/doc/html/fusion/adapted/array.html
index 76771829..01390beb 100644
--- a/doc/html/fusion/adapted/array.html
+++ b/doc/html/fusion/adapted/array.html
@@ -24,7 +24,7 @@
 

This module provides adapters for arrays. Including the module header makes @@ -32,20 +32,22 @@ Access Sequence.

- + Header
#include <boost/fusion/adapted/array.hpp>
 #include <boost/fusion/include/array.hpp>
 
- + Model of
- +
- + Example
int arr[3] = {1,2,3};
diff --git a/doc/html/fusion/adapted/boost__array.html b/doc/html/fusion/adapted/boost__array.html
index d1e06713..0c46a131 100644
--- a/doc/html/fusion/adapted/boost__array.html
+++ b/doc/html/fusion/adapted/boost__array.html
@@ -33,20 +33,22 @@
         Access Sequence.
       

- + Header
#include <boost/fusion/adapted/boost_array.hpp>
 #include <boost/fusion/include/boost_array.hpp>
 
- + Model of
- +
- + Example
boost::array<int,3> arr = {{1,2,3}};
@@ -58,7 +60,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 28f954dc..9294ba1e 100644 --- a/doc/html/fusion/adapted/boost__tuple.html +++ b/doc/html/fusion/adapted/boost__tuple.html @@ -33,19 +33,21 @@ 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 +55,7 @@
 std::cout << *boost::fusion::next(boost::fusion::begin(example_tuple)) << '\n';
 
- + See also

diff --git a/doc/html/fusion/adapted/define_assoc_struct.html b/doc/html/fusion/adapted/define_assoc_struct.html index 3f95d087..0b5f1a38 100644 --- a/doc/html/fusion/adapted/define_assoc_struct.html +++ b/doc/html/fusion/adapted/define_assoc_struct.html @@ -24,10 +24,10 @@

- + Description

@@ -38,7 +38,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_DEFINE_ASSOC_STRUCT(
@@ -68,7 +68,7 @@
 
 
- + Expression Semantics
@@ -182,14 +182,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_assoc_struct.hpp>
 #include <boost/fusion/include/define_assoc_struct.hpp>
 
- + Example
namespace keys
@@ -198,8 +198,8 @@
     struct age;
 }
 
-// demo::employee is a Fusion sequence
-BOOST_FUSION_DEFINE_ASSOC_STRUCT(
+// demo::employee is a Fusion sequence
+BOOST_FUSION_DEFINE_ASSOC_STRUCT(
     (demo), employee,
     (std::string, name, keys::name)
     (int, age, keys::age))
diff --git a/doc/html/fusion/adapted/define_assoc_tpl_struct.html b/doc/html/fusion/adapted/define_assoc_tpl_struct.html
index c1279e74..7e065b27 100644
--- a/doc/html/fusion/adapted/define_assoc_tpl_struct.html
+++ b/doc/html/fusion/adapted/define_assoc_tpl_struct.html
@@ -24,10 +24,10 @@
 
 
- + Description

@@ -38,7 +38,7 @@ Sequence.

- + Synopsis
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT(
@@ -73,7 +73,7 @@
 
 
- + Expression Semantics
@@ -187,14 +187,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_assoc_struct.hpp>
 #include <boost/fusion/include/define_assoc_struct.hpp>
 
- + Example
namespace keys
@@ -203,8 +203,8 @@
     struct age;
 }
 
-// Any instantiated demo::employee is a Fusion sequence
-BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT(
+// Any instantiated demo::employee is a Fusion sequence
+BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT(
     (Name)(Age), (demo), employee,
     (Name, name, keys::name)
     (Age, age, keys::age))
diff --git a/doc/html/fusion/adapted/define_struct.html b/doc/html/fusion/adapted/define_struct.html
index efb11e05..33c3f222 100644
--- a/doc/html/fusion/adapted/define_struct.html
+++ b/doc/html/fusion/adapted/define_struct.html
@@ -24,7 +24,7 @@
 
 

BOOST_FUSION_DEFINE_STRUCT is a macro that can be used to generate all the @@ -33,7 +33,7 @@ Access Sequence.

- + Synopsis
BOOST_FUSION_DEFINE_STRUCT(
@@ -63,7 +63,7 @@
 
 
- + Expression Semantics
@@ -174,18 +174,18 @@
- + Header
#include <boost/fusion/adapted/struct/define_struct.hpp>
 #include <boost/fusion/include/define_struct.hpp>
 
- + Example
-
// demo::employee is a Fusion sequence
-BOOST_FUSION_DEFINE_STRUCT(
+
// demo::employee is a Fusion sequence
+BOOST_FUSION_DEFINE_STRUCT(
     (demo), employee,
     (std::string, name)
     (int, age))
diff --git a/doc/html/fusion/adapted/define_tpl_struct.html b/doc/html/fusion/adapted/define_tpl_struct.html
index b64348cf..894eff87 100644
--- a/doc/html/fusion/adapted/define_tpl_struct.html
+++ b/doc/html/fusion/adapted/define_tpl_struct.html
@@ -24,10 +24,10 @@
 
 
- + Description

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

- + Synopsis
BOOST_FUSION_DEFINE_TPL_STRUCT(
@@ -72,7 +72,7 @@
 
 
- + Expression Semantics
@@ -183,18 +183,18 @@
- + Header
#include <boost/fusion/adapted/struct/define_struct.hpp>
 #include <boost/fusion/include/define_struct.hpp>
 
- + Example
-
// Any instantiated demo::employee is a Fusion sequence
-BOOST_FUSION_DEFINE_TPL_STRUCT(
+
// Any instantiated demo::employee is a Fusion sequence
+BOOST_FUSION_DEFINE_TPL_STRUCT(
     (Name)(Age), (demo), employee,
     (Name, name)
     (Age, age))
diff --git a/doc/html/fusion/adapted/mpl_sequence.html b/doc/html/fusion/adapted/mpl_sequence.html
index 6a743dca..3d676161 100644
--- a/doc/html/fusion/adapted/mpl_sequence.html
+++ b/doc/html/fusion/adapted/mpl_sequence.html
@@ -32,35 +32,35 @@
         sequences fully conforming fusion sequences.
       

- + Header
#include <boost/fusion/adapted/mpl.hpp>
 #include <boost/fusion/include/mpl.hpp>
 
- + Model of
- + 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 3c36a4a9..1b14b9a1 100644 --- a/doc/html/fusion/adapted/std__pair.html +++ b/doc/html/fusion/adapted/std__pair.html @@ -33,20 +33,22 @@ 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 +57,7 @@
 std::cout << p << std::endl;
 
- + See also

diff --git a/doc/html/fusion/algorithm.html b/doc/html/fusion/algorithm.html index b38e5479..5fad2a83 100644 --- a/doc/html/fusion/algorithm.html +++ b/doc/html/fusion/algorithm.html @@ -46,20 +46,18 @@

- + Lazy Evaluation

Unlike MPL, Fusion - algorithms are lazy - [10] - and non sequence-type preserving - [11] - . This is by design. Runtime efficiency is given a high priority. Like MPL, and unlike STL, fusion - algorithms are mostly functional in nature such that algorithms are non mutating - (no side effects). However, due to the high cost of returning full sequences - such as vectors and lists, Views are returned from Fusion - algorithms instead. For example, the transform algorithm does not actually + algorithms are lazy[10] and non sequence-type preserving [11]. This is by design. Runtime efficiency is given a high priority. + Like MPL, and + unlike STL, + fusion algorithms are mostly functional in nature such that algorithms are + non mutating (no side effects). However, due to the high cost of returning + full sequences such as vectors and lists, Views are returned + from Fusion algorithms instead. For example, the transform algorithm does not actually return a transformed version of the original sequence. transform returns a transform_view. This view holds a reference to the original sequence plus the transform function. Iteration over the transform_view @@ -68,7 +66,7 @@ as we want without incurring a high runtime penalty.

- + Sequence Extension

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

- + Header

#include <boost/fusion/algorithm.hpp>
@@ -99,15 +97,15 @@
 


-

[10] - Except for some special cases such as for_each and copy which are inherently imperative - algorithms. -

-

[11] - What does that mean? It means that when you operate on a sequence through - a Fusion algorithm that returns a sequence, the sequence returned may not - be of the same class as the original -

+

[10] + Except for some special cases such as for_each and copy which are inherently imperative + algorithms. +

+

[11] + What does that mean? It means that when you operate on a sequence through + a Fusion algorithm that returns a sequence, the sequence returned may not + be of the same class as the original +

diff --git a/doc/html/fusion/algorithm/iteration.html b/doc/html/fusion/algorithm/iteration.html index 419aaf20..64df5c71 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 27e31c8a..c0f8a899 100644
--- a/doc/html/fusion/algorithm/iteration/functions/accumulate.html
+++ b/doc/html/fusion/algorithm/iteration/functions/accumulate.html
@@ -26,35 +26,24 @@
 
+
+ + Description +

- -

-
- - Description -
-

-

-

- 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 -
-

- -

+ 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<
     typename Sequence,
     typename State,
@@ -71,10 +60,8 @@
 typename result_of::accumulate<Sequence const, State const, F>::type accumulate(
     Sequence const& seq, State const& initial_state, F f);
 
-

-

-

Table 1.42. Parameters

+

Table 1.42. Parameters

@@ -83,142 +70,113 @@ +

+ Parameter +

+ +

+ Requirement +

+ +

+ Description +

+ +

+ seq +

+ +

+ A model of Forward + Sequence +

+ +

+ Operation's argument +

+ +

+ initial_state +

+ +

+ Any type +

+ +

+ Initial state +

+ +

+ f +

+ +

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

+ +

+ Operation's argument +

+
-

- Parameter -

-
-

- Requirement -

-
-

- Description -

-
-

- seq -

-
-

- A model of Forward - Sequence -

-
-

- Operation's argument -

-
-

- initial_state -

-
-

- Any type -

-
-

- Initial state -

-
-

- f -

-
-

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

-
-

- Operation's argument -

-
-


- -

-
- - Expression - Semantics -
-

- -

+
+ + Expression + Semantics +
accumulate(seq, initial_state, f);
 

-

+ Return type: Any type +

- Return type: Any type -

+ Semantics: Equivalent to f(... + f(f(initial_state,e1),e2) ...eN) where e1 ...eN + are the consecutive elements of seq. +

+
+ + Complexity +

-

-

- Semantics: Equivalent to f(... - f(f(initial_state,e1),e2) ...eN) where e1 ...eN - are the consecutive elements of seq. -

-

- -

-
- - Complexity -
-

-

-

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

-

- -

-
- - Header -
-

- -

+ 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 -
-

- -

+
+ + Example +
struct make_string
 {
     typedef std::string result_type;
@@ -233,8 +191,6 @@
 const vector<int,int> vec(1,2);
 assert(accumulate(vec,std::string(""), make_string()) == "12");
 
-

-

diff --git a/doc/html/fusion/algorithm/iteration/functions/fold.html b/doc/html/fusion/algorithm/iteration/functions/fold.html index 63382db6..9d1b2a6c 100644 --- a/doc/html/fusion/algorithm/iteration/functions/fold.html +++ b/doc/html/fusion/algorithm/iteration/functions/fold.html @@ -26,35 +26,24 @@ +
+ + Description +

- -

-
- - Description -
-

-

-

- 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 -
-

- -

+ 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<
     typename Sequence,
     typename State,
@@ -71,10 +60,8 @@
 typename result_of::fold<Sequence const, State const, F>::type fold(
     Sequence const& seq, State const& initial_state, F f);
 
-

-

-

Table 1.38. Parameters

+

Table 1.38. Parameters

@@ -83,142 +70,113 @@ +

+ Parameter +

+ +

+ Requirement +

+ +

+ Description +

+ +

+ seq +

+ +

+ A model of Forward + Sequence +

+ +

+ Operation's argument +

+ +

+ initial_state +

+ +

+ Any type +

+ +

+ Initial state +

+ +

+ f +

+ +

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

+ +

+ Operation's argument +

+
-

- Parameter -

-
-

- Requirement -

-
-

- Description -

-
-

- seq -

-
-

- A model of Forward - Sequence -

-
-

- Operation's argument -

-
-

- initial_state -

-
-

- Any type -

-
-

- Initial state -

-
-

- f -

-
-

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

-
-

- Operation's argument -

-
-


- -

-
- - Expression - Semantics -
-

- -

+
+ + Expression + Semantics +
fold(seq, initial_state, f);
 

-

+ Return type: Any type +

- Return type: Any type -

+ Semantics: Equivalent to f(... + f(f(initial_state,e1),e2) ...eN) where e1 ...eN + are the consecutive elements of seq. +

+
+ + Complexity +

-

-

- Semantics: Equivalent to f(... - f(f(initial_state,e1),e2) ...eN) where e1 ...eN - are the consecutive elements of seq. -

-

- -

-
- - Complexity -
-

-

-

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

-

- -

-
- - Header -
-

- -

+ 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 -
-

- -

+
+ + Example +
struct make_string
 {
     typedef std::string result_type;
@@ -233,8 +191,6 @@
 const vector<int,int> vec(1,2);
 assert(fold(vec,std::string(""), make_string()) == "12");
 
-

-

diff --git a/doc/html/fusion/algorithm/iteration/functions/for_each.html b/doc/html/fusion/algorithm/iteration/functions/for_each.html index 9d6c5da8..d8eaac42 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 f);
 
-

Table 1.43. Parameters

+

Table 1.43. 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/functions/iter_fold.html b/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
index 10ee2aa1..6bdc7153 100644
--- a/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
+++ b/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
@@ -26,35 +26,24 @@
 
+
+ + Description +

- -

-
- - Description -
-

-

-

- For a sequence seq, - initial state initial_state, - and binary function object or function pointer f, - iter_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 iterators on each element of seq. -

-

- -

-
- - Synopsis -
-

- -

+ For a sequence seq, initial + state initial_state, + and binary function object or function pointer f, + iter_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 iterators on each element of seq. +

+
+ + Synopsis +
template<
     typename Sequence,
     typename State,
@@ -71,10 +60,8 @@
 typename result_of::iter_fold<Sequence const, State const, F>::type iter_fold(
     Sequence const& seq, State const& initial_state, F f);
 
-

-

-

Table 1.40. Parameters

+

Table 1.40. Parameters

@@ -83,142 +70,113 @@ +

+ Parameter +

+ +

+ Requirement +

+ +

+ Description +

+ +

+ seq +

+ +

+ A model of Forward + Sequence +

+ +

+ Operation's argument +

+ +

+ initial_state +

+ +

+ Any type +

+ +

+ Initial state +

+ +

+ f +

+ +

+ f(s,it) with return type boost::result_of<F(S,It)>::type for current state s of type S, + and for each iterator it + of type It + on an element of seq +

+ +

+ Operation's argument +

+
-

- Parameter -

-
-

- Requirement -

-
-

- Description -

-
-

- seq -

-
-

- A model of Forward - Sequence -

-
-

- Operation's argument -

-
-

- initial_state -

-
-

- Any type -

-
-

- Initial state -

-
-

- f -

-
-

- f(s,it) with return type boost::result_of<F(S,It)>::type for current state - s of type - S, and for - each iterator it - of type It - on an element of seq -

-
-

- Operation's argument -

-
-


- -

-
- - Expression - Semantics -
-

- -

+
+ + Expression + Semantics +
iter_fold(seq, initial_state, f);
 

-

+ Return type: Any type +

- Return type: Any type -

+ Semantics: Equivalent to f(... + f(f(initial_state,it1),it2) ...itN) where it1 ...itN + are consecutive iterators on the elements of seq. +

+
+ + Complexity +

-

-

- Semantics: Equivalent to f(... - f(f(initial_state,it1),it2) ...itN) where it1 ...itN - are consecutive iterators on the elements of seq. -

-

- -

-
- - Complexity -
-

-

-

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

-

- -

-
- - Header -
-

- -

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

+
+ + Header +
#include <boost/fusion/algorithm/iteration/iter_fold.hpp>
 #include <boost/fusion/include/iter_fold.hpp>
 
-

- -

-
- - Example -
-

- -

+
+ + Example +
struct make_string
 {
     typedef std::string result_type;
@@ -233,8 +191,6 @@
 const vector<int,int> vec(1,2);
 assert(iter_fold(vec,std::string(""), make_string()) == "12");
 
-

-

diff --git a/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html b/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html index 88e691d1..e11416ad 100644 --- a/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html +++ b/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html @@ -26,35 +26,24 @@ +
+ + Description +

- -

-
- - Description -
-

-

-

- For a sequence seq, - initial state initial_state, - and binary function object or function pointer f, - reverse_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 -
-

- -

+ For a sequence seq, initial + state initial_state, + and binary function object or function pointer f, + reverse_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<
     typename Sequence,
     typename State,
@@ -71,10 +60,8 @@
 typename result_of::reverse_fold<Sequence const, State const, F>::type reverse_fold(
     Sequence const& seq, State const& initial_state, F f);
 
-

-

-

Table 1.39. Parameters

+

Table 1.39. Parameters

@@ -83,142 +70,113 @@ +

+ Parameter +

+ +

+ Requirement +

+ +

+ Description +

+ +

+ seq +

+ +

+ A model of Bidirectional + Sequence +

+ +

+ Operation's argument +

+ +

+ initial_state +

+ +

+ Any type +

+ +

+ Initial state +

+ +

+ f +

+ +

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

+ +

+ Operation's argument +

+
-

- Parameter -

-
-

- Requirement -

-
-

- Description -

-
-

- seq -

-
-

- A model of Bidirectional - Sequence -

-
-

- Operation's argument -

-
-

- initial_state -

-
-

- Any type -

-
-

- Initial state -

-
-

- f -

-
-

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

-
-

- Operation's argument -

-
-


- -

-
- - Expression - Semantics -
-

- -

+
+ + Expression + Semantics +
reverse_fold(seq, initial_state, f);
 

-

+ Return type: Any type +

- Return type: Any type -

+ Semantics: Equivalent to f(... + f(f(initial_state,eN),eN-1) ...e1) where e1 ...eN + are the consecutive elements of seq. +

+
+ + Complexity +

-

-

- Semantics: Equivalent to f(... - f(f(initial_state,eN),eN-1) ...e1) where e1 ...eN - are the consecutive elements of seq. -

-

- -

-
- - Complexity -
-

-

-

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

-

- -

-
- - Header -
-

- -

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

+
+ + Header +
#include <boost/fusion/algorithm/iteration/reverse_fold.hpp>
 #include <boost/fusion/include/reverse_fold.hpp>
 
-

- -

-
- - Example -
-

- -

+
+ + Example +
struct make_string
 {
     typedef std::string result_type;
@@ -233,8 +191,6 @@
 const vector<int,int> vec(1,2);
 assert(reverse_fold(vec,std::string(""), make_string()) == "21");
 
-

-

diff --git a/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html b/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html index c2487da7..950176bd 100644 --- a/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html +++ b/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html @@ -26,35 +26,24 @@ +
+ + Description +

- -

-
- - Description -
-

-

-

- For a sequence seq, - initial state initial_state, - and binary function object or function pointer f, - reverse_iter_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 iterators on each element of seq. -

-

- -

-
- - Synopsis -
-

- -

+ For a sequence seq, initial + state initial_state, + and binary function object or function pointer f, + reverse_iter_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 iterators on each element of seq. +

+
+ + Synopsis +
template<
     typename Sequence,
     typename State,
@@ -71,10 +60,8 @@
 typename result_of::reverse_iter_fold<Sequence const, State const, F>::type reverse_iter_fold(
     Sequence const& seq, State const& initial_state, F f);
 
-

-

-

Table 1.41. Parameters

+

Table 1.41. Parameters

@@ -83,142 +70,113 @@ +

+ Parameter +

+ +

+ Requirement +

+ +

+ Description +

+ +

+ seq +

+ +

+ A model of Bidirectional + Sequence +

+ +

+ Operation's argument +

+ +

+ initial_state +

+ +

+ Any type +

+ +

+ Initial state +

+ +

+ f +

+ +

+ f(s,it) with return type boost::result_of<F(S,It)>::type for current state s of type S, + and for each iterator it + of type It + on an element of seq +

+ +

+ Operation's argument +

+
-

- Parameter -

-
-

- Requirement -

-
-

- Description -

-
-

- seq -

-
-

- A model of Bidirectional - Sequence -

-
-

- Operation's argument -

-
-

- initial_state -

-
-

- Any type -

-
-

- Initial state -

-
-

- f -

-
-

- f(s,it) with return type boost::result_of<F(S,It)>::type for current state - s of type - S, and for - each iterator it - of type It - on an element of seq -

-
-

- Operation's argument -

-
-


- -

-
- - Expression - Semantics -
-

- -

+
+ + Expression + Semantics +
reverse_iter_fold(seq, initial_state, f);
 

-

+ Return type: Any type +

- Return type: Any type -

+ Semantics: Equivalent to f(... + f(f(initial_state,itN),itN-1) ...it1) where it1 ...itN + are consecutive iterators on the elements of seq. +

+
+ + Complexity +

-

-

- Semantics: Equivalent to f(... - f(f(initial_state,itN),itN-1) ...it1) where it1 - ...itN are consecutive iterators on the elements of seq. -

-

- -

-
- - Complexity -
-

-

-

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

-

- -

-
- - Header -
-

- -

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

+
+ + Header +
#include <boost/fusion/algorithm/iteration/reverse_iter_fold.hpp>
 #include <boost/fusion/include/reverse_iter_fold.hpp>
 
-

- -

-
- - Example -
-

- -

+
+ + Example +
struct make_string
 {
     typedef std::string result_type;
@@ -233,8 +191,6 @@
 const vector<int,int> vec(1,2);
 assert(reverse_iter_fold(vec,std::string(""), make_string()) == "21");
 
-

-

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html index ae3863dc..3ba4f7bd 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html @@ -26,28 +26,17 @@ +
+ + Description +

- -

-
- - Description -
-

-

-

- Returns the result type of accumulate. -

-

- -

-
- - Synopsis -
-

- -

+ Returns the result type of accumulate. +

+
+ + Synopsis +
template<
     typename Sequence,
     typename State,
@@ -57,10 +46,8 @@
     typedef unspecified type;
 };
 
-

-

-

Table 1.48. Parameters

+

Table 1.48. Parameters

@@ -69,132 +56,112 @@ +

+ 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<F(S,E)>::type is the return type of + f(s,e) with current state s of type S, + and an element e + of type E in + seq +

+ +

+ The operation to be applied on traversal +

+
-

- 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<F(S,E)>::type is the return type - of f(s,e) with current state s of type S, and an element e of type E in seq -

-
-

- The operation to be applied on traversal -

-
-


- -

-
- - Expression - Semantics -
-

- -

+
+ + Expression + Semantics +
accumulate<Sequence, State, F>::type
 

-

+ Return type: Any type +

- Return type: Any type -

+ Semantics: Returns the result of applying + accumulate to a sequence of + type Sequence, with an + initial state of type State + and binary function object or function pointer of type F. +

+
+ + Complexity +

-

-

- Semantics: Returns the result of applying - accumulate to a sequence of - type Sequence, with - an initial state of type State - and binary function object or function pointer of type F. -

-

- -

-
- - Complexity -
-

-

-

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

-

- -

-
- - Header -
-

- -

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

+
+ + Header +
#include <boost/fusion/algorithm/iteration/accumulate.hpp>
 #include <boost/fusion/include/accumulate.hpp>
 
-

-

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html index 611e7d1f..9f539ed7 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html @@ -26,28 +26,17 @@ +
+ + Description +

- -

-
- - Description -
-

-

-

- Returns the result type of fold. -

-

- -

-
- - Synopsis -
-

- -

+ Returns the result type of fold. +

+
+ + Synopsis +
template<
     typename Sequence,
     typename State,
@@ -57,10 +46,8 @@
     typedef unspecified type;
 };
 
-

-

-

Table 1.44. Parameters

+

Table 1.44. Parameters

@@ -69,132 +56,112 @@ +

+ 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<F(S,E)>::type is the return type of + f(s,e) with current state s of type S, + and an element e + of type E in + seq +

+ +

+ The operation to be applied on traversal +

+
-

- 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<F(S,E)>::type is the return type - of f(s,e) with current state s of type S, and an element e of type E in seq -

-
-

- The operation to be applied on traversal -

-
-


- -

-
- - Expression - Semantics -
-

- -

+
+ + Expression + Semantics +
fold<Sequence, State, F>::type
 

-

+ Return type: Any type +

- Return type: Any type -

+ Semantics: Returns the result of applying + fold to a sequence of type + Sequence, with an initial + state of type State and + binary function object or function pointer of type F. +

+
+ + Complexity +

-

-

- Semantics: Returns the result of applying - fold to a sequence of type - Sequence, with an initial - state of type State - and binary function object or function pointer of type F. -

-

- -

-
- - Complexity -
-

-

-

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

-

- -

-
- - Header -
-

- -

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

+
+ + Header +
#include <boost/fusion/algorithm/iteration/fold.hpp>
 #include <boost/fusion/include/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 16925792..f583754e 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.49. Parameters

+

Table 1.49. 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/iteration/metafunctions/iter_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
index 92a475dc..57757a97 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
@@ -26,28 +26,17 @@
 
+
+ + Description +

- -

-
- - Description -
-

-

-

- Returns the result type of iter_fold. -

-

- -

-
- - Synopsis -
-

- -

+ Returns the result type of iter_fold. +

+
+ + Synopsis +
template<
     typename Sequence,
     typename State,
@@ -57,10 +46,8 @@
     typedef unspecified type;
 };
 
-

-

-

Table 1.46. Parameters

+

Table 1.46. Parameters

@@ -69,132 +56,112 @@ +

+ 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<F(S,It)>::type is the return type of + f(s,it) with current state s of type S, + and an iterator it + of type It + on an element of seq +

+ +

+ The operation to be applied on traversal +

+
-

- 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<F(S,It)>::type is the return type - of f(s,it) with current state s of type S, and an iterator it of type It on an element of seq -

-
-

- The operation to be applied on traversal -

-
-


- -

-
- - Expression - Semantics -
-

- -

+
+ + Expression + Semantics +
iter_fold<Sequence, State, F>::type
 

-

+ Return type: Any type +

- Return type: Any type -

+ Semantics: Returns the result of applying + iter_fold to a sequence of type + Sequence, with an initial + state of type State and + binary function object or function pointer of type F. +

+
+ + Complexity +

-

-

- Semantics: Returns the result of applying - iter_fold to a sequence of - type Sequence, with - an initial state of type State - and binary function object or function pointer of type F. -

-

- -

-
- - Complexity -
-

-

-

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

-

- -

-
- - Header -
-

- -

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

+
+ + Header +
#include <boost/fusion/algorithm/iteration/iter_fold.hpp>
 #include <boost/fusion/include/iter_fold.hpp>
 
-

-

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html index 53668e3e..e2c8f622 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html @@ -26,28 +26,17 @@ +
+ + Description +

- -

-
- - Description -
-

-

-

- Returns the result type of reverse_fold. -

-

- -

-
- - Synopsis -
-

- -

+ Returns the result type of reverse_fold. +

+
+ + Synopsis +
template<
     typename Sequence,
     typename State,
@@ -57,10 +46,8 @@
     typedef unspecified type;
 };
 
-

-

-

Table 1.45. Parameters

+

Table 1.45. Parameters

@@ -69,132 +56,112 @@ +

+ Parameter +

+ +

+ Requirement +

+ +

+ Description +

+ +

+ Sequence +

+ +

+ A model of Bidirectional + Sequence +

+ +

+ The sequence to iterate +

+ +

+ State +

+ +

+ Any type +

+ +

+ The initial state for the first application of F +

+ +

+ F +

+ +

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

+ +

+ The operation to be applied on traversal +

+
-

- Parameter -

-
-

- Requirement -

-
-

- Description -

-
-

- Sequence -

-
-

- A model of Bidirectional - Sequence -

-
-

- The sequence to iterate -

-
-

- State -

-
-

- Any type -

-
-

- The initial state for the first application of F -

-
-

- F -

-
-

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

-
-

- The operation to be applied on traversal -

-
-


- -

-
- - Expression - Semantics -
-

- -

+
+ + Expression + Semantics +
reverse_fold<Sequence, State, F>::type
 

-

+ Return type: Any type +

- Return type: Any type -

+ Semantics: Returns the result of applying + reverse_fold to a sequence of + type Sequence, with an + initial state of type State + and binary function object or function pointer of type F. +

+
+ + Complexity +

-

-

- Semantics: Returns the result of applying - reverse_fold to a sequence - of type Sequence, with - an initial state of type State - and binary function object or function pointer of type F. -

-

- -

-
- - Complexity -
-

-

-

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

-

- -

-
- - Header -
-

- -

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

+
+ + Header +
#include <boost/fusion/algorithm/iteration/reverse_fold.hpp>
 #include <boost/fusion/include/reverse_fold.hpp>
 
-

-

diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html index 2de292af..4b32b3ae 100644 --- a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html +++ b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html @@ -26,28 +26,17 @@ +
+ + Description +

- -

-
- - Description -
-

-

-

- Returns the result type of reverse_iter_fold. -

-

- -

-
- - Synopsis -
-

- -

+ Returns the result type of reverse_iter_fold. +

+
+ + Synopsis +
template<
     typename Sequence,
     typename State,
@@ -57,10 +46,8 @@
     typedef unspecified type;
 };
 
-

-

-

Table 1.47. Parameters

+

Table 1.47. Parameters

@@ -69,132 +56,112 @@ +

+ Parameter +

+ +

+ Requirement +

+ +

+ Description +

+ +

+ Sequence +

+ +

+ A model of Bidirectional + Sequence +

+ +

+ The sequence to iterate +

+ +

+ State +

+ +

+ Any type +

+ +

+ The initial state for the first application of F +

+ +

+ F +

+ +

+ boost::result_of<F(S,It)>::type is the return type of + f(s,it) with current state s of type S, + and an iterator it + of type It + on an element of seq +

+ +

+ The operation to be applied on traversal +

+
-

- Parameter -

-
-

- Requirement -

-
-

- Description -

-
-

- Sequence -

-
-

- A model of Bidirectional - Sequence -

-
-

- The sequence to iterate -

-
-

- State -

-
-

- Any type -

-
-

- The initial state for the first application of F -

-
-

- F -

-
-

- boost::result_of<F(S,It)>::type is the return type - of f(s,it) with current state s of type S, and an iterator it of type It on an element of seq -

-
-

- The operation to be applied on traversal -

-
-


- -

-
- - Expression - Semantics -
-

- -

+
+ + Expression + Semantics +
reverse_iter_fold<Sequence, State, F>::type
 

-

+ Return type: Any type +

- Return type: Any type -

+ Semantics: Returns the result of applying + reverse_iter_fold to a sequence + of type Sequence, with + an initial state of type State + and binary function object or function pointer of type F. +

+
+ + Complexity +

-

-

- Semantics: Returns the result of applying - reverse_iter_fold to a sequence - of type Sequence, with - an initial state of type State - and binary function object or function pointer of type F. -

-

- -

-
- - Complexity -
-

-

-

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

-

- -

-
- - Header -
-

- -

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

+
+ + Header +
#include <boost/fusion/algorithm/iteration/reverse_iter_fold.hpp>
 #include <boost/fusion/include/reverse_iter_fold.hpp>
 
-

-

diff --git a/doc/html/fusion/algorithm/query.html b/doc/html/fusion/algorithm/query.html index abd788e2..b9ebb3c3 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 4ac32139..71213f86 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.51. Parameters

+

Table 1.51. Parameters

@@ -116,7 +116,7 @@

- + Expression Semantics
@@ -132,21 +132,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 82e4d4c6..41737213 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.50. Parameters

+

Table 1.50. Parameters

@@ -116,7 +116,7 @@

- + Expression semantics
@@ -132,21 +132,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 7bec68dd..d28117de 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.55. Parameters

+

Table 1.55. Parameters

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

- + Expression Semantics
@@ -128,21 +128,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 7f68b98c..5e9d2263 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.56. Parameters

+

Table 1.56. Parameters

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

- + Expression Semantics
@@ -127,21 +127,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 58fc3cea..9a98eb71 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.53. Parameters

+

Table 1.53. 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 c9cd859c..74e8e87c 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.54. Parameters

+

Table 1.54. Parameters

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

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

- + Complexity

@@ -143,14 +143,14 @@

  1. - include <boost/fusion/algorithm/query/find_if.hpp> -
  2. + include <boost/fusion/algorithm/query/find_if.hpp> +
  3. - include <boost/fusion/include/find_if.hpp> -
  4. + include <boost/fusion/include/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 498339e5..e8a0ba27 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.52. Parameters

+

Table 1.52. Parameters

@@ -116,7 +116,7 @@

- + Expression Semantics
@@ -132,21 +132,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 693cdfd2..964c816a 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.58. Parameters

+

Table 1.58. 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 912d0630..1813cffe 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.57. Parameters

+

Table 1.57. 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 ecab141c..3c07d111 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.62. Parameters

+

Table 1.62. 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 669848e3..2b66145c 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.63. Parameters

+

Table 1.63. 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 b293ca99..da62e55b 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.60. Parameters

+

Table 1.60. 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 2cc65029..26e3f9f9 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.61. Parameters

+

Table 1.61. 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 4f7569d3..44859b61 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.59. Parameters

+

Table 1.59. 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 84b47b7e..db733e02 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 7e218fa9..d24d232a 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.73. Parameters

+

Table 1.73. 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 c4dff429..45256962 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.74. Parameters

+

Table 1.74. Parameters

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

- + Expression Semantics
@@ -149,15 +149,15 @@

Semantics: Returns a new sequence, containing @@ -171,15 +171,15 @@

Semantics: Returns a new sequence, with @@ -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 5e325928..d63fd4ad 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.75. Parameters

+

Table 1.75. 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 81b93812..b45753d0 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.64. Parameters

+

Table 1.64. Parameters

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

- + Expression Semantics
@@ -120,15 +120,15 @@

Semantics: Returns a sequence containing @@ -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 e86b3933..4605984d 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.65. Parameters

+

Table 1.65. Parameters

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

- + Expression Semantics
@@ -122,15 +122,15 @@

Semantics: Returns a sequence containing @@ -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 2e7958c5..a82b79ec 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.76. Parameters

+

Table 1.76. Parameters

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

- + Expression Semantics
@@ -139,9 +139,9 @@ Return type:

+ A model of Forward + Sequence. +

Semantics: Returns a new sequence, containing all the elements of seq, @@ -150,21 +150,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 1fd76288..35454bd4 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.77. Parameters

+

Table 1.77. Parameters

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

- + Expression Semantics
@@ -141,15 +141,15 @@

Semantics: Returns a new sequence, containing @@ -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 2b7159d9..bf925950 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.78. Parameters

+

Table 1.78. Parameters

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

- + Expression Semantics
@@ -120,16 +120,16 @@

Semantics: Returns a sequence containing @@ -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 db1c16a2..2f2605e0 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.80. Parameters

+

Table 1.80. Parameters

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

- + Expression Semantics
@@ -99,15 +99,15 @@

Semantics: Returns a new sequence containing @@ -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 edddb5ab..06ffd2a5 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.81. Parameters

+

Table 1.81. Parameters

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

- + Expression Semantics
@@ -99,15 +99,15 @@

Semantics: Returns a new sequence containing @@ -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 fbc1bd58..5e5069e3 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.82. Parameters

+

Table 1.82. Parameters

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

- + Expression Semantics
@@ -119,9 +119,9 @@ Return type:

+ A model of Forward + Sequence. +

Semantics: Returns a new sequence, containing all the elements of seq, @@ -129,21 +129,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 853f8352..bf3f87d7 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.83. Parameters

+

Table 1.83. Parameters

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

- + Expression Semantics
@@ -119,9 +119,9 @@ Return type:

+ A model of Forward + Sequence. +

Semantics: Returns a new sequence, containing all the elements of seq, @@ -130,21 +130,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 5d192f1d..be996a35 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.70. Parameters

+

Table 1.70. Parameters

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

- + Expression Semantics
@@ -120,15 +120,15 @@

Semantics: Returns a new sequence, containing @@ -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 3fc8936b..fabb95a0 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.71. Parameters

+

Table 1.71. Parameters

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

- + Expression Semantics
@@ -121,15 +121,15 @@

Semantics: Returns a new sequence, containing @@ -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 653c3c61..327000ee 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.68. Parameters

+

Table 1.68. Parameters

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

- + Expression Semantics
@@ -149,21 +149,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 2bbaa865..b5d2a2df 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.69. Parameters

+

Table 1.69. Parameters

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

- + Expression Semantics
@@ -149,21 +149,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 40a6991e..1032b5fd 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.72. Parameters

+

Table 1.72. Parameters

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

- + Expression Semantics
@@ -99,20 +99,20 @@

Semantics: Returns a new sequence containing @@ -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 9b043708..a7b245d9 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.66. Parameters

+

Table 1.66. Parameters

@@ -118,7 +118,7 @@

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

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

Table 1.67. Parameters

+

Table 1.67. Parameters

@@ -244,21 +244,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 5b4131e9..5f19dca4 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.79. Parameters

+

Table 1.79. 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 256c42c0..7bdc4acc 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.93. Parameters

+

Table 1.93. 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 78530cb0..8683bff0 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.94. Parameters

+

Table 1.94. Parameters

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

- + Expression Semantics
@@ -142,15 +142,15 @@

Semantics: Returns a new sequence with @@ -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 3cd47c6b..466e7136 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.95. Parameters

+

Table 1.95. 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 53bdc0f5..d0d15b47 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.84. Parameter

+

Table 1.84. Parameter

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

- + Expression Semantics
@@ -123,15 +123,15 @@

Semantics: Returns a sequence containing @@ -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 cf4945a1..05cdef1b 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.85. Parameter

+

Table 1.85. Parameter

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

- + Expression Semantics
@@ -125,15 +125,15 @@

Semantics: Returns a sequence containing @@ -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 de7a2a9b..10095f3c 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.96. Parameters

+

Table 1.96. Parameters

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

- + Expression Semantics
@@ -141,9 +141,9 @@ Return type:

+ A model of Forward + Sequence. +

Semantics: Returns a sequence with an element of type T inserted @@ -151,14 +151,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 950c3e5f..c65afda1 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.97. Parameters

+

Table 1.97. Parameters

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

- + Expression Semantics
@@ -143,15 +143,15 @@

Semantics: Returns a sequence with the @@ -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 b5f185c0..b1d2f82c 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
@@ -58,16 +58,16 @@

Semantics: Returns a sequence containing @@ -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 83f270b1..d80e4a6c 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.98. Parameters

+

Table 1.98. Parameters

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

- + Expression Semantics
@@ -103,15 +103,15 @@

Semantics: Returns a sequence with all @@ -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 def63af6..e7b00290 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.99. Parameters

+

Table 1.99. Parameters

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

- + Expression Semantics
@@ -103,15 +103,15 @@

Semantics: Returns a sequence with all @@ -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 c1ef4eea..f4bfdfe8 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.100. Parameters

+

Table 1.100. Parameters

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

- + Expression Semantics
@@ -122,9 +122,9 @@ Return type:

+ A model of Forward + Sequence. +

Semantics: Returns a sequence with the elements of Sequence @@ -132,14 +132,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 6db21dec..eed04014 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.101. Parameters

+

Table 1.101. Parameters

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

- + Expression Semantics
@@ -122,9 +122,9 @@ Return type:

+ A model of Forward + Sequence. +

Semantics: Returns a sequence with the elements of Sequence @@ -132,14 +132,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 604b42f6..f364684a 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.90. Parameters

+

Table 1.90. Parameters

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

- + Expression Semantics
@@ -123,15 +123,15 @@

Semantics: Returns a sequence containing @@ -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 c4c171a9..fcd56ca2 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.91. Parameters

+

Table 1.91. Parameters

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

- + Expression Semantics
@@ -125,15 +125,15 @@

Semantics: Returns a sequence containing @@ -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 a54e4966..112d249b 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.88. Parameters

+

Table 1.88. 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 548eb6ec..9e6f62ec 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.89. Parameters

+

Table 1.89. 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 80066844..a83c47a2 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.92. Parameters

+

Table 1.92. Parameters

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

- + Expression Semantics
@@ -103,34 +103,34 @@

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 35ae0aa4..940ee1f0 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.86. Parameters

+

Table 1.86. Parameters

@@ -118,7 +118,7 @@

- + Expression Semantics
@@ -129,15 +129,15 @@

Semantics: Returns a new sequence, containing @@ -145,7 +145,7 @@ within seq.

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

Table 1.87. Parameters

+

Table 1.87. Parameters

@@ -255,21 +255,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 002d89ff..92d8e1ee 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/change_log.html b/doc/html/fusion/change_log.html
index 8afaa06b..3e8710f0 100644
--- a/doc/html/fusion/change_log.html
+++ b/doc/html/fusion/change_log.html
@@ -31,66 +31,68 @@
     

diff --git a/doc/html/fusion/container.html b/doc/html/fusion/container.html index d4384437..835efdf2 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 173ad208..892bf0c0 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
@@ -95,8 +95,6 @@

@@ -119,10 +117,12 @@
-

-

- + Model of
- +

Notation

@@ -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 67a4aec2..e1cccef8 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 0d6ec598..e1172ada 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 e15630e4..77cd3e26 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
@@ -106,18 +106,17 @@

Precondition: The elements of the sequence - are assumed to be __fusionpair_s. - There may be no duplicate fusion::pair key types. + are assumed to be __fusion_pair__s. 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 bc78765f..5d6ae4cb 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 14c9d27e..efca0b8a 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 68e01649..019605c6 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 12d616d2..7658114b 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
@@ -102,18 +102,17 @@

Precondition: The elements of the sequence - are assumed to be __fusionpair_s. - There may be no duplicate fusion::pair key types. + are assumed to be __fusion_pair__s. 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 600c4360..0e94baf3 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 a8c955ff..fe16c4c3 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 9932c8a4..0b54ff8a 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 bf1f316e..6e45762f 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 c43dd32b..bf206bdf 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 7b30598f..946d6f51 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 b7525596..2eef475c 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 4fdca06b..6ac89e89 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 b1b5c128..5c9b05b6 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 0bc3cc9a..34d1d229 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 1816e20d..c18a140a 100644
--- a/doc/html/fusion/container/generation/functions/tiers.html
+++ b/doc/html/fusion/container/generation/functions/tiers.html
@@ -33,9 +33,15 @@
             flavors.
           

Example: @@ -48,9 +54,7 @@ The vector_tie function creates 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] - . + with the call make_vector(ref(i), ref(c), ref(a)) [9].

A tie can be used to 'unpack' another tuple into @@ -66,7 +70,7 @@ when calling functions which return sequences.

- + Ignore

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



-

[9] - see Boost.Ref - for details about ref -

+

[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 70e610e3..074dde96 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 b1c92917..230a78a2 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 404661af..0a3e2872 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 6965b729..a9190387 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 de70f19b..65a9a2fe 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 cdb47a8a..26a7272b 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 aa677be7..1b669d31 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 e7a8bd34..f2ea1fef 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 37cd6d9b..0a902f3d 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 e2e1df51..44c7344f 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,10 +120,12 @@
- + Model of
- +

Notation

@@ -152,7 +154,7 @@
- + Expression Semantics

@@ -259,7 +261,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 87de7a4d..3dd55981 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,13 +122,17 @@
- + Model of

Notation

@@ -153,7 +157,7 @@
- + Expression Semantics

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

- + Example
typedef map<
diff --git a/doc/html/fusion/container/set.html b/doc/html/fusion/container/set.html
index 52e35f6d..a44b9248 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,13 +121,17 @@
- + Model of

Notation

@@ -152,7 +156,7 @@
- + Expression Semantics

@@ -236,7 +240,7 @@

- + Example
typedef set<int, float> S;
diff --git a/doc/html/fusion/container/vector.html b/doc/html/fusion/container/vector.html
index d8b9d22b..5630b681 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>
@@ -47,8 +47,8 @@
 #include <boost/fusion/container/vector/vector_fwd.hpp>
 #include <boost/fusion/include/vector_fwd.hpp>
 
-// numbered forms
-#include <boost/fusion/container/vector/vector10.hpp>
+// numbered forms
+#include <boost/fusion/container/vector/vector10.hpp>
 #include <boost/fusion/include/vector10.hpp>
 #include <boost/fusion/container/vector/vector20.hpp>
 #include <boost/fusion/include/vector20.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,11 +160,13 @@
- + Model of
- +

Notation

@@ -188,7 +190,7 @@
- + Expression Semantics

@@ -271,7 +273,7 @@

- + Example
vector<int, float> v(12, 5.5f);
diff --git a/doc/html/fusion/extension.html b/doc/html/fusion/extension.html
index 4121e3c4..d824138e 100644
--- a/doc/html/fusion/extension.html
+++ b/doc/html/fusion/extension.html
@@ -27,7 +27,7 @@
 Extension
 
 
diff --git a/doc/html/fusion/extension/ext_full.html b/doc/html/fusion/extension/ext_full.html
index a041fdfe..3bd04ac0 100644
--- a/doc/html/fusion/extension/ext_full.html
+++ b/doc/html/fusion/extension/ext_full.html
@@ -24,7 +24,7 @@
 
 

The Fusion library is designed to be extensible, new sequences types can @@ -37,19 +37,20 @@

  1. - Enable the tag dispatching - mechanism used by Fusion for your sequence type -
  2. + Enable the tag + dispatching mechanism used by Fusion for your sequence + type +
  3. - Design an iterator type for the sequence -
  4. + Design an iterator type for the sequence +
  5. - Provide specialized behaviour for the intrinsic operations of the new Fusion - sequence -
  6. + Provide specialized behaviour for the intrinsic operations of the new + Fusion sequence +
- + Our example

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

- + Enabling Tag Dispatching
@@ -90,8 +91,8 @@ a new tag type for the mechanism to use. For example:

namespace example {
-    struct example_sequence_tag; // Only definition needed
-}
+    struct example_sequence_tag; // Only definition needed
+}
 

Next we need to enable the traits::tag_of @@ -120,7 +121,7 @@ #include <boost/fusion/include/tag_of.hpp>

- + Designing a suitable iterator
@@ -154,23 +155,23 @@

  1. - The iterator is parameterized by the type it is iterating over, and the - index of the current element. -
  2. + The iterator is parameterized by the type it is iterating over, and the + index of the current element. +
  3. - The typedefs struct_type - and index provide convenient - access to information we will need later in the implementation. -
  4. + The typedefs struct_type + and index provide convenient + access to information we will need later in the implementation. +
  5. - The typedef category allows - the traits::category_of - metafunction to establish the traversal category of the iterator. -
  6. + The typedef category + allows the traits::category_of + metafunction to establish the traversal category of the iterator. +
  7. - The constructor stores a reference to the example_struct - being iterated over. -
  8. + The constructor stores a reference to the example_struct + being iterated over. +

We also need to enable tag @@ -182,7 +183,7 @@ clearer as we add features to our implementation.

- + A first couple of instructive features
@@ -322,7 +323,7 @@

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

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

- + Enabling our type as an associative sequence
@@ -437,9 +438,8 @@ In order for example_struct to serve as an associative forward sequence, we need to adapt the traversal category of our sequence and our iterator accordingly and enable 3 intrinsic - sequence lookup features, at_key, __value_atkey_ - and has_key. We also need to enable - 3 iterator lookup features, result_of::key_of, result_of::value_of_data and deref_data. + sequence lookup features, at_key, __value_at_key__ and has_key. + We also need to enable 3 iterator lookup features, result_of::key_of, result_of::value_of_data and deref_data.

To implement at_key_impl @@ -494,7 +494,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 c0f32c73..0942789f 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.104. Parameters

+

Table 1.104. Parameters

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

-

Table 1.105. Key Expressions

+

Table 1.105. Key Expressions

@@ -442,14 +442,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 ef9a4bc6..8ad28731 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 @@ sequence.

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

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

-

Table 1.102. Parameters

+

Table 1.102. Parameters

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

-

Table 1.103. Key Expressions

+

Table 1.103. Key Expressions

@@ -272,14 +272,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 c0756573..1ec0d730 100644 --- a/doc/html/fusion/functional.html +++ b/doc/html/fusion/functional.html @@ -29,12 +29,12 @@

Concepts
-
Callable Object
-
Regular Callable +
Callable Object
+
Regular Callable Object
-
Deferred - Callable Object
-
Polymorphic Function +
Deferred Callable + Object
+
Polymorphic Function Object
Invocation
@@ -43,7 +43,7 @@
Metafunctions
Limits
-
Adapters
+
Adapters
fused
fused_procedure
@@ -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 68207f44..d77476bd 100644 --- a/doc/html/fusion/functional/adapters.html +++ b/doc/html/fusion/functional/adapters.html @@ -24,7 +24,7 @@
fused
diff --git a/doc/html/fusion/functional/adapters/fused.html b/doc/html/fusion/functional/adapters/fused.html index 5e531402..2f20f4af 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
@@ -107,20 +107,22 @@

-

-

- + Model of

Notation

@@ -146,7 +148,7 @@
- + Expression Semantics
@@ -211,22 +213,32 @@
- + 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 f39070f9..38ee1863 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
@@ -97,21 +97,23 @@

-

-

- + Model of

Notation

@@ -137,7 +139,7 @@
- + Expression Semantics
@@ -202,7 +204,7 @@
- + Example
template<class SeqOfSeqs, class Func>
@@ -239,16 +241,26 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/fused_procedure.html b/doc/html/fusion/functional/adapters/fused_procedure.html index 6cf1a52a..671f3da5 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
@@ -115,21 +115,23 @@

-

-

- + Model of

Notation

@@ -155,7 +157,7 @@
- + Expression Semantics
@@ -220,7 +222,7 @@
- + Example
template<class SequenceOfSequences, class Func>
@@ -240,15 +242,23 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/limits.html b/doc/html/fusion/functional/adapters/limits.html index 9d93c743..377f2ba6 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

@@ -43,11 +43,11 @@

  • - BOOST_FUSION_UNFUSED_MAX_ARITY -
  • + BOOST_FUSION_UNFUSED_MAX_ARITY +
  • - BOOST_FUSION_UNFUSED_TYPE_MAX_ARITY -
  • + BOOST_FUSION_UNFUSED_TYPE_MAX_ARITY +
diff --git a/doc/html/fusion/functional/adapters/unfused.html b/doc/html/fusion/functional/adapters/unfused.html index 972c6ff9..2e631692 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
@@ -111,8 +111,6 @@

@@ -135,14 +133,18 @@
-

-

- + Model of

Notation

@@ -172,7 +174,7 @@
- + Expression Semantics
@@ -237,7 +239,7 @@
- + Example
struct fused_incrementer
@@ -264,12 +266,16 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/unfused_typed.html b/doc/html/fusion/functional/adapters/unfused_typed.html index 550b9ba4..6b5d14da 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
@@ -120,8 +120,6 @@

@@ -136,22 +134,24 @@

-

-

-

-

- + Model of

Notation

@@ -186,7 +186,7 @@
- + Expression Semantics
@@ -253,13 +253,13 @@
- + Example
-
struct add_assign // applies operator+=
-{
-    typedef void result_type; // for simplicity
-
+
struct add_assign // applies operator+=
+{
+    typedef void result_type; // for simplicity
+
     template <typename T>
     void operator()(T & lhs, T const & rhs) const
     {
@@ -285,8 +285,8 @@
     }
 };
 
-// accepts a tie and creates a typed function object from it
-struct fused_parallel_adder_maker
+// accepts a tie and creates a typed function object from it
+struct fused_parallel_adder_maker
 {
     template <typename Sig>
     struct result;
@@ -312,22 +312,28 @@
 void try_it()
 {
     int a = 2; char b = 'X';
-    // the second call is strictly typed with the types deduced from the
-    // first call
-    parallel_add(a,b)(3,2);
+    // the second call is strictly typed with the types deduced from the
+    // first call
+    parallel_add(a,b)(3,2);
     parallel_add(a,b)(3);
     parallel_add(a,b)();
     assert(a == 8 && b == 'Z');
 }
 
- + See also
diff --git a/doc/html/fusion/functional/concepts.html b/doc/html/fusion/functional/concepts.html index d7c9debc..fdb489c6 100644 --- a/doc/html/fusion/functional/concepts.html +++ b/doc/html/fusion/functional/concepts.html @@ -27,12 +27,12 @@ Concepts diff --git a/doc/html/fusion/functional/concepts/callable.html b/doc/html/fusion/functional/concepts/callable.html index 43209e2b..47293f37 100644 --- a/doc/html/fusion/functional/concepts/callable.html +++ b/doc/html/fusion/functional/concepts/callable.html @@ -24,10 +24,10 @@
- + Description

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

- + Models
  • - function pointer types -
  • + function pointer types +
  • - member (function or data) pointer types -
  • + member (function or data) pointer types +
  • - all kinds of function objects -
  • + all kinds of function objects +
- + Examples
& a_free_function
@@ -59,8 +59,8 @@
 & a_class::a_nonstatic_data_member
 & a_class::a_nonstatic_member_function
 std::less<int>()
-// using namespace boost;
-bind(std::less<int>(), _1, 5)
+// using namespace boost;
+bind(std::less<int>(), _1, 5)
 lambda::_1 += lambda::_2;
 fusion::make_fused_function_object(std::less<int>())
 
diff --git a/doc/html/fusion/functional/concepts/def_callable.html b/doc/html/fusion/functional/concepts/def_callable.html index f7592ea8..815bf0de 100644 --- a/doc/html/fusion/functional/concepts/def_callable.html +++ b/doc/html/fusion/functional/concepts/def_callable.html @@ -24,11 +24,11 @@
- + Description

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

- + Refinement of
- +
- + Expression requirements
@@ -115,20 +117,20 @@
- + Models
- + Examples
& a_free_function
@@ -136,10 +138,10 @@
 & a_class::a_nonstatic_data_member
 & a_class::a_nonstatic_member_function
 std::less<int>()
-// using namespace boost;
-bind(std::less<int>(), _1, 5)
-// Note: Boost.Lambda expressions don't work with __boost_result_of__
-fusion::make_fused_function_object(std::less<int>())
+// using namespace boost;
+bind(std::less<int>(), _1, 5)
+// Note: Boost.Lambda expressions don't work with __boost_result_of__
+fusion::make_fused_function_object(std::less<int>())
 
diff --git a/doc/html/fusion/functional/concepts/poly.html b/doc/html/fusion/functional/concepts/poly.html index 2dad21fc..b31c240c 100644 --- a/doc/html/fusion/functional/concepts/poly.html +++ b/doc/html/fusion/functional/concepts/poly.html @@ -24,11 +24,11 @@
- + Models
  • - function pointers -
  • + function pointers +
  • - function objects of the Standard Library -
  • + function objects of the Standard Library +
  • - all Fusion functional adapters -
  • + all Fusion functional adapters +
- + Examples
& a_free_function
 & a_class::a_static_member_function
 std::less<int>()
-// using namespace boost;
-bind(std::less<int>(), _1, 5)
-// Note: Boost.Lambda expressions don't work with __boost_result_of__
-fusion::make_fused_function_object(std::less<int>())
+// using namespace boost;
+bind(std::less<int>(), _1, 5)
+// Note: Boost.Lambda expressions don't work with __boost_result_of__
+fusion::make_fused_function_object(std::less<int>())
 
diff --git a/doc/html/fusion/functional/concepts/reg_callable.html b/doc/html/fusion/functional/concepts/reg_callable.html index fc801e9f..80eac1f1 100644 --- a/doc/html/fusion/functional/concepts/reg_callable.html +++ b/doc/html/fusion/functional/concepts/reg_callable.html @@ -24,11 +24,11 @@
- + Description

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

- + Refinement of
- +

Notation

@@ -65,7 +67,7 @@
- + Expression requirements
@@ -112,26 +114,26 @@
- + Models
  • - function pointer types -
  • + function pointer types +
  • - all kinds of function objects -
  • + all kinds of function objects +
- + Examples
& a_free_function
 & a_class::a_static_member_function
 std::less<int>()
-// using namespace boost;
-bind(std::less<int>(), _1, 5)
+// using namespace boost;
+bind(std::less<int>(), _1, 5)
 lambda::_1 += lambda::_2;
 fusion::make_fused_function_object(std::less<int>())
 
diff --git a/doc/html/fusion/functional/generation/functions.html b/doc/html/fusion/functional/generation/functions.html index 0f60c80b..44e766ab 100644 --- a/doc/html/fusion/functional/generation/functions.html +++ b/doc/html/fusion/functional/generation/functions.html @@ -27,14 +27,10 @@ Functions diff --git a/doc/html/fusion/functional/generation/functions/mk_fused.html b/doc/html/fusion/functional/generation/functions/mk_fused.html index 02a4dda1..0b0dd592 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused.html @@ -24,11 +24,10 @@
- + Description

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

- + Synopsis
template <typename F>
@@ -45,7 +44,7 @@
 make_fused(F const & f);
 
- + Parameters
@@ -91,7 +90,7 @@
- + Expression Semantics
@@ -104,14 +103,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,14 +125,20 @@
 }
 
- + 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 c060ea47..68969bc7 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html @@ -24,11 +24,10 @@
- + Description

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

- + Synopsis
template <typename F>
@@ -46,7 +45,7 @@
 make_fused_function_object(F const & f);
 
- + Parameters
@@ -92,7 +91,7 @@
- + Expression Semantics
@@ -106,14 +105,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,14 +140,20 @@
 }
 
- + 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 fa5a069c..425ec0ee 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_proc.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_proc.html @@ -24,11 +24,10 @@
- + Description

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

- + Synopsis
template <typename F>
@@ -46,7 +45,7 @@
 make_fused_procedure(F const & f);
 
- + Parameters
@@ -92,7 +91,7 @@
- + Expression Semantics
@@ -106,14 +105,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,14 +121,20 @@
 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 62c518b9..99b06363 100644 --- a/doc/html/fusion/functional/generation/functions/mk_unfused.html +++ b/doc/html/fusion/functional/generation/functions/mk_unfused.html @@ -24,11 +24,10 @@
- + Description

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

- + Synopsis
template <typename F>
@@ -46,7 +45,7 @@
 make_unfused(F const & f);
 
- + Parameters
@@ -92,7 +91,7 @@
- + Expression Semantics
@@ -105,14 +104,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,14 +137,20 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/generation/metafunctions.html b/doc/html/fusion/functional/generation/metafunctions.html index 2fe034ef..9237b7b4 100644 --- a/doc/html/fusion/functional/generation/metafunctions.html +++ b/doc/html/fusion/functional/generation/metafunctions.html @@ -27,14 +27,10 @@ Metafunctions
diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html index eecca47b..1803e10d 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html @@ -24,25 +24,24 @@
- + 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,11 +54,13 @@
 }
 
- + 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 8ebcf5ca..981fc0ed 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html @@ -24,25 +24,24 @@
- + 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,11 +54,13 @@
 }
 
- + 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 abb85b90..6054225b 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html @@ -24,25 +24,24 @@
- + 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,11 +54,13 @@
 }
 
- + 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 b9040b89..c26b8169 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html @@ -24,25 +24,24 @@
- + 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,11 +54,13 @@
 }
 
- + See also
- +
diff --git a/doc/html/fusion/functional/invocation/functions.html b/doc/html/fusion/functional/invocation/functions.html index d37df442..e8a63ee2 100644 --- a/doc/html/fusion/functional/invocation/functions.html +++ b/doc/html/fusion/functional/invocation/functions.html @@ -28,10 +28,8 @@
diff --git a/doc/html/fusion/functional/invocation/functions/invoke.html b/doc/html/fusion/functional/invocation/functions/invoke.html index 6506c238..2fb42f2c 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,29 +149,39 @@ 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 3531d38b..5b6ebbd3 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke_fobj.html +++ b/doc/html/fusion/functional/invocation/functions/invoke_fobj.html @@ -24,11 +24,10 @@
- + Description

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

- + Synopsis
template<
@@ -61,7 +60,7 @@
 invoke_function_object(Function f, Sequence const & s);
 
- + Parameters
@@ -127,7 +126,7 @@
- + Expression Semantics
@@ -143,13 +142,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,16 +174,26 @@
 }
 
- + 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 46bffce4..a701377c 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/functions/invoke_proc.html @@ -24,11 +24,10 @@
- + Description

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

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

- + Header
#include <booost/fusion/functional/invocation/invoke_procedure.hpp>
 
- + Example
vector<int,int> v(1,2);
@@ -166,16 +165,26 @@
 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 a2e61cda..265fbc81 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

@@ -42,14 +42,14 @@

  • - BOOST_FUSION_INVOKE_MAX_ARITY -
  • + BOOST_FUSION_INVOKE_MAX_ARITY +
  • - BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY -
  • + BOOST_FUSION_INVOKE_PROCEDURE_MAX_ARITY +
  • - BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY -
  • + BOOST_FUSION_INVOKE_FUNCTION_OBJECT_MAX_ARITY +
diff --git a/doc/html/fusion/functional/invocation/metafunctions.html b/doc/html/fusion/functional/invocation/metafunctions.html index c858ae14..3f9b3c3b 100644 --- a/doc/html/fusion/functional/invocation/metafunctions.html +++ b/doc/html/fusion/functional/invocation/metafunctions.html @@ -28,10 +28,8 @@
diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke.html b/doc/html/fusion/functional/invocation/metafunctions/invoke.html index c0972149..838b8635 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,13 +50,17 @@
 }
 
- + 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 d5840e4f..745c097b 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html @@ -24,18 +24,17 @@
diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html b/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html index 9bb967de..80812e75 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html @@ -24,18 +24,17 @@
- + Description

Returns the result type of invoke_procedure.

- + Synopsis
namespace result_of
@@ -51,13 +50,17 @@
 }
 
- + See also
diff --git a/doc/html/fusion/introduction.html b/doc/html/fusion/introduction.html index 0335aa12..0f1a6314 100644 --- a/doc/html/fusion/introduction.html +++ b/doc/html/fusion/introduction.html @@ -116,10 +116,8 @@ sequences and MPL sequences are fully compatible with Fusion. You can work with Fusion sequences on MPL if you - wish to work solely on types - [1] - . In MPL, Fusion - sequences follow MPL's + wish to work solely on types [1]. In MPL, + Fusion sequences follow MPL's sequence-type preserving semantics (i.e. algorithms preserve the original sequence type. e.g. transforming a vector returns a vector). You can also convert from an MPL sequence @@ -132,12 +130,12 @@



-

[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) - for the runtime part. -

+

[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) + for the runtime part. +

diff --git a/doc/html/fusion/iterator.html b/doc/html/fusion/iterator.html index 1858343b..6e03bea0 100644 --- a/doc/html/fusion/iterator.html +++ b/doc/html/fusion/iterator.html @@ -50,11 +50,11 @@
Operator
-
Operator +
Operator *
-
Operator +
Operator ==
-
Operator +
Operator !=
Metafunctions
@@ -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 a8b3cb92..2235d447 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,41 +174,41 @@
- + Models
diff --git a/doc/html/fusion/iterator/concepts/bidirectional_iterator.html b/doc/html/fusion/iterator/concepts/bidirectional_iterator.html index a75e4f35..6d3821d4 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

@@ -256,41 +256,52 @@ Iterator, the following invariants always hold:

- + Models
diff --git a/doc/html/fusion/iterator/concepts/forward_iterator.html b/doc/html/fusion/iterator/concepts/forward_iterator.html index f8d0047b..f08664cc 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

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

- + Expression requirements
@@ -237,7 +237,7 @@
- + Meta Expressions
@@ -348,212 +348,115 @@
- + Expression Semantics
-
---- - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - -
-

- Expression -

-
-

- Semantics -

-
-

- next(i) -

-
-

- An iterator to the element following i -

-
-

- i == - j -

-
-

- Iterator equality comparison -

-
-

- i != - j -

-
-

- Iterator inequality comparison -

-
-

- advance_c<N>(i) -

-
-

- An iterator n elements after i - in the sequence -

-
-

- advance<M>(i) -

-
-

- Equivalent to advance_c<M::value>(i) -

-
-

- distance(i, - j) -

-
-

- The number of elements between i - and j -

-
-

- deref(i) -

-
-

- The element at positioni -

-
-

- *i -

-
-

- Equivalent to deref(i) -

-
+

+ [ table [[Expression] [Semantics]] [[next(i)] [An + iterator to the element following i]] + [[i == + j] [Iterator equality comparison]] + [[i != + j] [Iterator inequality comparison]] + [[advance_c<N>(i)] [An + iterator n elements after i + in the sequence]] [[advance<M>(i)] [Equivalent + to advance_c<M::value>(i)]] [[distance(i, j)] [The number of elements between i and j]] + [[deref(i)] + [The element at positioni]] + [[*i] + [Equivalent to deref(i)]] + ] +

- + Invariants

The following invariants always hold:

    -
  • !(i - == j) == (i != j)
  • -
  • next(i) == advance_c<1>(i)
  • -
  • distance(i, advance_c<N>(i)) == N
  • - Using next to traverse the - sequence will never return to a previously seen position -
  • + !(i + == j) == (i != j) +
  • -deref(i) is equivalent to *i -
  • + next(i) == advance_c<1>(i) +
  • - If i == - j then *i is equivalent to *j -
  • + distance(i, advance_c<N>(i)) == N + +
  • + Using next to traverse the + sequence will never return to a previously seen position +
  • +
  • + deref(i) + is equivalent to *i +
  • +
  • + If i == + j then *i is equivalent to *j +
- + Models
diff --git a/doc/html/fusion/iterator/concepts/random_access_iterator.html b/doc/html/fusion/iterator/concepts/random_access_iterator.html index 8a3475d4..bec84fce 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

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

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

- + Expression requirements
@@ -175,7 +175,7 @@
- + Meta Expressions
@@ -238,37 +238,41 @@
- + Models
diff --git a/doc/html/fusion/iterator/functions/advance.html b/doc/html/fusion/iterator/functions/advance.html index 88f748ab..664aa3aa 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 15d17428..dc9f4b41 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 c5090516..ecaeed27 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 d0c06da6..efb78667 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 072e7e1c..b67dd227 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 411ec597..69fc0e93 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 5ee951dd..31fc7212 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 0078cfb9..4371e87a 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 543006ff..23ba1565 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 2bc6a2e8..18f5ecb6 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 7989328d..b9fa0819 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 625e9ed0..0d14862a 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 2d7acb1f..5c53c980 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 8eb86050..70aa8f77 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 8a0286f6..bc54bd35 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 3d877f94..8d69925b 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 5e591478..dff259c7 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 925f87dc..7f73f6a7 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.html b/doc/html/fusion/iterator/operator.html
index 062ccc08..d999ef85 100644
--- a/doc/html/fusion/iterator/operator.html
+++ b/doc/html/fusion/iterator/operator.html
@@ -27,11 +27,11 @@
 Operator
 
 
 

diff --git a/doc/html/fusion/iterator/operator/operator_equality.html b/doc/html/fusion/iterator/operator/operator_equality.html index 87224bd0..8757a100 100644 --- a/doc/html/fusion/iterator/operator/operator_equality.html +++ b/doc/html/fusion/iterator/operator/operator_equality.html @@ -24,18 +24,18 @@

- + 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 0312000a..a5b3bb8c 100644
--- a/doc/html/fusion/iterator/operator/operator_inequality.html
+++ b/doc/html/fusion/iterator/operator/operator_inequality.html
@@ -24,18 +24,18 @@
 
- + 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 b7b70b22..e38ffefb 100644
--- a/doc/html/fusion/iterator/operator/operator_unary_star.html
+++ b/doc/html/fusion/iterator/operator/operator_unary_star.html
@@ -24,18 +24,18 @@
 
- + 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 af707421..857c31dc 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

@@ -59,14 +59,14 @@

  1. - A type for which an appropriate template specialization is required -
  2. + A type for which an appropriate template specialization is required +
  3. - A metafunction that associates the type with a tag type -
  4. + A metafunction that associates the type with a tag type +
  5. - A template that is specialized for the tag type -
  6. + A template that is specialized for the tag type +

For example, the fusion result_of::begin metafunction @@ -86,22 +86,22 @@

  1. -Sequence is the type for - which a suitable implementation of result_of::begin_impl - is required -
  2. + Sequence is the type for + which a suitable implementation of result_of::begin_impl + is required +
  3. -traits::tag_of is the metafunction that associates - Sequence with an appropriate - tag -
  4. + traits::tag_of is the metafunction that associates + Sequence with an appropriate + tag +
  5. -result_of::begin_impl is the template which is specialized - to provide an implementation for each tag type -
  6. + result_of::begin_impl is the template which is specialized + to provide an implementation for each tag type +

- + Extensibility

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

- + Element Conversion

@@ -157,9 +157,7 @@ Arrays:

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

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

- + boost::ref

@@ -215,18 +213,18 @@ For example:

A a; B b; const A ca = a;
-make_list(cref(a), b);          // creates list<const A&, B>
-make_list(ref(a), b);           // creates list<A&, B>
-make_list(ref(a), cref(b));     // creates list<A&, const B&>
-make_list(cref(ca));            // creates list<const A&>
-make_list(ref(ca));             // creates list<const A&>
-
+make_list(cref(a), b); // creates list<const A&, B> +make_list(ref(a), b); // creates list<A&, B> +make_list(ref(a), cref(b)); // creates list<A&, const B&> +make_list(cref(ca)); // creates list<const A&> +make_list(ref(ca)); // creates list<const A&> +

See Boost.Ref for details.

- + adt_attribute_proxy

@@ -458,12 +456,12 @@



-

[12] - 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 - wrapper (see boost::ref). -

+

[12] + 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 + wrapper (see boost::ref). +

diff --git a/doc/html/fusion/organization.html b/doc/html/fusion/organization.html index 120a1e09..882004f6 100644 --- a/doc/html/fusion/organization.html +++ b/doc/html/fusion/organization.html @@ -35,18 +35,12 @@ The library is organized in three layers:

- + Layers

-
-

-

-

- fusion_org -

-

-

-
+

+ fusion_org +

The entire library is found in the "boost/fusion" directory. Modules are organized in directories. Each module has its own header @@ -66,128 +60,128 @@ against.

- + Directory

  • - tuple -
  • + tuple +
  • - algorithm -
      + algorithm +
      • - iteration -
      • + iteration +
      • - query -
      • + query +
      • - transformation -
      • + transformation +
      - +
    • - adapted -
        + adapted +
        • - array -
        • + array +
        • - mpl -
        • + mpl +
        • - boost::tuple -
        • + boost::tuple +
        • - std_pair -
        • + std_pair +
        • - struct -
        • + struct +
        • - variant -
        • + variant +
        - +
      • - view -
          + view +
          • - filter_view -
          • + filter_view +
          • - iterator_range -
          • + iterator_range +
          • - joint_view -
          • + joint_view +
          • - reverse_view -
          • + reverse_view +
          • - single_view -
          • + single_view +
          • - transform_view -
          • + transform_view +
          • - zip_view -
          • + zip_view +
          - +
        • - container -
            + container +
            • - deque -
            • + deque +
            • - list -
            • + list +
            • - map -
            • + map +
            • - set -
            • + set +
            • - vector -
            • + vector +
            • - generation -
            • + generation +
            - +
          • - mpl -
          • + mpl +
          • - functional -
          • + functional +
          • - sequence -
              + sequence +
              • - comparison -
              • + comparison +
              • - intrinsic -
              • + intrinsic +
              • - io -
              • + io +
              - +
            • - iterator -
            • + iterator +
            • - support -
            • + support +

            - + Example

            @@ -202,15 +196,14 @@

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



            -

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

            +

            [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 c579d8f1..00670f90 100644 --- a/doc/html/fusion/preface.html +++ b/doc/html/fusion/preface.html @@ -26,26 +26,14 @@ -
-

-

-

- Algorithms + Data Structures = Programs. -

-

-

-
-
-

-

-

- --Niklaus Wirth -

-

-

-
+

+ Algorithms + Data Structures = Programs. +

+

+ --Niklaus Wirth +

- + Description

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

- + Motivation

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

- + How to use this manual

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

-

Table 1.1. Icons

+

Table 1.1. Icons

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

- + Support

diff --git a/doc/html/fusion/quick_start.html b/doc/html/fusion/quick_start.html index b6d664e1..cecf37a7 100644 --- a/doc/html/fusion/quick_start.html +++ b/doc/html/fusion/quick_start.html @@ -34,16 +34,13 @@

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

#include <boost/fusion/sequence.hpp>
 #include <boost/fusion/include/sequence.hpp>
 

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

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

- + Print the vector as XML

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

- + Print only pointers

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

- + Associative tuples

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

- + Tip of the Iceberg

@@ -229,16 +226,16 @@



-

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

-

[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. -

+

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

+

[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 ad9d81cc..5681308c 100644 --- a/doc/html/fusion/references.html +++ b/doc/html/fusion/references.html @@ -27,33 +27,33 @@
  1. -New - Iterator Concepts, David Abrahams, Jeremy Siek, Thomas Witt, 2004-11-01. -
  2. + New + Iterator Concepts, David Abrahams, Jeremy Siek, Thomas Witt, 2004-11-01. +
  3. -The Boost - Tuple Library, Jaakko Jarvi, 2001. -
  4. + The + Boost Tuple Library, Jaakko Jarvi, 2001. +
  5. -Spirit Parser Library, - Joel de Guzman, 2001-2006. -
  6. + Spirit Parser Library, + Joel de Guzman, 2001-2006. +
  7. -The Boost MPL Library, - Aleksey Gurtovoy and David Abrahams, 2002-2004. -
  8. + The Boost MPL Library, + Aleksey Gurtovoy and David Abrahams, 2002-2004. +
  9. -Boost Array, - Nicolai Josuttis, 2002-2004. -
  10. + Boost Array, + Nicolai Josuttis, 2002-2004. +
  11. -Standard Template Library Programmer's - Guide, Hewlett-Packard Company, 1994. -
  12. + Standard Template Library Programmer's + Guide, Hewlett-Packard Company, 1994. +
  13. -Boost.Ref, Jaakko - Jarvi, Peter Dimov, Douglas Gregor, Dave Abrahams, 1999-2002. -
  14. + Boost.Ref, + Jaakko Jarvi, Peter Dimov, Douglas Gregor, Dave Abrahams, 1999-2002. +
diff --git a/doc/html/fusion/sequence.html b/doc/html/fusion/sequence.html index 91035473..a21db998 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 5a0d36f5..f65949a0 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 3931e0e9..0322ec00 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
@@ -114,8 +114,6 @@

-

-

@@ -135,8 +133,6 @@

-

-

@@ -173,7 +169,7 @@

- + Result Type Expressions
@@ -247,7 +243,7 @@

- + Expression Semantics
@@ -302,35 +298,39 @@
- + Models
diff --git a/doc/html/fusion/sequence/concepts/bidirectional_sequence.html b/doc/html/fusion/sequence/concepts/bidirectional_sequence.html index 15dfaf07..75c37d11 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
@@ -117,8 +117,6 @@

-

-

@@ -139,8 +137,6 @@

-

-

@@ -160,8 +156,6 @@

-

-

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

- + Result Type Expressions
@@ -259,7 +253,7 @@
- + Expression Semantics
@@ -299,26 +293,37 @@
- + Models
diff --git a/doc/html/fusion/sequence/concepts/forward_sequence.html b/doc/html/fusion/sequence/concepts/forward_sequence.html index 05767c95..8cefe386 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
@@ -110,8 +110,6 @@

-

-

@@ -132,8 +130,6 @@

-

-

@@ -154,8 +150,6 @@

-

-

@@ -176,8 +170,6 @@

-

-

@@ -197,8 +189,6 @@

-

-

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

- + Result Type Expressions
@@ -320,7 +310,7 @@
- + Expression Semantics
@@ -408,7 +398,7 @@
- + Invariants

@@ -416,42 +406,71 @@

  • -[begin(s), end(s)) is always a valid range. -
  • + [begin(s), end(s)) is always a valid range. +
  • - An Algorithm that iterates through - the range [begin(s), end(s)) will pass through every element of - s exactly once. -
  • + An Algorithm that iterates + through the range [begin(s), end(s)) will pass through every element of + s exactly once. +
  • -begin(s) - is identical to end(s)) - if and only if s is empty. -
  • + begin(s) + is identical to end(s)) + if and only if s is + empty. +
  • - Two different iterations through s - will access its elements in the same order. -
  • + Two different iterations through s + will access its elements in the same order. +
- + Models
diff --git a/doc/html/fusion/sequence/concepts/random_access_sequence.html b/doc/html/fusion/sequence/concepts/random_access_sequence.html index 71c375db..c96a6bc8 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
@@ -124,8 +124,6 @@

-

-

@@ -146,8 +144,6 @@

-

-

@@ -167,8 +163,6 @@

-

-

@@ -205,7 +199,7 @@

- + Result Type Expressions
@@ -291,7 +285,7 @@

- + Expression Semantics
@@ -331,26 +325,37 @@
- + Models
diff --git a/doc/html/fusion/sequence/intrinsic.html b/doc/html/fusion/sequence/intrinsic.html index b9882c96..d9b925d3 100644 --- a/doc/html/fusion/sequence/intrinsic.html +++ b/doc/html/fusion/sequence/intrinsic.html @@ -36,12 +36,10 @@ counterparts of these functions are usually implemented as member functions. Intrinsic functions, unlike Algorithms, are not generic across the full Sequence - repertoire. They need to be implemented for each Fusion Sequence - [5] - . + repertoire. They need to be implemented for each Fusion Sequence[5].

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


-

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

+

[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 d4bb6909..c5bfcb0d 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 dbb2c62e..e5cafd76 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 ace219fd..0ac391e2 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 255ce5aa..7bc31c29 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 da04b53d..1f4b1beb 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
@@ -103,37 +103,37 @@

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 397b45d9..a8f3626c 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 b697fb8d..9985eead 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
@@ -103,37 +103,37 @@

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 0d1d74e8..1ee317f3 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 9177a076..9754c1e7 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 de71f62f..cdb6a09b 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 4748ace9..3834d00c 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 f85b92da..8e2c365f 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
@@ -27,16 +27,14 @@
 at
 
 
- + Description

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

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

Table 1.29. Parameters

+

Table 1.29. Parameters

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

- + Expression Semantics
@@ -127,14 +125,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,12 +140,12 @@
 


-

[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 - to get the actual element type, use result_of::value_at -

+

[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 to + get the actual element type, use result_of::value_at +

diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html b/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html index d2216bae..7decbf1a 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at_c.html @@ -27,16 +27,14 @@ at_c
- + Description

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

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

Table 1.30. Parameters

+

Table 1.30. Parameters

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

- + Expression Semantics
@@ -126,14 +124,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,12 +139,12 @@
 


-

[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 - to get the actual element type, use result_of::value_at_c -

+

[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 + to get the actual element type, use result_of::value_at_c +

diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html b/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html index 20cacbf0..ffc3d21d 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at_key.html @@ -27,16 +27,14 @@ at_key
- + Description

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

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

Table 1.34. Parameters

+

Table 1.34. Parameters

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

- + Expression Semantics
@@ -128,14 +126,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,12 +141,12 @@
 


-

[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 - want to get the actual element type, use result_of::value_at_key -

+

[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 want + to get the actual element type, use result_of::value_at_key +

diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/back.html b/doc/html/fusion/sequence/intrinsic/metafunctions/back.html index 20eb07bc..d457ba8a 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 73c3357b..77234c2e 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
@@ -100,37 +100,37 @@

Semantics: Returns the type of an iterator 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 f936a1f0..886779d1 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 d3ac7c23..194a8e6d 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
@@ -100,37 +100,37 @@

Semantics: Returns the type of an iterator 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 602a8743..c3def5dd 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 74248ca5..16e983f7 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 177e8fa4..0c9cecd4 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 088158c1..b3cffc7f 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 4b766981..58d0cba7 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 a93facda..6beaeea2 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 96c8f012..a617e6b7 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 ede616cc..a8849362 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 4fe1d53d..1bf9474b 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
@@ -119,18 +119,17 @@ in sequence a, and for each element, e2, in sequence b, e1 == e2 returns true. For any 2 zero length - _sequence_s, e and f, e == f returns - true. + __sequence__s, e and f, e == f returns 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 c8f6ba8f..894eac5d 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 c2b67126..ed44f441 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 fd2884d8..d1d6df44 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 f5974510..6e33dcb7 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 eea3158a..6a8f7efd 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 e0da9452..990b7b68 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 b6a98b18..b04a0932 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 e1a9ab6a..c3fd7f5d 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 ba07cfca..2d80db72 100644
--- a/doc/html/fusion/support/category_of.html
+++ b/doc/html/fusion/support/category_of.html
@@ -27,7 +27,7 @@
 category_of
 
 
- + Description

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

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

- + Header
#include <boost/fusion/support/category_of.hpp>
 #include <boost/fusion/include/category_of.hpp>
 
- + Example
using boost::is_base_of;
diff --git a/doc/html/fusion/support/deduce.html b/doc/html/fusion/support/deduce.html
index 8fe7a8ea..78813dc7 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,10 +80,12 @@
 }
 
- + See also
- + diff --git a/doc/html/fusion/support/deduce_sequence.html b/doc/html/fusion/support/deduce_sequence.html index fccd3838..c620818f 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,10 +80,12 @@
 }
 
- + See also
- +
diff --git a/doc/html/fusion/support/is_sequence.html b/doc/html/fusion/support/is_sequence.html index feaeed93..0ef1a98f 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 d49994d8..40128231 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 f6ff3323..0e79948c 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
@@ -137,7 +137,7 @@
- + Expression Semantics
@@ -317,14 +317,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 44df1f87..5f5b3f62 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 ab31bafc..00ad4835 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 3969cc0e..cb0f7258 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 c8a9dd23..c99f6e74 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 e586f7ab..5ade5e72 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 3f879cd4..0b0a0fb4 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,17 +28,17 @@ creation functions
- + Description

- TR1 describes 2 utility functions for creating _tr1tuple_s. make_tuple - builds a tuple out of it's argument list, and tie + TR1 describes 2 utility functions for creating __tr1__tuple__s. make_tuple builds a tuple out of it's + argument list, and tie builds a tuple of references to it's arguments. The details of these creation 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 36ee3868..c2e93744 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 196853ca..4c89cd3b 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
@@ -83,10 +83,7 @@
         ill-formed.
       

- Returns: pr.first - if I == - 0 else pr.second.[*Returns: - pr.first if I + [*Returns: pr.first if I == 0 else pr.second.

diff --git a/doc/html/fusion/view.html b/doc/html/fusion/view.html index 53d5d02c..73f3a10d 100644 --- a/doc/html/fusion/view.html +++ b/doc/html/fusion/view.html @@ -47,7 +47,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 35a6afd5..76868945 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
@@ -92,8 +92,6 @@

@@ -108,24 +106,24 @@

-

-

-

-

- + Model of

Notation

@@ -146,7 +144,7 @@
- + Expression Semantics

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

- + Example
using boost::mpl::_;
diff --git a/doc/html/fusion/view/iterator_range.html b/doc/html/fusion/view/iterator_range.html
index 8932f575..43b95aed 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
@@ -88,8 +88,6 @@

@@ -104,32 +102,30 @@

-

-

-

-

- + Model of

Notation

@@ -153,7 +149,7 @@
- + Expression Semantics
@@ -227,7 +223,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 5a28a489..93a87107 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
@@ -89,8 +89,6 @@

@@ -106,25 +104,25 @@

-

-

-

-

- + Model of

Notation

@@ -148,7 +146,7 @@
- + Expression Semantics

@@ -220,7 +218,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 9672bcf4..19653eb6 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
@@ -96,8 +96,6 @@

@@ -113,8 +111,6 @@

@@ -137,14 +133,14 @@
-

-

-

-

- + Model of
+ Random + Access Sequence (see Sequence + Traversal Concept) +

Notation

@@ -163,7 +159,7 @@
- + Expression Semantics

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

- + Example
typedef vector<int, char, double> vec;
@@ -247,9 +243,9 @@
 
 vec v1(1, 'c', 2.0);
 
-std::cout << nview<vec, indicies>(v1) << std::endl; // (2.0 c 1 2.0 1)
-std::cout << as_nview<2, 1, 1, 0>(v1) << std::endl; // (2.0 c c 1)
-
+std::cout << nview<vec, indicies>(v1) << std::endl; // (2.0 c 1 2.0 1) +std::cout << as_nview<2, 1, 1, 0>(v1) << std::endl; // (2.0 c c 1) +
diff --git a/doc/html/fusion/view/repetitive_view.html b/doc/html/fusion/view/repetitive_view.html index ef1b8ca4..9c636bfe 100644 --- a/doc/html/fusion/view/repetitive_view.html +++ b/doc/html/fusion/view/repetitive_view.html @@ -27,7 +27,7 @@ repetitive_view
- + Description

@@ -40,21 +40,21 @@ is not.

- + Header
#include <boost/fusion/view/repetitive_view.hpp>
 #include <boost/fusion/include/repetitive_view.hpp>
 
- + Synopsis
template <typename Sequence>
 struct repetitive_view;
 
- + Template parameters
@@ -94,8 +94,6 @@

-

-

@@ -117,7 +115,7 @@
- + Expression Semantics
@@ -152,8 +150,6 @@

-

-

@@ -169,8 +165,6 @@

-

-

@@ -188,8 +182,6 @@

-

-

@@ -213,8 +205,6 @@

-

-

@@ -238,7 +228,7 @@
- + Result Type Expressions
@@ -263,7 +253,7 @@
- + Example
typedef vector<int, char, double> vec1;
@@ -272,8 +262,8 @@
 vec1 v1(1, 'c', 2.0);
 vec2 v2(repetitive_view<vec1>(v1));
 
-std::cout << v2 << std::endl; // 1, 'c', 2.0, 1, 'c'
-
+std::cout << v2 << std::endl; // 1, 'c', 2.0, 1, 'c' +
diff --git a/doc/html/fusion/view/reverse_view.html b/doc/html/fusion/view/reverse_view.html index c642bbea..6df8902b 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
@@ -85,31 +85,29 @@

-

-

- + Model of

Notation

@@ -129,7 +127,7 @@
- + Expression Semantics
@@ -201,7 +199,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 8309989e..3902dd28 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
@@ -83,16 +83,17 @@

-

-

- + Model of
- +

Notation

@@ -111,13 +112,13 @@
- + Expression Semantics

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

@@ -182,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 b62c69e5..da88ed47 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
@@ -99,8 +99,6 @@

@@ -116,8 +114,6 @@

@@ -133,8 +129,6 @@

@@ -152,8 +146,6 @@

@@ -172,24 +164,22 @@

-

-

-

-

-

-

-

-

-

-

- + Model of
+ Forward Sequence, + Bidirectional + Sequence or Random + Access Sequence depending on the traversal characteristics (see + Sequence Traversal + Concept) of its underlying sequence. +

Notation

@@ -234,7 +224,7 @@
- + Expression Semantics
@@ -329,7 +319,7 @@
- + Example
struct square
diff --git a/doc/html/fusion/view/zip_view.html b/doc/html/fusion/view/zip_view.html
index aa19eb52..5ed95eca 100644
--- a/doc/html/fusion/view/zip_view.html
+++ b/doc/html/fusion/view/zip_view.html
@@ -27,7 +27,7 @@
 zip_view
 
 
- + Description

@@ -35,24 +35,24 @@ which iterates over a collection of Sequence(s) in parallel. A zip_view is constructed from a Sequence of references - to the component _sequence_s. + 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
@@ -87,27 +87,25 @@

A Forward - Sequence of references to other Fusion _sequence_s + Sequence of references to other Fusion __sequence__s

-

-

- + Model of
+ Forward Sequence, + Bidirectional + Sequence or Random + Access Sequence depending on the traversal characteristics (see + Sequence Traversal + Concept) of its underlying sequence. +

Notation

@@ -126,7 +124,7 @@
- + Expression Semantics

@@ -161,7 +159,7 @@

Creates a zip_view - given a sequence of references to the component _sequence_s. + given a sequence of references to the component __sequence__s.

@@ -197,7 +195,7 @@
- + Example
typedef vector<int,int> vec1;
@@ -205,8 +203,8 @@
 vec1 v1(1,2);
 vec2 v2('a','b');
 typedef vector<vec1&, vec2&> sequences;
-std::cout << zip_view<sequences>(sequences(v1, v2)) << std::endl; // ((1 a) (2 b))
-
+std::cout << zip_view<sequences>(sequences(v1, v2)) << std::endl; // ((1 a) (2 b)) +
diff --git a/doc/html/index.html b/doc/html/index.html index 8a1fd378..e70b9d80 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)

@@ -82,11 +82,11 @@
Operator
-
Operator +
Operator *
-
Operator +
Operator ==
-
Operator +
Operator !=
Metafunctions
@@ -160,25 +160,25 @@
Adapted
-
Array
+
Array
std::pair
mpl sequence
boost::array
boost::tuple
-
BOOST_FUSION_ADAPT_STRUCT
-
BOOST_FUSION_ADAPT_TPL_STRUCT
-
BOOST_FUSION_ADAPT_STRUCT_NAMED
-
BOOST_FUSION_ADAPT_ASSOC_STRUCT
-
BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT
-
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED
-
BOOST_FUSION_ADAPT_ADT
-
BOOST_FUSION_ADAPT_TPL_ADT
-
BOOST_FUSION_ADAPT_ASSOC_ADT
-
BOOST_FUSION_ADAPT_ASSOC_TPL_ADT
-
BOOST_FUSION_DEFINE_STRUCT
-
BOOST_FUSION_DEFINE_TPL_STRUCT
-
BOOST_FUSION_DEFINE_ASSOC_STRUCT
-
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT
+
BOOST_FUSION_ADAPT_STRUCT
+
BOOST_FUSION_ADAPT_TPL_STRUCT
+
BOOST_FUSION_ADAPT_STRUCT_NAMED
+
BOOST_FUSION_ADAPT_ASSOC_STRUCT
+
BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT
+
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED
+
BOOST_FUSION_ADAPT_ADT
+
BOOST_FUSION_ADAPT_TPL_ADT
+
BOOST_FUSION_ADAPT_ASSOC_ADT
+
BOOST_FUSION_ADAPT_ASSOC_TPL_ADT
+
BOOST_FUSION_DEFINE_STRUCT
+
BOOST_FUSION_DEFINE_TPL_STRUCT
+
BOOST_FUSION_DEFINE_ASSOC_STRUCT
+
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT
Algorithm
@@ -218,7 +218,7 @@
Extension
-
The Full Extension Mechanism
+
The Full Extension Mechanism
Sequence Facade
Iterator Facade
@@ -226,12 +226,12 @@
Concepts
-
Callable Object
-
Regular Callable +
Callable Object
+
Regular Callable Object
-
Deferred - Callable Object
-
Polymorphic Function +
Deferred Callable + Object
+
Polymorphic Function Object
Invocation
@@ -240,7 +240,7 @@
Metafunctions
Limits
-
Adapters
+
Adapters
fused
fused_procedure
@@ -263,7 +263,7 @@
- +

Last revised: July 06, 2011 at 18:22:15 GMT

Last revised: July 08, 2011 at 18:14:46 GMT


diff --git a/doc/iterator.qbk b/doc/iterator.qbk index 5a706c5a..8e076e53 100644 --- a/doc/iterator.qbk +++ b/doc/iterator.qbk @@ -160,6 +160,7 @@ the following invariants always hold: * __std_pair__ iterator * __boost_array__ iterator * __vector__ iterator +* __single_view__ iterator * __iterator_range__ (where adapted sequence is a __bidirectional_sequence__) * __transform_view__ (where adapted sequence is a __bidirectional_sequence__) * __reverse_view__ @@ -206,6 +207,7 @@ the following expressions must be valid: * __vector__ iterator * __std_pair__ iterator * __boost_array__ iterator +* __single_view__ iterator * __iterator_range__ iterator (where adapted sequence is a __random_access_sequence__) * __transform_view__ iterator (where adapted sequence is a __random_access_sequence__) * __reverse_view__ iterator (where adapted sequence is a __random_access_sequence__) diff --git a/doc/sequence.qbk b/doc/sequence.qbk index e40f20c1..7127fe49 100644 --- a/doc/sequence.qbk +++ b/doc/sequence.qbk @@ -189,6 +189,7 @@ are not defined in __forward_sequence__. * __boost_array__ * __vector__ * __reverse_view__ +* __single_view__ * __iterator_range__ (where adapted sequence is a Bidirectional Sequence) * __transform_view__ (where adapted sequence is a Bidirectional Sequence) * __zip_view__ (where adapted sequences are models of Bidirectional Sequence) @@ -264,6 +265,7 @@ are not defined in __bidirectional_sequence__. * __boost_array__ * __vector__ * __reverse_view__ +* __single_view__ * __iterator_range__ (where adapted sequence is a Random Access Sequence) * __transform_view__ (where adapted sequence is a Random Access Sequence) * __zip_view__ (where adapted sequences are models of Random Access Sequence) diff --git a/doc/view.qbk b/doc/view.qbk index f4a00a78..7c6899f1 100644 --- a/doc/view.qbk +++ b/doc/view.qbk @@ -43,7 +43,7 @@ lazy nature make them very cheap to copy and be passed around by value. [heading Model of] -* __forward_sequence__ +* __random_access_sequence__ [variablelist Notation [[`S`] [A `single_view` type]] @@ -54,7 +54,7 @@ lazy nature make them very cheap to copy and be passed around by value. [heading Expression Semantics] Semantics of an expression is defined only where it differs from, or is not -defined in __forward_sequence__. +defined in __random_access_sequence__. [table [[Expression] [Semantics]] diff --git a/include/boost/fusion/view/single_view/detail/advance_impl.hpp b/include/boost/fusion/view/single_view/detail/advance_impl.hpp new file mode 100644 index 00000000..d0846ec4 --- /dev/null +++ b/include/boost/fusion/view/single_view/detail/advance_impl.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SINGLE_VIEW_ADVANCE_IMPL_JUL_07_2011_1348PM) +#define BOOST_FUSION_SINGLE_VIEW_ADVANCE_IMPL_JUL_07_2011_1348PM + +#include + +namespace boost { namespace fusion +{ + struct single_view_iterator_tag; + + template + struct single_view_iterator; + + namespace extension + { + template + struct advance_impl; + + template<> + struct advance_impl + { + template + struct apply + { + typedef single_view_iterator< + typename Iterator::single_view_type, + typename mpl::plus::type> + type; + + static type + call(Iterator const& i) + { + return type(i.view); + } + }; + }; + } + +}} + +#endif diff --git a/include/boost/fusion/view/single_view/detail/at_impl.hpp b/include/boost/fusion/view/single_view/detail/at_impl.hpp new file mode 100644 index 00000000..3e0915fc --- /dev/null +++ b/include/boost/fusion/view/single_view/detail/at_impl.hpp @@ -0,0 +1,44 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SINGLE_VIEW_AT_IMPL_JUL_07_2011_1348PM) +#define BOOST_FUSION_SINGLE_VIEW_AT_IMPL_JUL_07_2011_1348PM + +#include +#include +#include + +namespace boost { namespace fusion +{ + struct single_view_tag; + + namespace extension + { + template + struct at_impl; + + template<> + struct at_impl + { + template + struct apply + { + BOOST_MPL_ASSERT((mpl::equal_to >)); + typedef typename Sequence::value_type type; + + static type + call(Sequence& seq) + { + return seq.val; + } + }; + }; + } + +}} + +#endif diff --git a/include/boost/fusion/view/single_view/detail/begin_impl.hpp b/include/boost/fusion/view/single_view/detail/begin_impl.hpp index 395992be..20dbef88 100644 --- a/include/boost/fusion/view/single_view/detail/begin_impl.hpp +++ b/include/boost/fusion/view/single_view/detail/begin_impl.hpp @@ -1,17 +1,20 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2011 Eric Niebler 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_05052005_0305) -#define FUSION_BEGIN_IMPL_05052005_0305 +#if !defined(BOOST_FUSION_SINGLE_VIEW_BEGIN_IMPL_05052005_0305) +#define BOOST_FUSION_SINGLE_VIEW_BEGIN_IMPL_05052005_0305 + +#include namespace boost { namespace fusion { struct single_view_tag; - template + template struct single_view_iterator; namespace extension @@ -25,12 +28,12 @@ namespace boost { namespace fusion template struct apply { - typedef single_view_iterator type; + typedef single_view_iterator > type; static type - call(Sequence& s) + call(Sequence& seq) { - return type(s); + return type(seq); } }; }; diff --git a/include/boost/fusion/view/single_view/detail/deref_impl.hpp b/include/boost/fusion/view/single_view/detail/deref_impl.hpp index 355cf6ac..89dc5c24 100644 --- a/include/boost/fusion/view/single_view/detail/deref_impl.hpp +++ b/include/boost/fusion/view/single_view/detail/deref_impl.hpp @@ -1,15 +1,16 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2011 Eric Niebler 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_DEREF_IMPL_05052005_0258) -#define FUSION_DEREF_IMPL_05052005_0258 +#if !defined(BOOST_FUSION_SINGLE_VIEW_DEREF_IMPL_05052005_0258) +#define BOOST_FUSION_SINGLE_VIEW_DEREF_IMPL_05052005_0258 -#include -#include -#include +#include +#include +#include namespace boost { namespace fusion { @@ -26,12 +27,13 @@ namespace boost { namespace fusion template struct apply { + BOOST_MPL_ASSERT((mpl::equal_to >)); typedef typename Iterator::value_type type; static type call(Iterator const& i) { - return i.val; + return i.view.val; } }; }; diff --git a/include/boost/fusion/view/single_view/detail/distance_impl.hpp b/include/boost/fusion/view/single_view/detail/distance_impl.hpp new file mode 100644 index 00000000..fec204cd --- /dev/null +++ b/include/boost/fusion/view/single_view/detail/distance_impl.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SINGLE_VIEW_DISTANCE_IMPL_JUL_07_2011_1348PM) +#define BOOST_FUSION_SINGLE_VIEW_DISTANCE_IMPL_JUL_07_2011_1348PM + +#include + +namespace boost { namespace fusion +{ + struct single_view_iterator_tag; + + namespace extension + { + template + struct distance_impl; + + template<> + struct distance_impl + { + template + struct apply + : mpl::minus + { + typedef typename mpl::minus::type type; + + static type + call(First const& /*first*/, Last const& /*last*/) + { + return type(); + } + }; + }; + } + +}} + +#endif diff --git a/include/boost/fusion/view/single_view/detail/end_impl.hpp b/include/boost/fusion/view/single_view/detail/end_impl.hpp index d239c242..c542c251 100644 --- a/include/boost/fusion/view/single_view/detail/end_impl.hpp +++ b/include/boost/fusion/view/single_view/detail/end_impl.hpp @@ -1,18 +1,21 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2011 Eric Niebler 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_05052005_0332) -#define FUSION_END_IMPL_05052005_0332 +#if !defined(BOOST_FUSION_SINGLE_VIEW_END_IMPL_05052005_0332) +#define BOOST_FUSION_SINGLE_VIEW_END_IMPL_05052005_0332 + +#include namespace boost { namespace fusion { struct single_view_tag; - template - struct single_view_iterator_end; + template + struct single_view_iterator; namespace extension { @@ -25,12 +28,12 @@ namespace boost { namespace fusion template struct apply { - typedef single_view_iterator_end type; + typedef single_view_iterator > type; static type - call(Sequence&) + call(Sequence& seq) { - return type(); + return type(seq); } }; }; diff --git a/include/boost/fusion/view/single_view/detail/equal_to_impl.hpp b/include/boost/fusion/view/single_view/detail/equal_to_impl.hpp new file mode 100644 index 00000000..c9a7ebde --- /dev/null +++ b/include/boost/fusion/view/single_view/detail/equal_to_impl.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SINGLE_VIEW_ITERATOR_JUL_07_2011_1348PM) +#define BOOST_FUSION_SINGLE_VIEW_ITERATOR_JUL_07_2011_1348PM + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct single_view_iterator_tag; + + namespace extension + { + template + struct equal_to_impl; + + template<> + struct equal_to_impl + { + template + struct apply + : mpl::equal_to + { + BOOST_MPL_ASSERT((is_same::type, + typename add_const::type>)); + }; + }; + } +}} + +#endif diff --git a/include/boost/fusion/view/single_view/detail/next_impl.hpp b/include/boost/fusion/view/single_view/detail/next_impl.hpp index c9cdafdf..e4b33810 100644 --- a/include/boost/fusion/view/single_view/detail/next_impl.hpp +++ b/include/boost/fusion/view/single_view/detail/next_impl.hpp @@ -1,20 +1,20 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2011 Eric Niebler 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_NEXT_IMPL_05052005_0331) -#define FUSION_NEXT_IMPL_05052005_0331 +#if !defined(BOOST_FUSION_SINGLE_VIEW_NEXT_IMPL_05052005_0331) +#define BOOST_FUSION_SINGLE_VIEW_NEXT_IMPL_05052005_0331 + +#include namespace boost { namespace fusion { struct single_view_iterator_tag; - template - struct single_view_iterator_end; - - template + template struct single_view_iterator; namespace extension @@ -28,14 +28,15 @@ namespace boost { namespace fusion template struct apply { - typedef single_view_iterator_end< - typename Iterator::single_view_type> + typedef single_view_iterator< + typename Iterator::single_view_type, + typename mpl::next::type> type; static type - call(Iterator) + call(Iterator const& i) { - return type(); + return type(i.view); } }; }; diff --git a/include/boost/fusion/view/single_view/detail/prior_impl.hpp b/include/boost/fusion/view/single_view/detail/prior_impl.hpp new file mode 100644 index 00000000..ece6795d --- /dev/null +++ b/include/boost/fusion/view/single_view/detail/prior_impl.hpp @@ -0,0 +1,46 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SINGLE_VIEW_PRIOR_IMPL_JUL_07_2011_1348PM) +#define BOOST_FUSION_SINGLE_VIEW_PRIOR_IMPL_JUL_07_2011_1348PM + +#include + +namespace boost { namespace fusion +{ + struct single_view_iterator_tag; + + template + struct single_view_iterator; + + namespace extension + { + template + struct prior_impl; + + template <> + struct prior_impl + { + template + struct apply + { + typedef single_view_iterator< + typename Iterator::single_view_type, + typename mpl::prior::type> + type; + + static type + call(Iterator const& i) + { + return type(i.view); + } + }; + }; + } + +}} + +#endif diff --git a/include/boost/fusion/view/single_view/detail/size_impl.hpp b/include/boost/fusion/view/single_view/detail/size_impl.hpp new file mode 100644 index 00000000..eba89cdd --- /dev/null +++ b/include/boost/fusion/view/single_view/detail/size_impl.hpp @@ -0,0 +1,33 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SINGLE_VIEW_SIZE_IMPL_JUL_07_2011_1348PM) +#define FUSION_SINGLE_VIEW_SIZE_IMPL_JUL_07_2011_1348PM + +namespace boost { namespace fusion +{ + struct single_view_tag; + + namespace extension + { + template + struct size_impl; + + template <> + struct size_impl + { + template + struct apply + { + typedef mpl::int_<1> type; + }; + }; + } +}} + +#endif + + diff --git a/include/boost/fusion/view/single_view/detail/value_at_impl.hpp b/include/boost/fusion/view/single_view/detail/value_at_impl.hpp new file mode 100644 index 00000000..a8c20ad5 --- /dev/null +++ b/include/boost/fusion/view/single_view/detail/value_at_impl.hpp @@ -0,0 +1,39 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SINGLE_VIEW_VALUE_AT_IMPL_JUL_07_2011_1348PM) +#define BOOST_FUSION_SINGLE_VIEW_VALUE_AT_IMPL_JUL_07_2011_1348PM + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct single_view_tag; + + namespace extension + { + template + struct value_at_impl; + + template<> + struct value_at_impl + { + template + struct apply + { + BOOST_MPL_ASSERT((mpl::equal_to >)); + typedef typename Sequence::value_type type; + }; + }; + } + +}} + +#endif diff --git a/include/boost/fusion/view/single_view/detail/value_of_impl.hpp b/include/boost/fusion/view/single_view/detail/value_of_impl.hpp index f975eb14..5689a9e0 100644 --- a/include/boost/fusion/view/single_view/detail/value_of_impl.hpp +++ b/include/boost/fusion/view/single_view/detail/value_of_impl.hpp @@ -1,11 +1,16 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2011 Eric Niebler 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_IMPL_05052005_0324) -#define FUSION_VALUE_IMPL_05052005_0324 +#if !defined(BOOST_FUSION_SINGLE_VIEW_VALUE_OF_IMPL_05052005_0324) +#define BOOST_FUSION_SINGLE_VIEW_VALUE_OF_IMPL_05052005_0324 + +#include +#include +#include namespace boost { namespace fusion { @@ -22,8 +27,8 @@ namespace boost { namespace fusion template struct apply { - typedef typename Iterator::single_view_type single_view_type; - typedef typename single_view_type::value_type type; + BOOST_MPL_ASSERT((mpl::equal_to >)); + typedef typename Iterator::value_type type; }; }; } diff --git a/include/boost/fusion/view/single_view/single_view.hpp b/include/boost/fusion/view/single_view/single_view.hpp index 03087cd6..d0c2659b 100644 --- a/include/boost/fusion/view/single_view/single_view.hpp +++ b/include/boost/fusion/view/single_view/single_view.hpp @@ -1,18 +1,22 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2011 Eric Niebler 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_SINGLE_VIEW_05052005_0335) -#define FUSION_SINGLE_VIEW_05052005_0335 +#if !defined(BOOST_FUSION_SINGLE_VIEW_05052005_0335) +#define BOOST_FUSION_SINGLE_VIEW_05052005_0335 #include #include #include #include +#include #include #include +#include +#include #include #include #include @@ -25,7 +29,7 @@ namespace boost { namespace fusion { struct single_view_tag; - struct forward_traversal_tag; + struct random_access_traversal_tag; struct fusion_sequence_tag; template @@ -33,7 +37,7 @@ namespace boost { namespace fusion { typedef single_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef forward_traversal_tag category; + typedef random_access_traversal_tag category; typedef mpl::true_ is_view; typedef mpl::int_<1> size; typedef T value_type; diff --git a/include/boost/fusion/view/single_view/single_view_iterator.hpp b/include/boost/fusion/view/single_view/single_view_iterator.hpp index fa249015..7e53a3da 100644 --- a/include/boost/fusion/view/single_view/single_view_iterator.hpp +++ b/include/boost/fusion/view/single_view/single_view_iterator.hpp @@ -1,16 +1,21 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2011 Eric Niebler 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_SINGLE_VIEW_ITERATOR_05052005_0340) -#define FUSION_SINGLE_VIEW_ITERATOR_05052005_0340 +#if !defined(BOOST_FUSION_SINGLE_VIEW_ITERATOR_05052005_0340) +#define BOOST_FUSION_SINGLE_VIEW_ITERATOR_05052005_0340 #include #include #include #include +#include +#include +#include +#include #include #include @@ -22,29 +27,25 @@ namespace boost { namespace fusion { struct single_view_iterator_tag; - struct forward_traversal_tag; + struct random_access_traversal_tag; - template - struct single_view_iterator_end - : iterator_base > - { - typedef single_view_iterator_tag fusion_tag; - typedef forward_traversal_tag category; - }; - - template + template struct single_view_iterator - : iterator_base > + : iterator_base > { typedef single_view_iterator_tag fusion_tag; - typedef forward_traversal_tag category; + typedef random_access_traversal_tag category; typedef typename SingleView::value_type value_type; + typedef Pos position; typedef SingleView single_view_type; - explicit single_view_iterator(single_view_type const& view) - : val(view.val) {} + explicit single_view_iterator(single_view_type& in_view) + : view(in_view) {} - value_type val; + SingleView& view; + + private: + single_view_iterator& operator=(single_view_iterator const&); }; }} diff --git a/test/sequence/single_view.cpp b/test/sequence/single_view.cpp index e3faa26a..e9322712 100644 --- a/test/sequence/single_view.cpp +++ b/test/sequence/single_view.cpp @@ -1,5 +1,6 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2011 Eric Niebler 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) @@ -7,8 +8,22 @@ #include #include #include +#include #include +#include +#include +#include +#include +#include +#include +#include +#include #include +#include +#include +#include +#include +#include struct X {}; @@ -40,7 +55,28 @@ main() #endif std::cout << view1 << std::endl; BOOST_TEST(*begin(view1) == 3); + BOOST_TEST(at >(view1) == 3); BOOST_TEST(view1.val == 3); + BOOST_TEST(3 == front(view1)); + BOOST_TEST(3 == back(view1)); + BOOST_TEST(!empty(view1)); + BOOST_TEST(next(begin(view1)) == end(view1)); + BOOST_TEST(prior(end(view1)) == begin(view1)); + BOOST_TEST(!(next(begin(view1)) != end(view1))); + BOOST_TEST(!(prior(end(view1)) != begin(view1))); + BOOST_TEST(1 == distance(begin(view1), end(view1))); + BOOST_TEST(0 == distance(end(view1), end(view1))); + BOOST_TEST(0 == distance(begin(view1), begin(view1))); + BOOST_TEST(end(view1) == advance >(begin(view1))); + BOOST_TEST(begin(view1) == advance >(begin(view1))); + BOOST_TEST(end(view1) == advance >(end(view1))); + BOOST_TEST(begin(view1) == advance >(end(view1))); + BOOST_TEST(end(view1) == advance_c<1>(begin(view1))); + BOOST_TEST(begin(view1) == advance_c<0>(begin(view1))); + BOOST_TEST(end(view1) == advance_c<0>(end(view1))); + BOOST_TEST(begin(view1) == advance_c<-1>(end(view1))); + BOOST_TEST(1 == size(view1)); + BOOST_MPL_ASSERT((boost::is_same, boost::mpl::int_<0> >::type>)); single_view view2; std::cout << view2 << std::endl; From adc8be256f557876ab1863e80ff41be7fa054d1a Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Tue, 19 Jul 2011 23:29:06 +0000 Subject: [PATCH 16/45] fixed wording to make it clear that I/O operators are only available for sequences in fusion's namespace [SVN r73247] --- doc/sequence.qbk | 19 +++++++++++++------ 1 file changed, 13 insertions(+), 6 deletions(-) diff --git a/doc/sequence.qbk b/doc/sequence.qbk index 7127fe49..adb7c7af 100644 --- a/doc/sequence.qbk +++ b/doc/sequence.qbk @@ -1425,12 +1425,19 @@ operators for free. [section I/O] -The I/O operators: `<<` and `>>` work generically on all Fusion sequences. -The global `operator<<` has been overloaded for generic output streams such -that __sequence__(s) are output by recursively calling `operator<<` for each -element. Analogously, the global `operator>>` has been overloaded to -extract __sequence__(s) from generic input streams by recursively calling -`operator>>` for each element. +The I/O operators: `<<` and `>>` work generically on all Fusion +sequences. The I/O operators are overloaded in namespace `boost::fusion` +[footnote __sequences__ and __views__ residing in different namespaces +will have to either provide their own I/O operators (possibly forwarding +to fusion's I/O operators) or hoist fusion's I/O operators (using +declaration), in their own namespaces for proper argument dependent +lookup.] + +The `operator<<` has been overloaded for generic output streams such +that __sequence__(s) are output by recursively calling `operator<<` for +each element. Analogously, the global `operator>>` has been overloaded +to extract __sequence__(s) from generic input streams by recursively +calling `operator>>` for each element. The default delimiter between the elements is space, and the __sequence__ is enclosed in parenthesis. For Example: From 491b6fb7d8c0a45b35654494aa149c5575987313 Mon Sep 17 00:00:00 2001 From: Eric Niebler Date: Sun, 7 Aug 2011 00:06:32 +0000 Subject: [PATCH 17/45] remove bogus compile-time asserts [SVN r73583] --- include/boost/fusion/iterator/distance.hpp | 5 +---- 1 file changed, 1 insertion(+), 4 deletions(-) diff --git a/include/boost/fusion/iterator/distance.hpp b/include/boost/fusion/iterator/distance.hpp index 0cfa414d..9c6db549 100644 --- a/include/boost/fusion/iterator/distance.hpp +++ b/include/boost/fusion/iterator/distance.hpp @@ -34,10 +34,7 @@ namespace boost { namespace fusion // default implementation template struct apply : distance_detail::linear_distance - { - BOOST_MPL_ASSERT_NOT((traits::is_random_access)); - BOOST_MPL_ASSERT_NOT((traits::is_random_access)); - }; + {}; }; template <> From 21c17fda637c9ac64593e4ac76738979a6b681f7 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Wed, 10 Aug 2011 22:01:37 +0000 Subject: [PATCH 18/45] Added pop_back test for lists [SVN r73642] --- test/algorithm/pop_back.cpp | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/test/algorithm/pop_back.cpp b/test/algorithm/pop_back.cpp index 3bd98248..e2c16bc0 100644 --- a/test/algorithm/pop_back.cpp +++ b/test/algorithm/pop_back.cpp @@ -1,15 +1,17 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - 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) ==============================================================================*/ #include #include +#include #include #include #include #include +#include #include #include @@ -41,6 +43,12 @@ main() BOOST_TEST((boost::fusion::pop_back(mpl_vec()) == make_vector(1, 2, 3, 4))); } + { + list l(1, 2); + std::cout << pop_back(l) << std::endl; + BOOST_TEST((pop_back(l) == make_list(1))); + } + return boost::report_errors(); } From 00b2cfc52e2e72faa0d5cd4e847c51f865a378df Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Wed, 10 Aug 2011 22:03:09 +0000 Subject: [PATCH 19/45] Made pop_back not use prior. [SVN r73643] --- .../algorithm/transformation/pop_back.hpp | 127 ++++++++++++++++-- 1 file changed, 116 insertions(+), 11 deletions(-) diff --git a/include/boost/fusion/algorithm/transformation/pop_back.hpp b/include/boost/fusion/algorithm/transformation/pop_back.hpp index 6eb743fd..65016535 100644 --- a/include/boost/fusion/algorithm/transformation/pop_back.hpp +++ b/include/boost/fusion/algorithm/transformation/pop_back.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - 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_POP_BACK_09172005_1038) @@ -10,22 +10,120 @@ #include #include #include -#include +#include +#include +#include +#include namespace boost { namespace fusion { + template + struct pop_back_iterator + : iterator_facade< + pop_back_iterator + , typename Iterator_::category> + { + typedef Iterator_ base_type; + base_type base; + + pop_back_iterator(base_type const& base) + : base(base) {} + + template + struct equal_to + : is_same< + typename result_of::next< + typename I1::base_type>::type + , typename I2::base_type + > + {}; + + template + struct advance + : pop_back_iterator< + typename result_of::advance< + typename Iterator::base_type, N>::type + > + { + }; + + template + struct distance + : mpl::minus< + typename result_of::distance< + typename First::base_type + , typename Last::base_type + >::type + , mpl::int_<1> + >::type + {}; + + template + struct value_of + : result_of::value_of {}; + + template + struct deref + { + typedef typename + result_of::deref::type + type; + + static type + call(Iterator const& it) + { + return fusion::deref(it.base); + } + }; + + template + struct next + { + typedef pop_back_iterator< + typename result_of::next< + typename Iterator::base_type + >::type> + type; + + static type + call(Iterator const& i) + { + return fusion::next(i.base); + } + }; + + template + struct prior + { + typedef pop_back_iterator< + typename result_of::prior< + typename Iterator::base_type + >::type> + type; + + static type + call(Iterator const& i) + { + return fusion::prior(i.base); + } + }; + }; + namespace result_of { template struct pop_back { - typedef - iterator_range< - typename begin::type - , typename prior< - typename end::type - >::type - > + typedef pop_back_iterator< + typename begin::type> + begin_type; + + typedef pop_back_iterator< + typename end::type> + end_type; + + typedef + iterator_range type; }; } @@ -34,8 +132,15 @@ namespace boost { namespace fusion inline typename result_of::pop_back::type pop_back(Sequence const& seq) { - typedef typename result_of::pop_back::type result; - return result(fusion::begin(seq), fusion::prior(fusion::end(seq))); + typedef result_of::pop_back comp; + typedef typename comp::begin_type begin_type; + typedef typename comp::end_type end_type; + typedef typename comp::type result; + + return result( + begin_type(fusion::begin(seq)) + , end_type(fusion::end(seq)) + ); } }} From d9c5b32687c83a36cf05e99ffaaf35a3f4f9f7af Mon Sep 17 00:00:00 2001 From: Eric Niebler Date: Thu, 11 Aug 2011 04:14:50 +0000 Subject: [PATCH 20/45] new cleaner(?) implementation for segmented fusion [SVN r73644] --- .../algorithm/iteration/ext_/fold_s.hpp | 77 ++ .../algorithm/iteration/ext_/for_each_s.hpp | 64 +- .../fusion/algorithm/query/ext_/find_if_s.hpp | 227 +--- .../fusion/algorithm/query/ext_/find_s.hpp | 83 ++ include/boost/fusion/container/ext_/tree.hpp | 27 +- .../sequence/intrinsic/ext_/segments.hpp | 19 +- .../fusion/sequence/intrinsic/ext_/size_s.hpp | 60 +- .../fusion/view/ext_/detail/begin_impl.hpp | 100 ++ .../fusion/view/ext_/detail/deref_impl.hpp | 47 + .../fusion/view/ext_/detail/end_impl.hpp | 55 + .../fusion/view/ext_/detail/equal_to_impl.hpp | 51 + .../fusion/view/ext_/detail/next_impl.hpp | 252 ++++ .../fusion/view/ext_/detail/reverse_cons.hpp | 43 + .../view/ext_/detail/segment_sequence.hpp | 112 ++ .../boost/fusion/view/ext_/multiple_view.hpp | 178 --- .../fusion/view/ext_/segmented_begin.hpp | 40 + .../boost/fusion/view/ext_/segmented_end.hpp | 41 + .../fusion/view/ext_/segmented_fold_until.hpp | 436 +++++++ .../fusion/view/ext_/segmented_iterator.hpp | 456 +------- .../view/ext_/segmented_iterator_range.hpp | 1014 +++++++++-------- .../view/iterator_range/detail/size_impl.hpp | 37 + .../view/iterator_range/iterator_range.hpp | 2 +- test/Jamfile | 6 + test/algorithm/ext_/find_if_s.cpp | 83 +- test/algorithm/ext_/find_s.cpp | 55 + test/algorithm/ext_/fold_s.cpp | 62 + test/algorithm/ext_/for_each_s.cpp | 39 +- test/sequence/ext_/iterator_range_s.cpp | 1 + 28 files changed, 2171 insertions(+), 1496 deletions(-) create mode 100644 include/boost/fusion/algorithm/iteration/ext_/fold_s.hpp mode change 100755 => 100644 include/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp mode change 100755 => 100644 include/boost/fusion/algorithm/query/ext_/find_if_s.hpp create mode 100644 include/boost/fusion/algorithm/query/ext_/find_s.hpp mode change 100755 => 100644 include/boost/fusion/container/ext_/tree.hpp mode change 100755 => 100644 include/boost/fusion/sequence/intrinsic/ext_/segments.hpp create mode 100644 include/boost/fusion/view/ext_/detail/begin_impl.hpp create mode 100644 include/boost/fusion/view/ext_/detail/deref_impl.hpp create mode 100644 include/boost/fusion/view/ext_/detail/end_impl.hpp create mode 100644 include/boost/fusion/view/ext_/detail/equal_to_impl.hpp create mode 100644 include/boost/fusion/view/ext_/detail/next_impl.hpp create mode 100644 include/boost/fusion/view/ext_/detail/reverse_cons.hpp create mode 100644 include/boost/fusion/view/ext_/detail/segment_sequence.hpp delete mode 100755 include/boost/fusion/view/ext_/multiple_view.hpp create mode 100644 include/boost/fusion/view/ext_/segmented_begin.hpp create mode 100644 include/boost/fusion/view/ext_/segmented_end.hpp create mode 100644 include/boost/fusion/view/ext_/segmented_fold_until.hpp mode change 100755 => 100644 include/boost/fusion/view/ext_/segmented_iterator_range.hpp create mode 100644 include/boost/fusion/view/iterator_range/detail/size_impl.hpp mode change 100755 => 100644 test/algorithm/ext_/find_if_s.cpp create mode 100644 test/algorithm/ext_/find_s.cpp create mode 100644 test/algorithm/ext_/fold_s.cpp mode change 100755 => 100644 test/algorithm/ext_/for_each_s.cpp mode change 100755 => 100644 test/sequence/ext_/iterator_range_s.cpp diff --git a/include/boost/fusion/algorithm/iteration/ext_/fold_s.hpp b/include/boost/fusion/algorithm/iteration/ext_/fold_s.hpp new file mode 100644 index 00000000..78d5d8e8 --- /dev/null +++ b/include/boost/fusion/algorithm/iteration/ext_/fold_s.hpp @@ -0,0 +1,77 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_FOLD_S_HPP_INCLUDED) +#define BOOST_FUSION_FOLD_S_HPP_INCLUDED + +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct segmented_fold_fun + { + template + struct result; + + template + struct result + { + typedef + fusion::result< + typename result_of::fold::type, + continue_ + > + type; + }; + + explicit segmented_fold_fun(Fun const& f) + : fun(f) + {} + + template + typename result::type + operator()(Range& rng, State const& state, Context const&) const + { + return fusion::fold(rng, state.value, fun); + } + + Fun const& fun; + }; + +}}} + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct fold_s + : result_of::segmented_fold_until< + Sequence, + State, + detail::segmented_fold_fun + > + {}; + } + + template + typename result_of::fold_s::type + fold_s(Sequence& seq, State const& state, F const& f) + { + return fusion::segmented_fold_until(seq, state, detail::segmented_fold_fun(f)); + } + + template + typename result_of::fold_s::type + fold_s(Sequence const& seq, State const& state, F const& f) + { + return fusion::segmented_fold_until(seq, state, detail::segmented_fold_fun(f)); + } +}} + +#endif diff --git a/include/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp b/include/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp old mode 100755 new mode 100644 index 9e571d0f..cf9d72c2 --- a/include/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp +++ b/include/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp @@ -1,65 +1,37 @@ /*============================================================================= - Copyright (c) 2006 Eric Niebler + Copyright (c) 2011 Eric Niebler 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_FOR_EACH_S_05022006_1027) -#define FUSION_FOR_EACH_S_05022006_1027 +#if !defined(BOOST_FUSION_FOR_EACH_S_HPP_INCLUDED) +#define BOOST_FUSION_FOR_EACH_S_HPP_INCLUDED -#include -#include +#include #include -#include -#include - -// fwd declarations -namespace boost { namespace fusion -{ - template - void - for_each_s(Sequence& seq, F const& f); - - template - void - for_each_s(Sequence const& seq, F const& f); -}} +#include namespace boost { namespace fusion { namespace detail { - template - struct for_each_s_bind + template + struct segmented_for_each_fun { - explicit for_each_s_bind(F const &f) - : f_(f) + typedef result result_type; + + explicit segmented_for_each_fun(Fun const& f) + : fun(f) {} - template - void operator ()(Sequence &seq) const + template + result_type operator()(Range& rng, State const&, Context const&) const { - fusion::for_each_s(seq, this->f_); + fusion::for_each(rng, fun); + return void_(); } - template - void operator ()(Sequence const &seq) const - { - fusion::for_each_s(seq, this->f_); - } - private: - F const &f_; + Fun const& fun; }; - template - void for_each_s(Sequence &seq, F const &f, mpl::true_) - { - fusion::for_each_s(fusion::segments(seq), for_each_s_bind(f)); - } - - template - void for_each_s(Sequence &seq, F const &f, mpl::false_) - { - fusion::for_each(seq, f); - } }}} namespace boost { namespace fusion @@ -77,14 +49,14 @@ namespace boost { namespace fusion inline void for_each_s(Sequence& seq, F const& f) { - detail::for_each_s(seq, f, traits::is_segmented()); + fusion::segmented_fold_until(seq, void_(), detail::segmented_for_each_fun(f)); } template inline void for_each_s(Sequence const& seq, F const& f) { - detail::for_each_s(seq, f, traits::is_segmented()); + fusion::segmented_fold_until(seq, void_(), detail::segmented_for_each_fun(f)); } }} diff --git a/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp b/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp old mode 100755 new mode 100644 index 0b1852a6..85c1fd86 --- a/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp +++ b/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp @@ -1,188 +1,58 @@ /*============================================================================= - Copyright (c) 2006 Eric Niebler + Copyright (c) 2011 Eric Niebler 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(FIND_IF_S_05152006_1027) -#define FIND_IF_S_05152006_1027 +#if !defined(BOOST_FUSION_FIND_IF_S_HPP_INCLUDED) +#define BOOST_FUSION_FIND_IF_S_HPP_INCLUDED -#include -#include -#include -#include -#include -#include +#include #include -#include -#include -#include -#include -#include - -// fwd declarations -namespace boost { namespace fusion -{ - namespace detail - { - template::value> - struct static_find_if_s_recurse; - } - - namespace result_of - { - template - struct find_if_s; - } -}} +#include namespace boost { namespace fusion { namespace detail { - - template::value> - struct is_found - : mpl::not_::type> > - {}; - - template - struct is_found - : mpl::not_ > - {}; - - template< - typename SegmentedRange - , typename Where - , typename Sequence = typename remove_reference< - typename result_of::deref< - typename SegmentedRange::iterator_type - >::type - >::type - , bool IsSegmented = traits::is_segmented::value - > - struct as_segmented_cons + template + struct segmented_find_if_fun { - typedef cons< - SegmentedRange - , cons > - > type; + template + struct result; - static type call(SegmentedRange const &range, Where const &where) + template + struct result { - return fusion::make_cons( - range - , fusion::make_cons( - segmented_range(*fusion::begin(range), where) - ) - ); + typedef + typename result_of::find_if::type + iterator_type; + + typedef + typename result_of::make_segmented_iterator< + iterator_type, + typename remove_const::type + >::type + segmented_iterator_type; + + typedef + typename mpl::if_< + result_of::equal_to< + iterator_type, + typename result_of::end::type + >, + fusion::result, // NOT FOUND + fusion::result // FOUND + >::type + type; + }; + + template + typename result::type + operator()(Range& rng, State const&, Context const& context) const + { + return fusion::make_segmented_iterator(fusion::find_if(rng), context); } }; - template< - typename SegmentedRange - , typename Where - , typename Sequence - > - struct as_segmented_cons - { - typedef cons type; - - static type call(SegmentedRange const &range, Where const &where) - { - return fusion::make_cons(range, where); - } - }; - - template< - typename SegmentedRange - , typename Pred - , bool IsEmpty = is_empty::value - > - struct static_find_if_s_seg - { - typedef typename SegmentedRange::iterator_type first; - typedef typename result_of::deref::type segment_ref; - typedef typename remove_reference::type segment; - typedef static_find_if_s_recurse where; - typedef range_next next; - typedef is_found is_found; - typedef as_segmented_cons found; - typedef static_find_if_s_seg not_found; - typedef typename mpl::eval_if::type type; - - static type call(SegmentedRange const &range) - { - return call_(range, is_found()); - } - - private: - static type call_(SegmentedRange const &range, mpl::true_) - { - return found::call(range, where::call(*range.where_)); - } - - static type call_(SegmentedRange const &range, mpl::false_) - { - return not_found::call(next::call(range)); - } - }; - - template< - typename SegmentedRange - , typename Pred - > - struct static_find_if_s_seg - { - typedef nil type; - - static type call(SegmentedRange const &) - { - return nil(); - } - }; - - template - struct static_find_if_s_recurse - { - typedef typename as_segmented_range::type range; - typedef static_find_if_s_seg find_if; - typedef typename find_if::type type; - - static type call(Sequence &seq) - { - return find_if::call(range(fusion::segments(seq))); - } - }; - - template - struct static_find_if_s_recurse - { - typedef typename result_of::find_if::type type; - - static type call(Sequence &seq) - { - return fusion::find_if(seq); - } - }; - - template::value> - struct static_find_if_s - : static_find_if_s_recurse - {}; - - template - struct static_find_if_s - { - typedef typename as_segmented_range::type range; - typedef static_find_if_s_recurse find_if; - typedef typename find_if::type found; - - typedef segmented_iterator::type> type; - - static type call(Sequence &seq) - { - return type(reverse_cons::call(find_if::call(seq))); - } - }; }}} namespace boost { namespace fusion @@ -191,31 +61,22 @@ namespace boost { namespace fusion { template struct find_if_s - { - typedef typename - detail::static_find_if_s< - Sequence - , Pred - >::type - type; - }; + : result_of::segmented_fold_until > + {}; } template - typename lazy_disable_if< - is_const - , result_of::find_if_s - >::type + typename result_of::find_if_s::type find_if_s(Sequence& seq) { - return detail::static_find_if_s::call(seq); + return fusion::segmented_fold_until(seq, void_(), detail::segmented_find_if_fun()); } template typename result_of::find_if_s::type find_if_s(Sequence const& seq) { - return detail::static_find_if_s::call(seq); + return fusion::segmented_fold_until(seq, void_(), detail::segmented_find_if_fun()); } }} diff --git a/include/boost/fusion/algorithm/query/ext_/find_s.hpp b/include/boost/fusion/algorithm/query/ext_/find_s.hpp new file mode 100644 index 00000000..8ccf202d --- /dev/null +++ b/include/boost/fusion/algorithm/query/ext_/find_s.hpp @@ -0,0 +1,83 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_FIND_S_HPP_INCLUDED) +#define BOOST_FUSION_FIND_S_HPP_INCLUDED + +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + template + struct segmented_find_fun + { + template + struct result; + + template + struct result + { + typedef + typename result_of::find::type + iterator_type; + + typedef + typename result_of::make_segmented_iterator< + iterator_type, + typename remove_const::type + >::type + segmented_iterator_type; + + typedef + typename mpl::if_< + result_of::equal_to< + iterator_type, + typename result_of::end::type + >, + fusion::result, // NOT FOUND + fusion::result // FOUND + >::type + type; + }; + + template + typename result::type + operator()(Range& rng, State const&, Context const& context) const + { + return fusion::make_segmented_iterator(fusion::find(rng), context); + } + }; + +}}} + +namespace boost { namespace fusion +{ + namespace result_of + { + template + struct find_s + : result_of::segmented_fold_until > + {}; + } + + template + typename result_of::find_s::type + find_s(Sequence& seq) + { + return fusion::segmented_fold_until(seq, void_(), detail::segmented_find_fun()); + } + + template + typename result_of::find_s::type + find_s(Sequence const& seq) + { + return fusion::segmented_fold_until(seq, void_(), detail::segmented_find_fun()); + } +}} + +#endif diff --git a/include/boost/fusion/container/ext_/tree.hpp b/include/boost/fusion/container/ext_/tree.hpp old mode 100755 new mode 100644 index cd8c5dcd..1958df3c --- a/include/boost/fusion/container/ext_/tree.hpp +++ b/include/boost/fusion/container/ext_/tree.hpp @@ -18,26 +18,18 @@ #include // for nil #include #include +#include #include +#include #include #include +#include +#include namespace boost { namespace fusion { struct tree_tag; - namespace detail - { - template - struct reference : add_reference {}; - - template - struct reference : reference::type, false> {}; - - template - struct reference : reference {}; - } - template struct tree : sequence_base > @@ -46,7 +38,7 @@ namespace boost { namespace fusion typedef Left left_type; typedef Right right_type; typedef tree_tag fusion_tag; - typedef forward_traversal_tag category; + typedef bidirectional_traversal_tag category; typedef mpl::false_ is_view; typedef typename mpl::if_< @@ -124,6 +116,15 @@ namespace boost { namespace fusion : segmented_end {}; }; + + template<> + struct size_impl + { + template + struct apply + : segmented_size::type + {}; + }; } }} diff --git a/include/boost/fusion/sequence/intrinsic/ext_/segments.hpp b/include/boost/fusion/sequence/intrinsic/ext_/segments.hpp old mode 100755 new mode 100644 index 58f148f2..16f2bfa4 --- a/include/boost/fusion/sequence/intrinsic/ext_/segments.hpp +++ b/include/boost/fusion/sequence/intrinsic/ext_/segments.hpp @@ -4,8 +4,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(FUSION_SEGMENTS_04052005_1141) -#define FUSION_SEGMENTS_04052005_1141 +#if !defined(BOOST_FUSION_SEGMENTS_04052005_1141) +#define BOOST_FUSION_SEGMENTS_04052005_1141 #include @@ -27,9 +27,10 @@ namespace boost { namespace fusion template struct segments { + typedef typename traits::tag_of::type tag_type; + typedef typename - extension::segments_impl::type>:: - template apply::type + extension::segments_impl::template apply::type type; }; } @@ -38,18 +39,16 @@ namespace boost { namespace fusion typename result_of::segments::type segments(Sequence & seq) { - return - extension::segments_impl::type>:: - template apply::call(seq); + typedef typename traits::tag_of::type tag_type; + return extension::segments_impl::template apply::call(seq); } template typename result_of::segments::type segments(Sequence const& seq) { - return - extension::segments_impl::type>:: - template apply::call(seq); + typedef typename traits::tag_of::type tag_type; + return extension::segments_impl::template apply::call(seq); } }} diff --git a/include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp b/include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp index 8b61746a..d152efe0 100644 --- a/include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp +++ b/include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp @@ -1,57 +1,57 @@ /*============================================================================= - Copyright (c) 2006 Eric Niebler + Copyright (c) 2011 Eric Niebler 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_SIZE_S_08112006_1141) -#define FUSION_SIZE_S_08112006_1141 +#if !defined(BOOST_FUSION_SIZE_S_08112006_1141) +#define BOOST_FUSION_SIZE_S_08112006_1141 +#include +#include +#include #include #include -#include -#include -#include +#include +#include +#include #include +#include namespace boost { namespace fusion { /////////////////////////////////////////////////////////////////////////// // calculates the size of any segmented data structure. - template::value> + template struct segmented_size; namespace detail { - struct size_plus - { - template - struct result; + /////////////////////////////////////////////////////////////////////////// + template::value> + struct segmented_size_impl + : mpl::fold< + typename remove_reference< + typename add_const< + typename result_of::segments::type + >::type + >::type, + mpl::size_t<0>, + mpl::plus > + >::type + {}; - template - struct result - : mpl::plus< - segmented_size::type> - , typename remove_reference::type - > - {}; - }; + template + struct segmented_size_impl + : result_of::size::type + {}; } - /////////////////////////////////////////////////////////////////////////// - template + template struct segmented_size - : result_of::fold< - typename result_of::segments::type - , mpl::size_t<0> - , detail::size_plus - >::type + : detail::segmented_size_impl {}; - template - struct segmented_size - : result_of::size - {}; }} #endif diff --git a/include/boost/fusion/view/ext_/detail/begin_impl.hpp b/include/boost/fusion/view/ext_/detail/begin_impl.hpp new file mode 100644 index 00000000..d5fd90a3 --- /dev/null +++ b/include/boost/fusion/view/ext_/detail/begin_impl.hpp @@ -0,0 +1,100 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SEGMENTED_BEGIN_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_BEGIN_IMPL_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + struct segmented_begin_fun + { + template + struct result; + + template + struct result + { + typedef + iterator_range< + typename fusion::result_of::begin::type, + typename fusion::result_of::end::type + > + range_type; + + typedef + fusion::result< + cons::type>, + fusion::break_ + > + type; + }; + + template + typename result::type + operator()(Range& rng, State const&, Context const& context) const + { + typedef + iterator_range< + typename fusion::result_of::begin::type, + typename fusion::result_of::end::type + > + range_type; + + return fusion::make_cons(range_type(fusion::begin(rng), fusion::end(rng)), context); + } + }; + + template::type::value> + struct segmented_begin_impl + { + typedef + segmented_end_impl + end_impl; + + typedef + segmented_fold_until_impl< + Range, + result, + Stack, + segmented_begin_fun + > + fold_impl; + + typedef typename fold_impl::type::value_type type; + + static type call(Range& rng, Stack const& stack) + { + return fold_impl::call(rng, end_impl::call(rng, stack), stack, segmented_begin_fun()).value; + } + }; + + template + struct segmented_begin_impl + { + typedef typename result_of::begin::type begin_type; + typedef typename result_of::end::type end_type; + typedef iterator_range pair_type; + typedef cons type; + + static type call(Range& rng, Stack stack) + { + return type(pair_type(fusion::begin(rng), fusion::end(rng)), stack); + } + }; + +}}} + +#endif diff --git a/include/boost/fusion/view/ext_/detail/deref_impl.hpp b/include/boost/fusion/view/ext_/detail/deref_impl.hpp new file mode 100644 index 00000000..084aa521 --- /dev/null +++ b/include/boost/fusion/view/ext_/detail/deref_impl.hpp @@ -0,0 +1,47 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SEGMENTED_ITERATOR_DEREF_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_ITERATOR_DEREF_HPP_INCLUDED + +#include + +namespace boost { namespace fusion +{ + struct segmented_iterator_tag; + + namespace extension + { + template + struct deref_impl; + + //auto deref(it) + //{ + // return deref(begin(car(it.nodes))) + //} + template<> + struct deref_impl + { + template + struct apply + { + typedef + typename result_of::deref< + typename It::nodes_type::car_type::begin_type + >::type + type; + + static type call(It const& it) + { + return *it.nodes.car.first; + } + }; + }; + + } +}} + +#endif diff --git a/include/boost/fusion/view/ext_/detail/end_impl.hpp b/include/boost/fusion/view/ext_/detail/end_impl.hpp new file mode 100644 index 00000000..5e7eee56 --- /dev/null +++ b/include/boost/fusion/view/ext_/detail/end_impl.hpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SEGMENTED_END_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_END_IMPL_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + //auto segmented_end_impl( rng, stack ) + //{ + // assert(is_segmented(rng)); + // auto it = end(segments(rng)); + // return cons(iterator_range(it, it), stack); + //} + + template + struct segmented_end_impl + { + BOOST_MPL_ASSERT((traits::is_segmented)); + + typedef + typename result_of::end< + typename remove_reference< + typename add_const< + typename result_of::segments::type + >::type + >::type + >::type + end_type; + + typedef iterator_range pair_type; + typedef cons type; + + static type call(Range & rng, Stack stack) + { + end_type end = fusion::end(fusion::segments(rng)); + return type(pair_type(end, end), stack); + } + }; + +}}} + +#endif diff --git a/include/boost/fusion/view/ext_/detail/equal_to_impl.hpp b/include/boost/fusion/view/ext_/detail/equal_to_impl.hpp new file mode 100644 index 00000000..3b5bd7d5 --- /dev/null +++ b/include/boost/fusion/view/ext_/detail/equal_to_impl.hpp @@ -0,0 +1,51 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct segmented_iterator_tag; + + namespace extension + { + template + struct equal_to_impl; + + template<> + struct equal_to_impl + { + // Compare all the segment iterators in each stack, starting with + // the bottom-most. + template + struct apply + : mpl::equal< + typename mpl::reverse_transform< + typename result_of::as_vector::type, + result_of::begin + >::type, + typename mpl::reverse_transform< + typename result_of::as_vector::type, + result_of::begin + >::type, + result_of::equal_to + > + {}; + }; + + } +}} + +#endif diff --git a/include/boost/fusion/view/ext_/detail/next_impl.hpp b/include/boost/fusion/view/ext_/detail/next_impl.hpp new file mode 100644 index 00000000..2e25d4e7 --- /dev/null +++ b/include/boost/fusion/view/ext_/detail/next_impl.hpp @@ -0,0 +1,252 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SEGMENTED_ITERATOR_NEXT_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_ITERATOR_NEXT_IMPL_HPP_INCLUDED + +#include +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct segmented_iterator_tag; + + template + struct segmented_iterator; + + namespace detail + { + //bool is_invalid(stack) + //{ + // return empty(car(stack)); + //} + + template + struct is_invalid + : result_of::empty + {}; + + ////Advance the first iterator in the range at the + ////top of a stack of iterator ranges. Return the + ////new stack. + //auto pop_front_car(stack) + //{ + // return cons(pop_front(car(stack)), cdr(stack)) + //} + + template + struct pop_front_car + { + typedef typename Stack::car_type car_type; + typedef typename result_of::pop_front::type new_car_type; + typedef cons type; + + static type call(Stack const & stack) + { + return type(fusion::pop_front(stack.car), stack.cdr); + } + }; + + template< + typename Stack, + typename Next = typename pop_front_car::type, + bool IsInvalid = is_invalid::value, + int StackSize = Stack::size::value> + struct segmented_next_impl_recurse; + + // Handle the case where the top of the stack has no usable + //auto segmented_next_impl_recurse3(stack) + //{ + // if (size(stack) == 1) + // return cons(iterator_range(end(car(stack)), end(car(stack))), nil); + // else + // return segmented_next_impl_recurse(stack.cdr); + //} + + template< + typename Stack, + int StackSize = Stack::size::value> + struct segmented_next_impl_recurse3 + { + typedef segmented_next_impl_recurse impl; + typedef typename impl::type type; + + static type call(Stack const & stack) + { + return impl::call(stack.cdr); + } + }; + + template + struct segmented_next_impl_recurse3 + { + typedef typename Stack::car_type::end_type end_type; + typedef iterator_range range_type; + typedef cons type; + + static type call(Stack const & stack) + { + return type(range_type(stack.car.last, stack.car.last)); + } + }; + + //auto segmented_next_impl_recurse2(stack) + //{ + // auto res = segmented_begin_impl(front(car(stack)), stack); + // if (is_invalid(res)) + // return segmented_next_impl_recurse3(stack); + // else + // return res; + //} + + template< + typename Stack, + typename Range = + typename remove_reference< + typename add_const< + typename result_of::deref::type + >::type + >::type, + typename Result = + typename segmented_begin_impl::type, + bool IsInvalid = + is_invalid::value> + struct segmented_next_impl_recurse2 + { + typedef segmented_next_impl_recurse3 impl; + typedef typename impl::type type; + + static type call(Stack const & stack) + { + return impl::call(stack); + } + }; + + template + struct segmented_next_impl_recurse2 + { + typedef Result type; + + static type call(Stack const & stack) + { + return segmented_begin_impl::call(*stack.car.first, stack); + } + }; + + //auto segmented_next_impl_recurse(stack) + //{ + // auto next = pop_front_car(stack); + // if (is_invalid(next)) + // if (1 == size(stack)) + // return next; + // else + // return segmented_next_impl_recurse(cdr(stack)); + // else + // return segmented_next_impl_recurse2(next) + //} + + template + struct segmented_next_impl_recurse + { + typedef + typename segmented_next_impl_recurse::type + type; + + static type call(Stack const& stack) + { + return segmented_next_impl_recurse::call(stack.cdr); + } + }; + + template + struct segmented_next_impl_recurse + { + typedef Next type; + + static type call(Stack const & stack) + { + return pop_front_car::call(stack); + } + }; + + template + struct segmented_next_impl_recurse + { + typedef segmented_next_impl_recurse2 impl; + typedef typename impl::type type; + + static type call(Stack const & stack) + { + return impl::call(pop_front_car::call(stack)); + } + }; + + //auto segmented_next_impl(stack) + //{ + // // car(stack) is a range of values, not a range of segments + // auto next = pop_front_car(stack); + // if (is_invalid(next)) + // return segmented_next_impl_recurse(cdr(next)); + // else + // return next; + //} + + template< + typename Stack, + typename Next = typename pop_front_car::type, + bool IsInvalid = is_invalid::value> + struct segmented_next_impl + { + typedef segmented_next_impl_recurse impl; + typedef typename impl::type type; + + static type call(Stack const & stack) + { + return impl::call(stack.cdr); + } + }; + + template + struct segmented_next_impl + { + typedef Next type; + + static type call(Stack const & stack) + { + return pop_front_car::call(stack); + } + }; + } + + namespace extension + { + template + struct next_impl; + + template<> + struct next_impl + { + template + struct apply + { + typedef detail::segmented_next_impl impl; + typedef segmented_iterator type; + + static type call(It const& it) + { + return type(impl::call(it.nodes)); + } + }; + }; + + } +}} + +#endif diff --git a/include/boost/fusion/view/ext_/detail/reverse_cons.hpp b/include/boost/fusion/view/ext_/detail/reverse_cons.hpp new file mode 100644 index 00000000..9f17b07e --- /dev/null +++ b/include/boost/fusion/view/ext_/detail/reverse_cons.hpp @@ -0,0 +1,43 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_REVERSE_CONS_HPP_INCLUDED) +#define BOOST_FUSION_REVERSE_CONS_HPP_INCLUDED + +#include +#include + +namespace boost { namespace fusion { namespace detail +{ + //////////////////////////////////////////////////////////////////////////// + template + struct reverse_cons; + + template + struct reverse_cons, State> + { + typedef reverse_cons > impl; + typedef typename impl::type type; + + static type call(cons const &cons, State const &state = State()) + { + return impl::call(cons.cdr, fusion::make_cons(cons.car, state)); + } + }; + + template + struct reverse_cons + { + typedef State type; + + static State const &call(nil const &, State const &state = State()) + { + return state; + } + }; +}}} + +#endif diff --git a/include/boost/fusion/view/ext_/detail/segment_sequence.hpp b/include/boost/fusion/view/ext_/detail/segment_sequence.hpp new file mode 100644 index 00000000..f68c31b8 --- /dev/null +++ b/include/boost/fusion/view/ext_/detail/segment_sequence.hpp @@ -0,0 +1,112 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SEGMENTED_SEQUENCE_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_SEQUENCE_HPP_INCLUDED + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + namespace detail + { + struct segment_sequence_tag {}; + + // Here, Sequence is a sequence of ranges (which may or may not be + // segmented). + template + struct segment_sequence + : sequence_base > + { + typedef fusion_sequence_tag tag; + typedef segment_sequence_tag fusion_tag; + typedef typename Sequence::is_view is_view; + typedef typename Sequence::category category; + typedef Sequence sequence_type; + sequence_type sequence; + + explicit segment_sequence(Sequence const & seq) + : sequence(seq) + {} + }; + } + + namespace extension + { + template + struct is_segmented_impl; + + template<> + struct is_segmented_impl + { + template + struct apply + : mpl::true_ + {}; + }; + + template + struct segments_impl; + + template<> + struct segments_impl + { + template + struct apply + { + typedef typename Sequence::sequence_type type; + + static type call(Sequence & seq) + { + return seq.sequence; + } + }; + }; + + template + struct begin_impl; + + template<> + struct begin_impl + { + template + struct apply + : segmented_begin + {}; + }; + + template + struct end_impl; + + template<> + struct end_impl + { + template + struct apply + : segmented_end + {}; + }; + + template + struct size_impl; + + template<> + struct size_impl + { + template + struct apply + : segmented_size::type + {}; + }; + + } +}} + +#endif diff --git a/include/boost/fusion/view/ext_/multiple_view.hpp b/include/boost/fusion/view/ext_/multiple_view.hpp deleted file mode 100755 index e34b1d62..00000000 --- a/include/boost/fusion/view/ext_/multiple_view.hpp +++ /dev/null @@ -1,178 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Eric Niebler - - 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 FUSION_MULTIPLE_VIEW_05052005_0335 -#define FUSION_MULTIPLE_VIEW_05052005_0335 - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct multiple_view_tag; - struct forward_traversal_tag; - struct fusion_sequence_tag; - - template - struct multiple_view - : sequence_base > - { - typedef multiple_view_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef forward_traversal_tag category; - typedef mpl::true_ is_view; - typedef mpl::int_ size; - typedef T value_type; - - multiple_view() - : val() - {} - - explicit multiple_view(typename detail::call_param::type val) - : val(val) - {} - - value_type val; - }; - - template - inline multiple_view::type> - make_multiple_view(T const& v) - { - return multiple_view::type>(v); - } - - struct multiple_view_iterator_tag; - struct forward_traversal_tag; - - template - struct multiple_view_iterator - : iterator_base > - { - typedef multiple_view_iterator_tag fusion_tag; - typedef forward_traversal_tag category; - typedef typename MultipleView::value_type value_type; - typedef MultipleView multiple_view_type; - typedef Index index; - - explicit multiple_view_iterator(multiple_view_type const &view_) - : view(view_) - {} - - multiple_view_type view; - }; - - namespace extension - { - template - struct next_impl; - - template <> - struct next_impl - { - template - struct apply - { - typedef multiple_view_iterator< - typename mpl::next::type - , typename Iterator::multiple_view_type - > type; - - static type - call(Iterator const &where) - { - return type(where.view); - } - }; - }; - - template - struct end_impl; - - template <> - struct end_impl - { - template - struct apply - { - typedef multiple_view_iterator< - typename Sequence::size - , Sequence - > type; - - static type - call(Sequence &seq) - { - return type(seq); - } - }; - }; - - template - struct deref_impl; - - template <> - struct deref_impl - { - template - struct apply - { - typedef typename Iterator::value_type type; - - static type - call(Iterator const& i) - { - return i.view.val; - } - }; - }; - - template - struct begin_impl; - - template <> - struct begin_impl - { - template - struct apply - { - typedef multiple_view_iterator< - mpl::int_<0> - , Sequence - > type; - - static type - call(Sequence &seq) - { - return type(seq); - } - }; - }; - - template - struct value_of_impl; - - template <> - struct value_of_impl - { - template - struct apply - { - typedef typename Iterator::multiple_view_type multiple_view_type; - typedef typename multiple_view_type::value_type type; - }; - }; - } -}} - -#endif - - diff --git a/include/boost/fusion/view/ext_/segmented_begin.hpp b/include/boost/fusion/view/ext_/segmented_begin.hpp new file mode 100644 index 00000000..a0aa12e2 --- /dev/null +++ b/include/boost/fusion/view/ext_/segmented_begin.hpp @@ -0,0 +1,40 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SEGMENTED_BEGIN_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED + +#include + +namespace boost { namespace fusion +{ + template + struct segmented_iterator; + + //auto segmented_begin( rng ) + //{ + // return make_segmented_iterator( segmented_begin_impl( rng, nil ) ); + //} + + template + struct segmented_begin + { + typedef + segmented_iterator< + typename detail::segmented_begin_impl::type + > + type; + + static type call(Range & rng) + { + return type( + detail::segmented_begin_impl::call(rng, fusion::nil())); + } + }; + +}} + +#endif diff --git a/include/boost/fusion/view/ext_/segmented_end.hpp b/include/boost/fusion/view/ext_/segmented_end.hpp new file mode 100644 index 00000000..e9ace31f --- /dev/null +++ b/include/boost/fusion/view/ext_/segmented_end.hpp @@ -0,0 +1,41 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SEGMENTED_END_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_END_HPP_INCLUDED + +#include +#include + +namespace boost { namespace fusion +{ + template + struct segmented_iterator; + + //auto segmented_end( rng ) + //{ + // return make_segmented_iterator( segmented_end_impl( rng ) ); + //} + + template + struct segmented_end + { + typedef + segmented_iterator< + typename detail::segmented_end_impl::type + > + type; + + static type call(Range & rng) + { + return type( + detail::segmented_end_impl::call(rng, fusion::nil())); + } + }; + +}} + +#endif diff --git a/include/boost/fusion/view/ext_/segmented_fold_until.hpp b/include/boost/fusion/view/ext_/segmented_fold_until.hpp new file mode 100644 index 00000000..85392073 --- /dev/null +++ b/include/boost/fusion/view/ext_/segmented_fold_until.hpp @@ -0,0 +1,436 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SEGMENTED_FOLD_UNTIL_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_FOLD_UNTIL_HPP_INCLUDED + +#include +#include +#include +#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +// fun(rng, state, context) +// rng: a non-segmented range +// state: the state of the fold so far +// context: the path to the current range +// +// returns: (state', fcontinue) + +namespace boost { namespace fusion +{ + template + struct segmented_iterator; + + namespace result_of + { + template + struct make_segmented_iterator + { + typedef + iterator_range< + Cur, + typename result_of::end< + typename remove_reference< + typename result_of::deref< + typename Context::car_type::begin_type + >::type + >::type + >::type + > + range_type; + + typedef + segmented_iterator > + type; + }; + } + + template + typename result_of::make_segmented_iterator::type + make_segmented_iterator(Cur const& cur, Context const& context) + { + typedef result_of::make_segmented_iterator impl_type; + typedef typename impl_type::type type; + typedef typename impl_type::range_type range_type; + return type(fusion::make_cons(range_type(cur, fusion::end(*context.car.first)), context)); + } + + typedef mpl::true_ continue_; + typedef mpl::false_ break_; + + template + struct result + { + typedef Value value_type; + typedef Continue continue_type; + + result(Value const& val) + : value(val) + {} + + value_type value; + }; + + template + struct result + { + typedef void_ value_type; + typedef Continue continue_type; + + result(void_ const&) + {} + + value_type value; + }; + + template + result make_result_continue(Value const& val) + { + return result(val); + } + + template + result make_result_break(Value const& val) + { + return result(val); + } + + namespace detail + { + template< + typename Begin, + typename End, + typename State, + typename Context, + typename Fun, + bool IsEmpty = result_of::empty< + typename result_of::value_of::type + >::type::value> + struct segmented_fold_until_iterate_skip_empty; + + template< + typename Begin, + typename End, + typename State, + typename Context, + typename Fun, + bool IsDone = result_of::equal_to::type::value> + struct segmented_fold_until_iterate; + + template< + typename Range, + typename State, + typename Context, + typename Fun, + bool IsSegmented = traits::is_segmented::type::value> + struct segmented_fold_until_impl; + + template + struct segmented_fold_until_on_segments; + + //auto push_context(cur, end, context) + //{ + // return push_back(context, segment_sequence(iterator_range(cur, end))); + //} + + template + struct push_context + { + typedef iterator_range range_type; + typedef cons type; + + static type call(Cur const& cur, End const& end, Context const& context) + { + return fusion::make_cons(range_type(cur, end), context); + } + }; + + //auto make_segmented_iterator(cur, end, context) + //{ + // return segmented_iterator(push_context(cur, end, context)); + //} + // + //auto segmented_fold_until_impl(rng, state, context, fun) + //{ + // if (is_segmented(rng)) + // { + // segmented_fold_until_on_segments(segments(rng), state, context, fun); + // } + // else + // { + // return fun(rng, state, context); + // } + //} + + template< + typename Range, + typename State, + typename Context, + typename Fun, + bool IsSegmented> + struct segmented_fold_until_impl + { + typedef + segmented_fold_until_on_segments< + typename remove_reference< + typename add_const< + typename result_of::segments::type + >::type + >::type, + State, + Context, + Fun + > + impl; + + typedef typename impl::type type; + + static type call(Range& rng, State const& state, Context const& context, Fun const& fun) + { + return impl::call(fusion::segments(rng), state, context, fun); + } + }; + + template< + typename Range, + typename State, + typename Context, + typename Fun> + struct segmented_fold_until_impl + { + typedef + typename boost::result_of::type + type; + + static type call(Range& rng, State const& state, Context const& context, Fun const& fun) + { + return fun(rng, state, context); + } + }; + + //auto segmented_fold_until_on_segments(segs, state, context, fun) + //{ + // auto cur = begin(segs), end = end(segs); + // for (; cur != end; ++cur) + // { + // if (empty(*cur)) + // continue; + // auto context` = push_context(cur, end, context); + // state = segmented_fold_until_impl(*cur, state, context`, fun); + // if (!second(state)) + // return state; + // } + //} + + template + struct segmented_fold_until_iterate_skip_empty + { + // begin != end and !empty(*begin) + typedef + push_context + push_context_impl; + + typedef + typename push_context_impl::type + next_context_type; + + typedef + segmented_fold_until_impl< + typename remove_reference< + typename add_const< + typename result_of::deref::type + >::type + >::type, + State, + next_context_type, + Fun + > + fold_recurse_impl; + + typedef + typename fold_recurse_impl::type + next_state_type; + + typedef + segmented_fold_until_iterate< + typename result_of::next::type, + End, + next_state_type, + Context, + Fun + > + next_iteration_impl; + + typedef + typename mpl::eval_if< + typename next_state_type::continue_type, + next_iteration_impl, + mpl::identity + >::type + type; + + static type call(Begin const& beg, End const& end, State const& state, + Context const& context, Fun const& fun) + { + return call(beg, end, state, context, fun, typename next_state_type::continue_type()); + } + + static type call(Begin const& beg, End const& end, State const& state, + Context const& context, Fun const& fun, mpl::true_) // continue + { + return next_iteration_impl::call( + fusion::next(beg), + end, + fold_recurse_impl::call( + *beg, + state, + push_context_impl::call(beg, end, context), + fun), + context, + fun); + } + + static type call(Begin const& beg, End const& end, State const& state, + Context const& context, Fun const& fun, mpl::false_) // break + { + return fold_recurse_impl::call( + *beg, + state, + push_context_impl::call(beg, end, context), + fun); + } + }; + + template + struct segmented_fold_until_iterate_skip_empty + { + typedef + segmented_fold_until_iterate< + typename result_of::next::type, + End, + State, + Context, + Fun + > + impl; + + typedef typename impl::type type; + + static type call(Begin const& beg, End const& end, State const& state, + Context const& context, Fun const& fun) + { + return impl::call(fusion::next(beg), end, state, context, fun); + } + }; + + template + struct segmented_fold_until_iterate + { + typedef + segmented_fold_until_iterate_skip_empty + impl; + + typedef typename impl::type type; + + static type call(Begin const& beg, End const& end, State const& state, + Context const& context, Fun const& fun) + { + return impl::call(beg, end, state, context, fun); + } + }; + + template + struct segmented_fold_until_iterate + { + typedef State type; + + static type call(Begin const&, End const&, State const& state, + Context const&, Fun const&) + { + return state; + } + }; + + template + struct segmented_fold_until_on_segments + { + typedef + segmented_fold_until_iterate< + typename result_of::begin::type, + typename result_of::end::type, + State, + Context, + Fun + > + impl; + + typedef typename impl::type type; + + static type call(Segments& segs, State const& state, Context const& context, Fun const& fun) + { + return impl::call(fusion::begin(segs), fusion::end(segs), state, context, fun); + } + }; + + } + + //auto segmented_fold_until(rng, state, fun) + //{ + // return first(segmented_fold_until_impl(rng, state, nil, fun)); + //} + + namespace result_of + { + template + struct segmented_fold_until + { + typedef + detail::segmented_fold_until_impl< + Range, + result, + fusion::nil, + Fun + > + impl; + + typedef + typename impl::type::value_type + type; + }; + } + + template + typename result_of::segmented_fold_until::type + segmented_fold_until(Range& rng, State const& state, Fun const& fun) + { + typedef typename result_of::segmented_fold_until::impl impl; + return impl::call(rng, state, fusion::nil(), fun).value; + } + + template + typename result_of::segmented_fold_until::type + segmented_fold_until(Range const& rng, State const& state, Fun const& fun) + { + typedef typename result_of::segmented_fold_until::impl impl; + return impl::call(rng, state, fusion::nil(), fun).value; + } +}} + +#endif diff --git a/include/boost/fusion/view/ext_/segmented_iterator.hpp b/include/boost/fusion/view/ext_/segmented_iterator.hpp index 79bc707e..cd454e27 100644 --- a/include/boost/fusion/view/ext_/segmented_iterator.hpp +++ b/include/boost/fusion/view/ext_/segmented_iterator.hpp @@ -1,448 +1,42 @@ /*============================================================================= - Copyright (c) 2006 Eric Niebler + Copyright (c) 2011 Eric Niebler - Use, modification and distribution is subject to 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) + 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 FUSION_SEGMENTED_ITERATOR_EAN_05032006_1027 -#define FUSION_SEGMENTED_ITERATOR_EAN_05032006_1027 +#if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_ITERATOR_HPP_INCLUDED -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include // for nil -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include namespace boost { namespace fusion { - struct fusion_sequence_tag; - - namespace detail - { - using mpl::_; - using mpl::not_; - - //////////////////////////////////////////////////////////////////////////// - template - struct is_empty - : result_of::equal_to< - typename result_of::begin::type - , typename result_of::end::type - > - {}; - - template - struct is_empty - : is_empty - {}; - - //////////////////////////////////////////////////////////////////////////// - struct not_is_empty_pred - { - template - struct apply - : not_ > - {}; - }; - - struct segmented_range_tag; - - //////////////////////////////////////////////////////////////////////////// - template - struct segmented_range - : 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; - - // If this is a range of segments, skip over the empty ones - typedef typename mpl::if_< - is_segmented - , filter_view - , Sequence - >::type sequence_non_ref_type; - - typedef typename mpl::if_< - traits::is_view - , sequence_non_ref_type - , 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_)) - {} - - segmented_range(sequence_type sequence_, int) - : sequence(sequence_) - {} - - iterator_type where_() const - { - return fusion::advance( - fusion::begin(const_cast(this->sequence)) - ); - } - - sequence_type sequence; - - private: - segmented_range &operator =(segmented_range const &); - }; - } - - namespace extension - { - template<> - struct is_segmented_impl - { - template - struct apply - : Sequence::is_segmented - {}; - }; - - template<> - struct size_impl - { - template - struct apply - : mpl::int_< - result_of::distance< - typename Sequence::iterator_type - , typename result_of::end::type - >::value - > - {}; - }; - - template<> - struct segments_impl - { - template - struct apply - { - typedef Sequence &type; - static type call(Sequence &seq) - { - return seq; - } - }; - }; - - template<> - struct begin_impl - { - template - struct apply - { - typedef typename Sequence::iterator_type type; - static type call(Sequence &seq) - { - return seq.where_(); - } - }; - }; - - template<> - struct end_impl - { - template - struct apply - { - typedef typename Sequence::sequence_non_ref_type sequence; - typedef typename result_of::end::type type; - - static type call(Sequence &seq) - { - return fusion::end(seq.sequence); - } - }; - }; - } - - namespace detail - { - /////////////////////////////////////////////////////////////////////// - template - struct range_next; - - template - struct range_next > - { - typedef typename mpl::next::type index_type; - typedef segmented_range type; - - static type call(segmented_range const &rng) - { - return type(rng.sequence, 0); - } - }; - - /////////////////////////////////////////////////////////////////////// - template - struct is_range_next_empty - : is_empty::type> - {}; - - template<> - struct is_range_next_empty - : mpl::true_ - {}; - - /////////////////////////////////////////////////////////////////////// - template::value> - struct as_segmented_range - { - typedef typename result_of::segments::type segments; - typedef typename remove_reference::type sequence; - typedef segmented_range, true> type; - - static type call(Sequence &seq) - { - segments segs(fusion::segments(seq)); - return type(segs); - } - }; - - template - struct as_segmented_range - { - typedef typename remove_reference::type sequence; - typedef segmented_range, false> type; - - static type call(Sequence &seq) - { - return type(seq); - } - }; - - template - struct as_segmented_range, IsSegmented> - { - typedef segmented_range type; - static type &call(type &seq) - { - return seq; - } - }; - - /////////////////////////////////////////////////////////////////////// - template< - typename Sequence - , typename State = nil - , bool IsSegmented = traits::is_segmented::value - > - struct push_segments - { - typedef typename as_segmented_range::type range; - typedef typename result_of::begin::type begin; - typedef typename result_of::deref::type next_ref; - typedef typename remove_reference::type next; - typedef push_segments > push; - typedef typename push::type type; - - static type call(Sequence &seq, State const &state) - { - range rng(as_segmented_range::call(seq)); - next_ref nxt(*fusion::begin(rng)); - return push::call(nxt, fusion::make_cons(rng, state)); - } - }; - - template - struct push_segments - { - typedef typename as_segmented_range::type range; - typedef cons type; - - static type call(Sequence &seq, State const &state) - { - range rng(as_segmented_range::call(seq)); - return fusion::make_cons(rng, state); - } - }; - - /////////////////////////////////////////////////////////////////////// - template::value> - struct pop_segments - { - typedef range_next next; - typedef push_segments push; - typedef typename push::type type; - - static type call(State const &state) - { - typename next::type rng(next::call(state.car)); - return push::call(rng, state.cdr); - } - }; - - template - struct pop_segments - { - typedef pop_segments pop; - typedef typename pop::type type; - - static type call(State const &state) - { - return pop::call(state.cdr); - } - }; - - template<> - struct pop_segments - { - typedef nil type; - - static type call(nil const &) - { - return nil(); - } - }; - } // namespace detail - - struct segmented_iterator_tag; - - //////////////////////////////////////////////////////////////////////////// - template + struct segmented_iterator_tag {}; + + // A segmented iterator is a stack of segment nodes. + // Note: push_front/pop_front create views. That should + // be good enough. + template struct segmented_iterator - : fusion::iterator_base > + : fusion::iterator_base > { + typedef forward_traversal_tag category; typedef segmented_iterator_tag fusion_tag; - typedef fusion::forward_traversal_tag category; - typedef Cons cons_type; - typedef typename Cons::car_type car_type; - typedef typename Cons::cdr_type cdr_type; - - explicit segmented_iterator(Cons const &c) - : cons_(c) + explicit segmented_iterator(Nodes const &ns) + : nodes(ns) {} - cons_type const &cons() const { return this->cons_; }; - car_type const &car() const { return this->cons_.car; }; - cdr_type const &cdr() const { return this->cons_.cdr; }; - - private: - Cons cons_; + typedef Nodes nodes_type; + nodes_type nodes; }; - /////////////////////////////////////////////////////////////////////////// - template - struct segmented_begin - { - typedef typename detail::push_segments push; - typedef segmented_iterator type; - - static type call(Sequence &seq) - { - return type(push::call(seq, nil())); - } - }; - - /////////////////////////////////////////////////////////////////////////// - template - struct segmented_end - { - typedef segmented_iterator type; - - static type call(Sequence &) - { - return type(nil()); - } - }; - - namespace extension - { - template<> - struct value_of_impl - { - template - struct apply - { - typedef typename result_of::begin::type begin; - typedef typename result_of::value_of::type type; - }; - }; - - template<> - struct deref_impl - { - template - struct apply - { - typedef typename result_of::begin::type begin; - typedef typename result_of::deref::type type; - - static type call(Iterator const &it) - { - return *fusion::begin(it.car()); - } - }; - }; - - // discards the old head, expands the right child of the new head - // and pushes the result to the head of the list. - - template<> - struct next_impl - { - template< - typename Iterator - , bool IsSegmentDone = detail::is_range_next_empty::value - > - struct apply - { - typedef typename Iterator::cdr_type cdr_type; - typedef detail::range_next next; - typedef segmented_iterator > type; - - static type call(Iterator const &it) - { - return type(fusion::make_cons(next::call(it.car()), it.cdr())); - } - }; - - template - struct apply // segment done, move to next segment - { - typedef typename Iterator::cdr_type cdr_type; - typedef typename detail::pop_segments pop; - typedef segmented_iterator type; - - static type call(Iterator const &it) - { - return type(pop::call(it.cdr())); - } - }; - }; - } -}} // namespace boost::fusion +}} #endif diff --git a/include/boost/fusion/view/ext_/segmented_iterator_range.hpp b/include/boost/fusion/view/ext_/segmented_iterator_range.hpp old mode 100755 new mode 100644 index 803e642b..209faee5 --- a/include/boost/fusion/view/ext_/segmented_iterator_range.hpp +++ b/include/boost/fusion/view/ext_/segmented_iterator_range.hpp @@ -1,537 +1,549 @@ /*============================================================================= - Copyright (c) 2006 Eric Niebler + Copyright (c) 2011 Eric Niebler - Use, modification and distribution is subject to 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) + 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 FUSION_SEGMENTED_ITERATOR_RANGE_EAN_05032006_1027 -#define FUSION_SEGMENTED_ITERATOR_RANGE_EAN_05032006_1027 +#if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_RANGE_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_ITERATOR_RANGE_HPP_INCLUDED -#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 +#include #include -#include +#include +#include -namespace boost { namespace fusion +// Invariants: +// - Each segmented iterator has a stack +// - Each value in the stack is an iterator range +// - The range at the top of the stack points to values +// - All other ranges point to ranges +// - The front of each range in the stack (besides the +// topmost) is the range above it + +namespace boost { namespace fusion { namespace detail { - namespace detail + //auto make_segment_sequence_front(stack_begin) + //{ + // switch (size(stack_begin)) + // { + // case 1: + // return nil; + // case 2: + // // car(cdr(stack_begin)) is a range over values. + // assert(end(front(car(stack_begin))) == end(car(cdr(stack_begin)))); + // return iterator_range(begin(car(cdr(stack_begin))), end(front(car(stack_begin)))); + // default: + // // car(cdr(stack_begin)) is a range over segments. We replace the + // // front with a view that is restricted. + // assert(end(segments(front(car(stack_begin)))) == end(car(cdr(stack_begin)))); + // return segment_sequence( + // push_front( + // // The following could be a segment_sequence. It then gets wrapped + // // in a single_view, and push_front puts it in a join_view with the + // // following iterator_range. + // iterator_range(next(begin(car(cdr(stack_begin)))), end(segments(front(car(stack_begin))))), + // make_segment_sequence_front(cdr(stack_begin)))); + // } + //} + + template + struct make_segment_sequence_front { - //////////////////////////////////////////////////////////////////////////// - template - struct reverse_cons; + // assert(end(segments(front(car(stack_begin)))) == end(car(cdr(stack_begin)))); + BOOST_MPL_ASSERT(( + result_of::equal_to< + typename result_of::end< + typename remove_reference< + typename add_const< + typename result_of::segments< + typename remove_reference< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type + >::type + >::type + >::type, + typename Stack::cdr_type::car_type::end_type + >)); - template - struct reverse_cons, State> - { - typedef reverse_cons > reverse; - typedef typename reverse::type type; - - static type call(cons const &cons, State const &state = State()) - { - return reverse::call(cons.cdr, fusion::make_cons(cons.car, state)); - } - }; - - template - struct reverse_cons - { - typedef State type; - - static State const &call(nil const &, State const &state = State()) - { - return state; - } - }; - - //////////////////////////////////////////////////////////////////////////// - // tags - struct full_view {}; - struct left_view {}; - struct right_view {}; - struct center_view {}; - - template - struct segmented_view_tag; - - //////////////////////////////////////////////////////////////////////////// - // a segmented view of that includes all elements either to the - // right or the left of a segmented iterator. - template - struct segmented_view - : sequence_base > - { - typedef segmented_view_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::true_ is_view; - typedef forward_traversal_tag category; - - explicit segmented_view(Cons1 const &cons) - : cons(cons) - {} - - typedef Cons1 cons_type; - cons_type const &cons; - }; - - // a segmented view that contains all the elements in between - // two segmented iterators - template - struct segmented_view - : sequence_base > - { - typedef segmented_view_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef mpl::true_ is_view; - typedef forward_traversal_tag category; - - segmented_view(Cons1 const &lcons, Cons2 const &rcons) - : left_cons(lcons) - , right_cons(rcons) - {} - - typedef Cons1 left_cons_type; - typedef Cons2 right_cons_type; - - left_cons_type const &left_cons; - right_cons_type const &right_cons; - }; - - //////////////////////////////////////////////////////////////////////////// - // Used to transform a sequence of segments. The first segment is - // bounded by RightCons, and the last segment is bounded by LeftCons - // and all the others are passed through unchanged. - template - struct segments_transform - { - explicit segments_transform(RightCons const &cons_) - : right_cons(cons_) - , left_cons(cons_) - {} - - segments_transform(RightCons const &right_cons_, LeftCons const &left_cons_) - : right_cons(right_cons_) - , left_cons(left_cons_) - {} - - template - struct result_; - - template - struct result_ - { - typedef segmented_view type; - }; - - template - struct result_ - { - typedef segmented_view type; - }; - - template - struct result_ - { - typedef Second type; - }; - - template - struct result; - - template - struct result - : result_< - typename remove_cv::type>::type - , typename remove_cv::type>::type - > - {}; - - template - segmented_view operator ()(right_view, Second &second) const - { - return segmented_view(this->right_cons); - } - - template - segmented_view operator ()(left_view, Second &second) const - { - return segmented_view(this->left_cons); - } - - template - Second &operator ()(full_view, Second &second) const - { - return second; - } - - private: - RightCons const &right_cons; - LeftCons const &left_cons; - }; - - } // namespace detail - - namespace extension - { - //////////////////////////////////////////////////////////////////////////// - template - struct is_segmented_impl > - { - template - struct apply - : mpl::true_ - {}; - }; - - //////////////////////////////////////////////////////////////////////////// - template<> - struct segments_impl > - { - template< - typename Sequence - , typename Cdr = typename Sequence::cons_type::cdr_type + typedef + iterator_range< + typename result_of::next< + typename Stack::cdr_type::car_type::begin_type + >::type, + typename result_of::end< + typename remove_reference< + typename add_const< + typename result_of::segments< + typename remove_reference< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type + >::type + >::type + >::type > - struct apply - { - typedef typename Sequence::cons_type::car_type segmented_range; - typedef typename result_of::size::type size; - typedef typename mpl::prior::type size_minus_1; - typedef detail::segments_transform tfx; - typedef joint_view< - single_view const - , multiple_view const - > mask; - typedef transform_view type; + rest_type; - static type call(Sequence &seq) - { - return type( - mask( - make_single_view(detail::right_view()) - , make_multiple_view(detail::full_view()) - ) - , seq.cons.car - , tfx(seq.cons.cdr) - ); - } - }; + typedef + make_segment_sequence_front + recurse; - template - struct apply - { - typedef typename Sequence::cons_type::car_type segmented_range; - typedef typename segmented_range::iterator_type begin; - typedef typename segmented_range::sequence_non_ref_type sequence_type; - typedef typename result_of::end::type end; - typedef iterator_range range; - typedef single_view type; - - static type call(Sequence &seq) - { - return type(range(seq.cons.car.where_, fusion::end(seq.cons.car.sequence))); - } - }; - }; - - //////////////////////////////////////////////////////////////////////////// - template<> - struct segments_impl > - { - template< - typename Sequence - , typename Cdr = typename Sequence::cons_type::cdr_type + typedef + segment_sequence< + typename result_of::push_front< + rest_type const, + typename recurse::type + >::type > - struct apply - { - typedef typename Sequence::cons_type::car_type right_segmented_range; - typedef typename right_segmented_range::sequence_type sequence_type; - typedef typename right_segmented_range::iterator_type iterator_type; + type; - typedef iterator_range< - typename result_of::begin::type - , typename result_of::next::type - > segmented_range; - - typedef detail::segments_transform tfx; - typedef typename result_of::size::type size; - typedef typename mpl::prior::type size_minus_1; - typedef joint_view< - multiple_view const - , single_view const - > mask; - typedef transform_view type; - - static type call(Sequence &seq) - { - return type( - mask( - make_multiple_view(detail::full_view()) - , make_single_view(detail::left_view()) - ) - , segmented_range(fusion::begin(seq.cons.car.sequence), fusion::next(seq.cons.car.where_)) - , tfx(seq.cons.cdr) - ); - } - }; - - template - struct apply - { - typedef typename Sequence::cons_type::car_type segmented_range; - typedef typename segmented_range::sequence_non_ref_type sequence_type; - typedef typename result_of::begin::type begin; - typedef typename segmented_range::iterator_type end; - typedef iterator_range range; - typedef single_view type; - - static type call(Sequence &seq) - { - return type(range(fusion::begin(seq.cons.car.sequence), seq.cons.car.where_)); - } - }; - }; - - //////////////////////////////////////////////////////////////////////////// - template<> - struct segments_impl > + static type call(Stack stack) { - template - struct apply - { - typedef typename Sequence::right_cons_type right_cons_type; - typedef typename Sequence::left_cons_type left_cons_type; - typedef typename right_cons_type::car_type right_segmented_range; - typedef typename left_cons_type::car_type left_segmented_range; - - typedef iterator_range< - typename result_of::begin::type - , typename result_of::next::type>::type - > segmented_range; - - typedef typename mpl::minus< - typename result_of::size::type - , mpl::int_<2> - >::type size_minus_2; - - BOOST_MPL_ASSERT_RELATION(0, <=, size_minus_2::value); - - typedef detail::segments_transform< - typename left_cons_type::cdr_type - , typename right_cons_type::cdr_type - > tfx; - - typedef joint_view< - multiple_view const - , single_view const - > left_mask; - - typedef joint_view< - single_view const - , left_mask const - > mask; - - typedef transform_view type; - - static type call(Sequence &seq) - { - left_mask lmask( - make_multiple_view(detail::full_view()) - , make_single_view(detail::left_view()) - ); - return type( - mask(make_single_view(detail::right_view()), lmask) - , segmented_range(fusion::begin(seq.left_cons.car), fusion::next(fusion::begin(seq.right_cons.car))) - , tfx(seq.left_cons.cdr, seq.right_cons.cdr) - ); - } - }; - }; - } - - // specialize iterator_range for use with segmented iterators, so that - // it presents a segmented view of the range. - template - struct iterator_range; - - template - struct iterator_range, segmented_iterator > - : sequence_base, segmented_iterator > > - { - typedef typename convert_iterator >::type begin_type; - typedef typename convert_iterator >::type end_type; - typedef typename detail::reverse_cons::type begin_cons_type; - typedef typename detail::reverse_cons::type end_cons_type; - typedef iterator_range_tag fusion_tag; - typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef typename traits::category_of::type category; - typedef typename result_of::distance::type size; - typedef mpl::true_ is_view; - - iterator_range(segmented_iterator const& first_, segmented_iterator const& last_) - : first(convert_iterator >::call(first_)) - , last(convert_iterator >::call(last_)) - , first_cons(detail::reverse_cons::call(first_.cons())) - , last_cons(detail::reverse_cons::call(last_.cons())) - {} - - begin_type first; - end_type last; - - begin_cons_type first_cons; - end_cons_type last_cons; + //return segment_sequence( + // push_front( + // iterator_range(next(begin(car(cdr(stack_begin)))), end(segments(front(car(stack_begin))))), + // make_segment_sequence_front(cdr(stack_begin)))); + return type( + fusion::push_front( + rest_type(fusion::next(stack.cdr.car.first), fusion::end(fusion::segments(*stack.car.first))), + recurse::call(stack.cdr))); + } }; - namespace detail + template + struct make_segment_sequence_front { + // assert(end(front(car(stack_begin))) == end(car(cdr(stack_begin)))); + BOOST_MPL_ASSERT(( + result_of::equal_to< + typename result_of::end< + typename remove_reference< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type, + typename Stack::cdr_type::car_type::end_type + >)); - template - struct same_segment - : mpl::false_ - {}; - - template - struct same_segment, cons > - : mpl::and_< - traits::is_segmented - , is_same + typedef + iterator_range< + typename Stack::cdr_type::car_type::begin_type, + typename result_of::end< + typename remove_reference< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type > - {}; + type; - //////////////////////////////////////////////////////////////////////////// - template - struct segments_gen; - - //////////////////////////////////////////////////////////////////////////// - template - struct segments_gen2 + static type call(Stack stack) { - typedef segments_gen gen; - typedef typename gen::type type; + // return iterator_range(begin(car(cdr(stack_begin))), end(front(car(stack_begin)))); + return type(stack.cdr.car.first, fusion::end(*stack.car.first)); + } + }; - static type call(Cons1 const &cons1, Cons2 const &cons2) - { - return gen::call(cons1.cdr, cons2.cdr); - } - }; - - template - struct segments_gen2 - { - typedef segmented_view view; - typedef typename result_of::segments::type type; - - static type call(Cons1 const &cons1, Cons2 const &cons2) - { - view v(cons1, cons2); - return fusion::segments(v); - } - }; - - template - struct segments_gen2, cons, false> - { - typedef iterator_range< - typename Car1::iterator_type - , typename Car2::iterator_type - > range; - - typedef single_view type; - - static type call(cons const &cons1, cons const &cons2) - { - return type(range(cons1.car.where_, cons2.car.where_)); - } - }; - - //////////////////////////////////////////////////////////////////////////// - template - struct segments_gen - : segments_gen2::value> - {}; - - template - struct segments_gen, nil> - { - typedef segmented_view > view; - typedef typename result_of::segments::type type; - - static type call(cons const &cons, nil const &) - { - view v(cons); - return fusion::segments(v); - } - }; - - template<> - struct segments_gen - { - typedef nil type; - - static type call(nil const &, nil const &) - { - return nil(); - } - }; - } // namespace detail - - namespace extension + template + struct make_segment_sequence_front { - template - struct is_segmented_impl; - - // An iterator_range of segmented_iterators is segmented - template<> - struct is_segmented_impl + typedef nil type; + static type call(Stack const &) { - template - struct is_segmented_iterator : mpl::false_ {}; + return nil(); + } + }; - template - struct is_segmented_iterator > : mpl::true_ {}; + //auto make_segment_sequence_back(stack_end) + //{ + // switch (size(stack_end)) + // { + // case 1: + // return nil; + // case 2: + // // car(cdr(stack_back)) is a range over values. + // assert(end(front(car(stack_end))) == end(car(cdr(stack_end)))); + // return iterator_range(begin(front(car(stack_end))), begin(car(cdr(stack_end)))); + // default: + // // car(cdr(stack_begin)) is a range over segments. We replace the + // // back with a view that is restricted. + // assert(end(segments(front(car(stack_end)))) == end(car(cdr(stack_end)))); + // return segment_sequence( + // push_back( + // iterator_range(begin(segments(front(car(stack_end)))), begin(car(cdr(stack_end)))), + // make_segment_sequence_back(cdr(stack_end)))); + // } + //} - template - struct apply - : mpl::and_< - is_segmented_iterator - , is_segmented_iterator - > - {}; - }; + template + struct make_segment_sequence_back + { + // assert(end(segments(front(car(stack_begin)))) == end(car(cdr(stack_begin)))); + BOOST_MPL_ASSERT(( + result_of::equal_to< + typename result_of::end< + typename remove_reference< + typename add_const< + typename result_of::segments< + typename remove_reference< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type + >::type + >::type + >::type, + typename Stack::cdr_type::car_type::end_type + >)); + + typedef + iterator_range< + typename result_of::begin< + typename remove_reference< + typename add_const< + typename result_of::segments< + typename remove_reference< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type + >::type + >::type + >::type, + typename Stack::cdr_type::car_type::begin_type + > + rest_type; + + typedef + make_segment_sequence_back + recurse; + + typedef + segment_sequence< + typename result_of::push_back< + rest_type const, + typename recurse::type + >::type + > + type; + + static type call(Stack stack) + { + // return segment_sequence( + // push_back( + // iterator_range(begin(segments(front(car(stack_end)))), begin(car(cdr(stack_end)))), + // make_segment_sequence_back(cdr(stack_end)))); + return type( + fusion::push_back( + rest_type(fusion::begin(fusion::segments(*stack.car.first)), stack.cdr.car.first), + recurse::call(stack.cdr))); + } + }; + + template + struct make_segment_sequence_back + { + // assert(end(front(car(stack_end))) == end(car(cdr(stack_end)))); + BOOST_MPL_ASSERT(( + result_of::equal_to< + typename result_of::end< + typename remove_reference< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type, + typename Stack::cdr_type::car_type::end_type + >)); + + typedef + iterator_range< + typename result_of::begin< + typename remove_reference< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type + >::type + >::type, + typename Stack::cdr_type::car_type::begin_type + > + type; + + static type call(Stack stack) + { + // return iterator_range(begin(front(car(stack_end))), begin(car(cdr(stack_end)))); + return type(fusion::begin(*stack.car.first), stack.cdr.car.first); + } + }; + + template + struct make_segment_sequence_back + { + typedef nil type; + static type call(Stack const &) + { + return nil(); + } + }; + + //auto make_segmented_range_reduce(stack_begin, stack_end) + //{ + // if (size(stack_begin) == 1 && size(stack_end) == 1) + // { + // return segment_sequence( + // single_view( + // iterator_range(begin(car(stack_begin)), begin(car(stack_end))))); + // } + // else + // { + // // We are in the case where both begin_stack and/or end_stack have + // // more than one element. Throw away any part of the tree where + // // begin and end refer to the same segment. + // if (begin(car(stack_begin)) == begin(car(stack_end))) + // { + // return make_segmented_range_reduce(cdr(stack_begin), cdr(stack_end)); + // } + // else + // { + // // We are in the case where begin_stack and end_stack (a) have + // // more than one element each, and (b) they point to different + // // segments. We must construct a segmented sequence. + // return segment_sequence( + // push_back( + // push_front( + // iterator_range( + // fusion::next(begin(car(stack_begin))), + // begin(car(stack_end))), // a range of (possibly segmented) ranges. + // make_segment_sequence_front(stack_begin)), // should be a (possibly segmented) range. + // make_segment_sequence_back(stack_end))); // should be a (possibly segmented) range. + // } + // } + //} + + template< + typename StackBegin, + typename StackEnd, + int StackBeginSize = StackBegin::size::value, + int StackEndSize = StackEnd::size::value> + struct make_segmented_range_reduce; + + template< + typename StackBegin, + typename StackEnd, + bool SameSegment = + result_of::equal_to< + typename StackBegin::car_type::begin_type, + typename StackEnd::car_type::begin_type + >::type::value> + struct make_segmented_range_reduce2 + { + typedef + iterator_range< + typename result_of::next< + typename StackBegin::car_type::begin_type + >::type, + typename StackEnd::car_type::begin_type + > + rest_type; + + typedef + segment_sequence< + typename result_of::push_back< + typename result_of::push_front< + rest_type const, + typename make_segment_sequence_front::type + >::type const, + typename make_segment_sequence_back::type + >::type + > + type; + + static type call(StackBegin stack_begin, StackEnd stack_end) + { + //return segment_sequence( + // push_back( + // push_front( + // iterator_range( + // fusion::next(begin(car(stack_begin))), + // begin(car(stack_end))), // a range of (possibly segmented) ranges. + // make_segment_sequence_front(stack_begin)), // should be a (possibly segmented) range. + // make_segment_sequence_back(stack_end))); // should be a (possibly segmented) range. + return type( + fusion::push_back( + fusion::push_front( + rest_type(fusion::next(stack_begin.car.first), stack_end.car.first), + make_segment_sequence_front::call(stack_begin)), + make_segment_sequence_back::call(stack_end))); + } + }; + + template + struct make_segmented_range_reduce2 + { + typedef + make_segmented_range_reduce< + typename StackBegin::cdr_type, + typename StackEnd::cdr_type + > + impl; + + typedef + typename impl::type + type; + + static type call(StackBegin stack_begin, StackEnd stack_end) + { + return impl::call(stack_begin.cdr, stack_end.cdr); + } + }; + + template + struct make_segmented_range_reduce + : make_segmented_range_reduce2 + {}; + + template + struct make_segmented_range_reduce + { + typedef + iterator_range< + typename StackBegin::car_type::begin_type, + typename StackEnd::car_type::begin_type + > + range_type; + + typedef + single_view + segment_type; + + typedef + segment_sequence + type; + + static type call(StackBegin stack_begin, StackEnd stack_end) + { + //return segment_sequence( + // single_view( + // iterator_range(begin(car(stack_begin)), begin(car(stack_end))))); + return type(segment_type(range_type(stack_begin.car.first, stack_end.car.first))); + } + }; + + //auto make_segmented_range(begin, end) + //{ + // return make_segmented_range_reduce(reverse(begin.nodes), reverse(end.nodes)); + //} + + template + struct make_segmented_range + { + typedef reverse_cons reverse_begin_cons; + typedef reverse_cons reverse_end_cons; + + typedef + make_segmented_range_reduce< + typename reverse_begin_cons::type, + typename reverse_end_cons::type + > + impl; + + typedef typename impl::type type; + + static type call(Begin const & begin, End const & end) + { + return impl::call( + reverse_begin_cons::call(begin.nodes), + reverse_end_cons::call(end.nodes)); + } + }; + +}}} + +namespace boost { namespace fusion { namespace extension +{ + template + struct is_segmented_impl; + + // An iterator_range of segmented_iterators is segmented + template<> + struct is_segmented_impl + { + template + struct is_segmented_iterator + : is_same< + segmented_iterator_tag, + typename traits::tag_of::type> + {}; template - struct segments_impl; - - template<> - struct segments_impl + struct apply + : is_segmented_iterator { - template - struct apply - { - typedef typename Sequence::begin_cons_type begin_cons; - typedef typename Sequence::end_cons_type end_cons; - - typedef detail::segments_gen gen; - typedef typename gen::type type; - - static type call(Sequence &sequence) - { - return gen::call(sequence.first_cons, sequence.last_cons); - } - }; + BOOST_MPL_ASSERT_RELATION( + is_segmented_iterator::value, + ==, + is_segmented_iterator::value); }; - } + }; -}} + template + struct segments_impl; + + template<> + struct segments_impl + { + template + struct apply + { + typedef + detail::make_segmented_range< + typename Sequence::begin_type, + typename Sequence::end_type + > + impl; + + BOOST_MPL_ASSERT((traits::is_segmented)); + + typedef + typename result_of::segments::type + type; + + static type call(Sequence & seq) + { + return fusion::segments(impl::call(seq.first, seq.last)); + } + }; + }; + + // TODO: remove invocation of distance in iterator_range. + // TODO: default implementation of begin, end, and size + // should check if the sequence is segmented and to + // the right thing. + +}}} #endif diff --git a/include/boost/fusion/view/iterator_range/detail/size_impl.hpp b/include/boost/fusion/view/iterator_range/detail/size_impl.hpp new file mode 100644 index 00000000..90951b2f --- /dev/null +++ b/include/boost/fusion/view/iterator_range/detail/size_impl.hpp @@ -0,0 +1,37 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_ITERATOR_RANGE_SIZE_IMPL_HPP_INCLUDED) +#define BOOST_FUSION_ITERATOR_RANGE_SIZE_IMPL_HPP_INCLUDED + +#include + +namespace boost { namespace fusion +{ + struct iterator_range_tag; + + namespace extension + { + template + struct size_impl; + + template <> + struct size_impl + { + template + struct apply + : result_of::distance< + typename Seq::begin_type, + typename Seq::end_type + > + {}; + }; + } +}} + +#endif + diff --git a/include/boost/fusion/view/iterator_range/iterator_range.hpp b/include/boost/fusion/view/iterator_range/iterator_range.hpp index 4d16ca6c..5e000b72 100644 --- a/include/boost/fusion/view/iterator_range/iterator_range.hpp +++ b/include/boost/fusion/view/iterator_range/iterator_range.hpp @@ -15,6 +15,7 @@ #include #include #include +#include #include #include #include @@ -36,7 +37,6 @@ namespace boost { namespace fusion typedef typename convert_iterator::type end_type; typedef iterator_range_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL - typedef typename result_of::distance::type size; typedef mpl::true_ is_view; typedef typename traits::category_of::type category; diff --git a/test/Jamfile b/test/Jamfile index fe8829e6..7a7e7186 100644 --- a/test/Jamfile +++ b/test/Jamfile @@ -157,9 +157,15 @@ import testing ; run algorithm/ext_/for_each_s.cpp ; explicit for_each_s ; + run algorithm/ext_/find_s.cpp ; + explicit find_s ; + run algorithm/ext_/find_if_s.cpp ; explicit find_if_s ; + run algorithm/ext_/fold_s.cpp ; + explicit fold_s ; + run sequence/ext_/iterator_range_s.cpp ; explicit iterator_range_s ; } diff --git a/test/algorithm/ext_/find_if_s.cpp b/test/algorithm/ext_/find_if_s.cpp old mode 100755 new mode 100644 index 7f33ea45..805fd599 --- a/test/algorithm/ext_/find_if_s.cpp +++ b/test/algorithm/ext_/find_if_s.cpp @@ -1,29 +1,18 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2011 Eric Niebler 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 -struct X -{ - operator int() const - { - return 12345; - } -}; - template void process_tree(Tree const &tree) @@ -48,61 +37,21 @@ int main() { using namespace boost::fusion; - - { - using boost::is_same; - using boost::mpl::_; - - typedef vector vector_type; - vector_type v(12345, 'x', 678910, 3.36); - - std::cout << *find_if_s >(v) << std::endl; - BOOST_TEST((*find_if_s >(v) == 'x')); - - std::cout << *find_if_s >(v) << std::endl; - BOOST_TEST((*find_if_s >(v) == 12345)); - - std::cout << *find_if_s >(v) << std::endl; - BOOST_TEST((*find_if_s >(v) == 3.36)); - } - - { - using boost::mpl::vector; - using boost::is_same; - using boost::mpl::_; - - typedef vector mpl_vec; - BOOST_TEST((*find_if_s >(mpl_vec()) == 12345)); - } - - { - using boost::mpl::vector_c; - using boost::mpl::less; - using boost::mpl::int_; - using boost::is_same; - using boost::mpl::_; - - typedef vector_c mpl_vec; - BOOST_TEST((*find_if_s > >(mpl_vec()) == 1)); - } - - { - process_tree( - make_tree( - make_vector(double(0),'B') - , make_tree( - make_vector(1,2,long(3)) - , make_tree(make_vector('a','b','c')) - , make_tree(make_vector(short('d'),'e','f')) - ) - , make_tree( - make_vector(4,5,6) - , make_tree(make_vector(float(1),'h','i')) - , make_tree(make_vector('j','k','l')) - ) + process_tree( + make_tree( + make_vector(double(0),'B') + , make_tree( + make_vector(1,2,long(3)) + , make_tree(make_vector('a','b','c')) + , make_tree(make_vector(short('d'),'e','f')) ) - ); - } + , make_tree( + make_vector(4,5,6) + , make_tree(make_vector(float(1),'h','i')) + , make_tree(make_vector('j','k','l')) + ) + ) + ); return boost::report_errors(); } diff --git a/test/algorithm/ext_/find_s.cpp b/test/algorithm/ext_/find_s.cpp new file mode 100644 index 00000000..be5d332e --- /dev/null +++ b/test/algorithm/ext_/find_s.cpp @@ -0,0 +1,55 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2011 Eric Niebler + + 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 + +template +void +process_tree(Tree const &tree) +{ + using namespace boost; + + typedef typename fusion::result_of::find_s::type short_iter; + typedef typename fusion::result_of::find_s::type float_iter; + + // find_if_s of a segmented data structure returns generic + // segmented iterators + short_iter si = fusion::find_s(tree); + float_iter fi = fusion::find_s(tree); + + // they behave like ordinary Fusion iterators ... + BOOST_TEST((*si == short('d'))); + BOOST_TEST((*fi == float(1))); +} + +int +main() +{ + using namespace boost::fusion; + process_tree( + make_tree( + make_vector(double(0),'B') + , make_tree( + make_vector(1,2,long(3)) + , make_tree(make_vector('a','b','c')) + , make_tree(make_vector(short('d'),'e','f')) + ) + , make_tree( + make_vector(4,5,6) + , make_tree(make_vector(float(1),'h','i')) + , make_tree(make_vector('j','k','l')) + ) + ) + ); + + return boost::report_errors(); +} + diff --git a/test/algorithm/ext_/fold_s.cpp b/test/algorithm/ext_/fold_s.cpp new file mode 100644 index 00000000..f774c2a4 --- /dev/null +++ b/test/algorithm/ext_/fold_s.cpp @@ -0,0 +1,62 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2011 Eric Niebler + + 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 + +struct write_string +{ + typedef std::ostream* result_type; + + template + std::ostream* operator()(std::ostream* sout, T const& t) const + { + return &(*sout << t << " "); + } +}; + +template +void +process_tree(Tree const &tree) +{ + using namespace boost; + + std::stringstream str; + fusion::fold_s(tree, &str, write_string()); + std::string res = str.str(); + + BOOST_TEST_EQ(res, "a b c 1 2 3 100 e f 0 B 1 h i 4 5 6 j k l "); +} + +int +main() +{ + using namespace boost::fusion; + process_tree( + make_tree( + make_vector(double(0),'B') + , make_tree( + make_vector(1,2,long(3)) + , make_tree(make_vector('a','b','c')) + , make_tree(make_vector(short('d'),'e','f')) + ) + , make_tree( + make_vector(4,5,6) + , make_tree(make_vector(float(1),'h','i')) + , make_tree(make_vector('j','k','l')) + ) + ) + ); + + return boost::report_errors(); +} + diff --git a/test/algorithm/ext_/for_each_s.cpp b/test/algorithm/ext_/for_each_s.cpp old mode 100755 new mode 100644 index 63ffed2c..9467a101 --- a/test/algorithm/ext_/for_each_s.cpp +++ b/test/algorithm/ext_/for_each_s.cpp @@ -1,15 +1,13 @@ /*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman, Eric Niebler + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2011 Eric Niebler 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 @@ -22,44 +20,13 @@ struct print } }; -struct increment -{ - template - void operator()(T& v) const - { - ++v; - } -}; - int main() { using namespace boost::fusion; - using boost::mpl::vector_c; - namespace fusion = boost::fusion; { - typedef vector vector_type; - vector_type v(1, 'x', 3.3, "Ruby"); - for_each_s(v, print()); - std::cout << std::endl; - } - - { - typedef vector vector_type; - vector_type v(1, 'x', 3.3, "Ruby"); - for_each_s(v, increment()); - std::cout << v << std::endl; - } - - { - typedef vector_c mpl_vec; - fusion::for_each_s(mpl_vec(), print()); - std::cout << std::endl; - } - - { - fusion::for_each_s( + for_each_s( make_tree( make_vector(double(0),'B') , make_tree( diff --git a/test/sequence/ext_/iterator_range_s.cpp b/test/sequence/ext_/iterator_range_s.cpp old mode 100755 new mode 100644 index 02a49ad4..4aea3ae5 --- a/test/sequence/ext_/iterator_range_s.cpp +++ b/test/sequence/ext_/iterator_range_s.cpp @@ -1,5 +1,6 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2011 Eric Niebler 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) From 760c1a534c33c6d6c317f96b764cd29c07300b1f Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Thu, 11 Aug 2011 08:52:10 +0000 Subject: [PATCH 21/45] minor tweaks [SVN r73645] --- include/boost/fusion/algorithm/transformation/pop_back.hpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/include/boost/fusion/algorithm/transformation/pop_back.hpp b/include/boost/fusion/algorithm/transformation/pop_back.hpp index 65016535..e163b8c9 100644 --- a/include/boost/fusion/algorithm/transformation/pop_back.hpp +++ b/include/boost/fusion/algorithm/transformation/pop_back.hpp @@ -1,5 +1,5 @@ /*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2001-2011 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) @@ -31,7 +31,7 @@ namespace boost { namespace fusion template struct equal_to - : is_same< + : result_of::equal_to< typename result_of::next< typename I1::base_type>::type , typename I2::base_type From e8b0f98a55ef7978308895da988ccb81eb26ae20 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Thu, 11 Aug 2011 14:43:59 +0000 Subject: [PATCH 22/45] Refactored pop_back_iterator into a reusable iterator_adaptor [SVN r73654] --- .../algorithm/transformation/pop_back.hpp | 95 ++++---------- .../fusion/iterator/iterator_adapter.hpp | 117 ++++++++++++++++++ 2 files changed, 142 insertions(+), 70 deletions(-) create mode 100644 include/boost/fusion/iterator/iterator_adapter.hpp diff --git a/include/boost/fusion/algorithm/transformation/pop_back.hpp b/include/boost/fusion/algorithm/transformation/pop_back.hpp index e163b8c9..3d6eddd4 100644 --- a/include/boost/fusion/algorithm/transformation/pop_back.hpp +++ b/include/boost/fusion/algorithm/transformation/pop_back.hpp @@ -10,7 +10,7 @@ #include #include #include -#include +#include #include #include #include @@ -19,94 +19,49 @@ namespace boost { namespace fusion { template struct pop_back_iterator - : iterator_facade< + : iterator_adapter< pop_back_iterator - , typename Iterator_::category> + , Iterator_> { - typedef Iterator_ base_type; - base_type base; + typedef iterator_adapter< + pop_back_iterator + , Iterator_> + base_type; - pop_back_iterator(base_type const& base) - : base(base) {} + pop_back_iterator(Iterator_ const& iterator_base) + : base_type(iterator_base) {} + + template + struct make + { + typedef pop_back_iterator type; + + static type + call(BaseIterator const& i) + { + return type(i); + } + }; template struct equal_to : result_of::equal_to< typename result_of::next< - typename I1::base_type>::type - , typename I2::base_type + typename I1::iterator_base_type>::type + , typename I2::iterator_base_type > {}; - template - struct advance - : pop_back_iterator< - typename result_of::advance< - typename Iterator::base_type, N>::type - > - { - }; - template struct distance : mpl::minus< typename result_of::distance< - typename First::base_type - , typename Last::base_type + typename First::iterator_base_type + , typename Last::iterator_base_type >::type , mpl::int_<1> >::type {}; - - template - struct value_of - : result_of::value_of {}; - - template - struct deref - { - typedef typename - result_of::deref::type - type; - - static type - call(Iterator const& it) - { - return fusion::deref(it.base); - } - }; - - template - struct next - { - typedef pop_back_iterator< - typename result_of::next< - typename Iterator::base_type - >::type> - type; - - static type - call(Iterator const& i) - { - return fusion::next(i.base); - } - }; - - template - struct prior - { - typedef pop_back_iterator< - typename result_of::prior< - typename Iterator::base_type - >::type> - type; - - static type - call(Iterator const& i) - { - return fusion::prior(i.base); - } - }; }; namespace result_of diff --git a/include/boost/fusion/iterator/iterator_adapter.hpp b/include/boost/fusion/iterator/iterator_adapter.hpp new file mode 100644 index 00000000..9ba434cb --- /dev/null +++ b/include/boost/fusion/iterator/iterator_adapter.hpp @@ -0,0 +1,117 @@ +/*============================================================================= + Copyright (c) 2001-2011 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_ITERATOR_ADAPTER_08112011_0942) +#define FUSION_ITERATOR_ADAPTER_08112011_0942 + +#include +#include + +namespace boost { namespace fusion +{ + template + struct iterator_adapter + : iterator_facade< + Derived_ + , typename Iterator_::category> + { + typedef Iterator_ iterator_base_type; + iterator_base_type iterator_base; + + iterator_adapter(iterator_base_type const& iterator_base) + : iterator_base(iterator_base) {} + + // default implementation + template + struct equal_to + : result_of::equal_to< + typename I1::iterator_base_type + , typename I2::iterator_base_type + > + {}; + + // default implementation + template + struct advance + : Derived_::template make< + typename result_of::advance< + typename Iterator::iterator_base_type, N + >::type + > + { + }; + + // default implementation + template + struct distance + : result_of::distance< + typename First::iterator_base_type + , typename Last::iterator_base_type + > + {}; + + // default implementation + template + struct value_of + : result_of::value_of< + typename Iterator::iterator_base_type + > + {}; + + // default implementation + template + struct deref + { + typedef typename + result_of::deref< + typename Iterator::iterator_base_type + >::type + type; + + static type + call(Iterator const& it) + { + return fusion::deref(it.iterator_base); + } + }; + + // default implementation + template + struct next + { + typedef typename Derived_::template make< + typename result_of::next< + typename Iterator::iterator_base_type + >::type>::type + type; + + static type + call(Iterator const& i) + { + return type(fusion::next(i.iterator_base)); + } + }; + + // default implementation + template + struct prior + { + typedef typename Derived_::template make< + typename result_of::prior< + typename Iterator::iterator_base_type + >::type>::type + type; + + static type + call(Iterator const& i) + { + return type(fusion::prior(i.iterator_base)); + } + }; + }; +}} + +#endif From 1865ded3393b77916a2c0dacd784af01a3afc922 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Thu, 11 Aug 2011 14:45:10 +0000 Subject: [PATCH 23/45] Refactored pop_back_iterator into a reusable iterator_adaptor [SVN r73655] --- include/boost/fusion/include/iterator_adapter.hpp | 12 ++++++++++++ 1 file changed, 12 insertions(+) create mode 100644 include/boost/fusion/include/iterator_adapter.hpp diff --git a/include/boost/fusion/include/iterator_adapter.hpp b/include/boost/fusion/include/iterator_adapter.hpp new file mode 100644 index 00000000..4ecdf2b2 --- /dev/null +++ b/include/boost/fusion/include/iterator_adapter.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2011 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_ITERATOR_ADAPTER) +#define FUSION_INCLUDE_ITERATOR_ADAPTER + +#include + +#endif From 5ebfd961aa16fb9bd144fad09f80cde571e7ecf2 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Thu, 11 Aug 2011 14:46:22 +0000 Subject: [PATCH 24/45] Refactored pop_back_iterator into a reusable iterator_adaptor [SVN r73656] --- include/boost/fusion/iterator.hpp | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/include/boost/fusion/iterator.hpp b/include/boost/fusion/iterator.hpp index c7f8e1eb..9aeb6a39 100644 --- a/include/boost/fusion/iterator.hpp +++ b/include/boost/fusion/iterator.hpp @@ -1,13 +1,14 @@ /*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2001-2011 Joel de Guzman - 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_ITERATOR_10022005_0559) #define FUSION_ITERATOR_10022005_0559 #include +#include #include #include #include From 5bca571dd19e5afbc17b19a3bb44f42baf5488ed Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Thu, 11 Aug 2011 14:49:55 +0000 Subject: [PATCH 25/45] - Made pop_back not use prior.- Refactored pop_back_iterator into a reusable iterator_adaptor [SVN r73657] --- changelist.txt | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/changelist.txt b/changelist.txt index 1e862f43..a166afa0 100644 --- a/changelist.txt +++ b/changelist.txt @@ -17,4 +17,6 @@ Interface Changes - June 18, 2010: Added reverse_fold, iter_fold and reverse_iter_fold. Fixes Boost Trac Ticket #1623. - October 7, 2010: Added BOOST_FUSION_ADAPT_ADT, BOOST_FUSION_ADAPT_ASSOC_ADT, - BOOST_FUSION_ADAPT_TPL_ADT and BOOST_FUSION_ADAPT_ASSOC_TPL_ADT \ No newline at end of file + BOOST_FUSION_ADAPT_TPL_ADT and BOOST_FUSION_ADAPT_ASSOC_TPL_ADT +- August 11, 2011: Fixed pop_back to not use 'prior' for proper concept conformance +- August 11, 2011: Added iterator_adapter From 5497ea367eccd94b2998225b5ff2e7c084afb2b1 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Thu, 11 Aug 2011 15:34:39 +0000 Subject: [PATCH 26/45] QOI + small bug fixes [SVN r73658] --- include/boost/fusion/adapted/mpl.hpp | 1 + include/boost/fusion/algorithm/transformation/pop_back.hpp | 3 +++ 2 files changed, 4 insertions(+) diff --git a/include/boost/fusion/adapted/mpl.hpp b/include/boost/fusion/adapted/mpl.hpp index f8257846..6ae05c28 100644 --- a/include/boost/fusion/adapted/mpl.hpp +++ b/include/boost/fusion/adapted/mpl.hpp @@ -17,5 +17,6 @@ #include #include #include +#include #endif diff --git a/include/boost/fusion/algorithm/transformation/pop_back.hpp b/include/boost/fusion/algorithm/transformation/pop_back.hpp index 3d6eddd4..56d75028 100644 --- a/include/boost/fusion/algorithm/transformation/pop_back.hpp +++ b/include/boost/fusion/algorithm/transformation/pop_back.hpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include @@ -69,6 +70,8 @@ namespace boost { namespace fusion template struct pop_back { + BOOST_MPL_ASSERT_NOT((result_of::empty)); + typedef pop_back_iterator< typename begin::type> begin_type; From 3af35683ff8b3edff2e5164c0c2ec93a620e6c26 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Thu, 11 Aug 2011 15:34:58 +0000 Subject: [PATCH 27/45] QOI + small bug fixes [SVN r73659] --- test/algorithm/pop_back.cpp | 14 +++++++++++++- 1 file changed, 13 insertions(+), 1 deletion(-) diff --git a/test/algorithm/pop_back.cpp b/test/algorithm/pop_back.cpp index e2c16bc0..94fb4329 100644 --- a/test/algorithm/pop_back.cpp +++ b/test/algorithm/pop_back.cpp @@ -1,5 +1,5 @@ /*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2001-2011 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) @@ -49,6 +49,18 @@ main() BOOST_TEST((pop_back(l) == make_list(1))); } + { // make sure empty sequences are OK + list l(1); + std::cout << pop_back(l) << std::endl; + BOOST_TEST((pop_back(l) == make_list())); + } + + // $$$ JDG: TODO add compile fail facility $$$ + //~ { // compile fail check (Disabled for now) + //~ list<> l; + //~ std::cout << pop_back(l) << std::endl; + //~ } + return boost::report_errors(); } From b83a2954f5a1ed5b0886f4980395cd2a59a23681 Mon Sep 17 00:00:00 2001 From: Eric Niebler Date: Thu, 11 Aug 2011 17:28:17 +0000 Subject: [PATCH 28/45] segmented_fold_until should unpack the state's value before invoking the user's function [SVN r73668] --- include/boost/fusion/algorithm/iteration/ext_/fold_s.hpp | 4 ++-- include/boost/fusion/view/ext_/segmented_fold_until.hpp | 8 ++++++-- .../boost/fusion/view/ext_/segmented_iterator_range.hpp | 1 - 3 files changed, 8 insertions(+), 5 deletions(-) diff --git a/include/boost/fusion/algorithm/iteration/ext_/fold_s.hpp b/include/boost/fusion/algorithm/iteration/ext_/fold_s.hpp index 78d5d8e8..13908f97 100644 --- a/include/boost/fusion/algorithm/iteration/ext_/fold_s.hpp +++ b/include/boost/fusion/algorithm/iteration/ext_/fold_s.hpp @@ -23,7 +23,7 @@ namespace boost { namespace fusion { namespace detail { typedef fusion::result< - typename result_of::fold::type, + typename result_of::fold::type, continue_ > type; @@ -37,7 +37,7 @@ namespace boost { namespace fusion { namespace detail typename result::type operator()(Range& rng, State const& state, Context const&) const { - return fusion::fold(rng, state.value, fun); + return fusion::fold(rng, state, fun); } Fun const& fun; diff --git a/include/boost/fusion/view/ext_/segmented_fold_until.hpp b/include/boost/fusion/view/ext_/segmented_fold_until.hpp index 85392073..799da3cd 100644 --- a/include/boost/fusion/view/ext_/segmented_fold_until.hpp +++ b/include/boost/fusion/view/ext_/segmented_fold_until.hpp @@ -216,12 +216,16 @@ namespace boost { namespace fusion struct segmented_fold_until_impl { typedef - typename boost::result_of::type + typename boost::result_of::type>::type, + Context const& + )>::type type; static type call(Range& rng, State const& state, Context const& context, Fun const& fun) { - return fun(rng, state, context); + return fun(rng, state.value, context); } }; diff --git a/include/boost/fusion/view/ext_/segmented_iterator_range.hpp b/include/boost/fusion/view/ext_/segmented_iterator_range.hpp index 209faee5..57de282d 100644 --- a/include/boost/fusion/view/ext_/segmented_iterator_range.hpp +++ b/include/boost/fusion/view/ext_/segmented_iterator_range.hpp @@ -539,7 +539,6 @@ namespace boost { namespace fusion { namespace extension }; }; - // TODO: remove invocation of distance in iterator_range. // TODO: default implementation of begin, end, and size // should check if the sequence is segmented and to // the right thing. From 5d07df005b3523452eb027f75e56f7ac7268dc76 Mon Sep 17 00:00:00 2001 From: Eric Niebler Date: Thu, 11 Aug 2011 17:49:02 +0000 Subject: [PATCH 29/45] fix find_s and find_if_s to return the end iterator when item not found [SVN r73669] --- .../fusion/algorithm/query/ext_/find_if_s.hpp | 41 +++++++++++++++--- .../fusion/algorithm/query/ext_/find_s.hpp | 42 ++++++++++++++++--- test/algorithm/ext_/find_if_s.cpp | 7 ++++ test/algorithm/ext_/find_s.cpp | 7 ++++ 4 files changed, 87 insertions(+), 10 deletions(-) diff --git a/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp b/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp index 85c1fd86..70a484cc 100644 --- a/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp +++ b/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp @@ -9,6 +9,7 @@ #include #include +#include #include namespace boost { namespace fusion { namespace detail @@ -39,7 +40,7 @@ namespace boost { namespace fusion { namespace detail iterator_type, typename result_of::end::type >, - fusion::result, // NOT FOUND + fusion::result::type, continue_>, // NOT FOUND fusion::result // FOUND >::type type; @@ -47,7 +48,29 @@ namespace boost { namespace fusion { namespace detail template typename result::type - operator()(Range& rng, State const&, Context const& context) const + operator()(Range& rng, State const& state, Context const& context) const + { + typedef + typename result_of::equal_to< + typename result_of::find_if::type, + typename result_of::end::type + >::type + not_found; + + return call(rng, state, context, not_found()); + } + + private: + template + typename result::type + call(Range&, State const& state, Context const&, mpl::true_) const + { + return state; + } + + template + typename result::type + call(Range& rng, State const&, Context const& context, mpl::false_) const { return fusion::make_segmented_iterator(fusion::find_if(rng), context); } @@ -61,7 +84,10 @@ namespace boost { namespace fusion { template struct find_if_s - : result_of::segmented_fold_until > + : result_of::segmented_fold_until< + Sequence, + typename result_of::end::type, + detail::segmented_find_if_fun > {}; } @@ -69,14 +95,19 @@ namespace boost { namespace fusion typename result_of::find_if_s::type find_if_s(Sequence& seq) { - return fusion::segmented_fold_until(seq, void_(), detail::segmented_find_if_fun()); + return fusion::segmented_fold_until( + seq, + fusion::end(seq), + detail::segmented_find_if_fun()); } template typename result_of::find_if_s::type find_if_s(Sequence const& seq) { - return fusion::segmented_fold_until(seq, void_(), detail::segmented_find_if_fun()); + return fusion::segmented_fold_until( + seq, fusion::end(seq), + detail::segmented_find_if_fun()); } }} diff --git a/include/boost/fusion/algorithm/query/ext_/find_s.hpp b/include/boost/fusion/algorithm/query/ext_/find_s.hpp index 8ccf202d..f95a230a 100644 --- a/include/boost/fusion/algorithm/query/ext_/find_s.hpp +++ b/include/boost/fusion/algorithm/query/ext_/find_s.hpp @@ -9,6 +9,7 @@ #include #include +#include #include namespace boost { namespace fusion { namespace detail @@ -39,7 +40,7 @@ namespace boost { namespace fusion { namespace detail iterator_type, typename result_of::end::type >, - fusion::result, // NOT FOUND + fusion::result::type, continue_>, // NOT FOUND fusion::result // FOUND >::type type; @@ -47,7 +48,29 @@ namespace boost { namespace fusion { namespace detail template typename result::type - operator()(Range& rng, State const&, Context const& context) const + operator()(Range& rng, State const&state, Context const& context) const + { + typedef + typename result_of::equal_to< + typename result_of::find::type, + typename result_of::end::type + >::type + not_found; + + return call(rng, state, context, not_found()); + } + + private: + template + typename result::type + call(Range&, State const&state, Context const&, mpl::true_) const + { + return state; + } + + template + typename result::type + call(Range& rng, State const&, Context const& context, mpl::false_) const { return fusion::make_segmented_iterator(fusion::find(rng), context); } @@ -61,7 +84,10 @@ namespace boost { namespace fusion { template struct find_s - : result_of::segmented_fold_until > + : result_of::segmented_fold_until< + Sequence, + typename result_of::end::type, + detail::segmented_find_fun > {}; } @@ -69,14 +95,20 @@ namespace boost { namespace fusion typename result_of::find_s::type find_s(Sequence& seq) { - return fusion::segmented_fold_until(seq, void_(), detail::segmented_find_fun()); + return fusion::segmented_fold_until( + seq, + fusion::end(seq), + detail::segmented_find_fun()); } template typename result_of::find_s::type find_s(Sequence const& seq) { - return fusion::segmented_fold_until(seq, void_(), detail::segmented_find_fun()); + return fusion::segmented_fold_until( + seq, + fusion::end(seq), + detail::segmented_find_fun()); } }} diff --git a/test/algorithm/ext_/find_if_s.cpp b/test/algorithm/ext_/find_if_s.cpp index 805fd599..d25dc0e6 100644 --- a/test/algorithm/ext_/find_if_s.cpp +++ b/test/algorithm/ext_/find_if_s.cpp @@ -13,6 +13,8 @@ #include #include +struct not_there {}; + template void process_tree(Tree const &tree) @@ -22,6 +24,7 @@ process_tree(Tree const &tree) typedef typename fusion::result_of::find_if_s >::type short_iter; typedef typename fusion::result_of::find_if_s >::type float_iter; + typedef typename fusion::result_of::find_if_s >::type not_there_iter; // find_if_s of a segmented data structure returns generic // segmented iterators @@ -31,6 +34,10 @@ process_tree(Tree const &tree) // they behave like ordinary Fusion iterators ... BOOST_TEST((*si == short('d'))); BOOST_TEST((*fi == float(1))); + + // Searching for something that's not there should return the end iterator. + not_there_iter nti = fusion::find_if_s >(tree); + BOOST_TEST((nti == fusion::end(tree))); } int diff --git a/test/algorithm/ext_/find_s.cpp b/test/algorithm/ext_/find_s.cpp index be5d332e..6c7428b8 100644 --- a/test/algorithm/ext_/find_s.cpp +++ b/test/algorithm/ext_/find_s.cpp @@ -11,6 +11,8 @@ #include #include +struct not_there {}; + template void process_tree(Tree const &tree) @@ -19,6 +21,7 @@ process_tree(Tree const &tree) typedef typename fusion::result_of::find_s::type short_iter; typedef typename fusion::result_of::find_s::type float_iter; + typedef typename fusion::result_of::find_s::type not_there_iter; // find_if_s of a segmented data structure returns generic // segmented iterators @@ -28,6 +31,10 @@ process_tree(Tree const &tree) // they behave like ordinary Fusion iterators ... BOOST_TEST((*si == short('d'))); BOOST_TEST((*fi == float(1))); + + // Searching for something that's not there should return the end iterator. + not_there_iter nti = fusion::find_s(tree); + BOOST_TEST((nti == fusion::end(tree))); } int From f0fa80ca1a2df9fa8f5cdd6ece015cb41521ef18 Mon Sep 17 00:00:00 2001 From: Eric Niebler Date: Thu, 11 Aug 2011 23:58:03 +0000 Subject: [PATCH 30/45] const-correctness tweaks [SVN r73683] --- .../fusion/view/ext_/detail/next_impl.hpp | 5 +- .../fusion/view/ext_/segmented_fold_until.hpp | 7 ++- .../view/ext_/segmented_iterator_range.hpp | 48 ++++++++++++------- 3 files changed, 41 insertions(+), 19 deletions(-) diff --git a/include/boost/fusion/view/ext_/detail/next_impl.hpp b/include/boost/fusion/view/ext_/detail/next_impl.hpp index 2e25d4e7..7341a319 100644 --- a/include/boost/fusion/view/ext_/detail/next_impl.hpp +++ b/include/boost/fusion/view/ext_/detail/next_impl.hpp @@ -7,6 +7,7 @@ #if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_NEXT_IMPL_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_ITERATOR_NEXT_IMPL_HPP_INCLUDED +#include #include #include #include @@ -111,7 +112,9 @@ namespace boost { namespace fusion typename Range = typename remove_reference< typename add_const< - typename result_of::deref::type + typename result_of::deref< + typename Stack::car_type::begin_type + >::type >::type >::type, typename Result = diff --git a/include/boost/fusion/view/ext_/segmented_fold_until.hpp b/include/boost/fusion/view/ext_/segmented_fold_until.hpp index 799da3cd..990c0042 100644 --- a/include/boost/fusion/view/ext_/segmented_fold_until.hpp +++ b/include/boost/fusion/view/ext_/segmented_fold_until.hpp @@ -11,6 +11,7 @@ #include #include #include +#include #include #include @@ -48,8 +49,10 @@ namespace boost { namespace fusion Cur, typename result_of::end< typename remove_reference< - typename result_of::deref< - typename Context::car_type::begin_type + typename add_const< + typename result_of::deref< + typename Context::car_type::begin_type + >::type >::type >::type >::type diff --git a/include/boost/fusion/view/ext_/segmented_iterator_range.hpp b/include/boost/fusion/view/ext_/segmented_iterator_range.hpp index 57de282d..4d80f67a 100644 --- a/include/boost/fusion/view/ext_/segmented_iterator_range.hpp +++ b/include/boost/fusion/view/ext_/segmented_iterator_range.hpp @@ -72,8 +72,10 @@ namespace boost { namespace fusion { namespace detail typename add_const< typename result_of::segments< typename remove_reference< - typename result_of::deref< - typename Stack::car_type::begin_type + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type >::type >::type >::type @@ -93,8 +95,10 @@ namespace boost { namespace fusion { namespace detail typename add_const< typename result_of::segments< typename remove_reference< - typename result_of::deref< - typename Stack::car_type::begin_type + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type >::type >::type >::type @@ -138,8 +142,10 @@ namespace boost { namespace fusion { namespace detail result_of::equal_to< typename result_of::end< typename remove_reference< - typename result_of::deref< - typename Stack::car_type::begin_type + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type >::type >::type >::type, @@ -151,8 +157,10 @@ namespace boost { namespace fusion { namespace detail typename Stack::cdr_type::car_type::begin_type, typename result_of::end< typename remove_reference< - typename result_of::deref< - typename Stack::car_type::begin_type + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type >::type >::type >::type @@ -208,8 +216,10 @@ namespace boost { namespace fusion { namespace detail typename add_const< typename result_of::segments< typename remove_reference< - typename result_of::deref< - typename Stack::car_type::begin_type + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type >::type >::type >::type @@ -226,8 +236,10 @@ namespace boost { namespace fusion { namespace detail typename add_const< typename result_of::segments< typename remove_reference< - typename result_of::deref< - typename Stack::car_type::begin_type + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type >::type >::type >::type @@ -272,8 +284,10 @@ namespace boost { namespace fusion { namespace detail result_of::equal_to< typename result_of::end< typename remove_reference< - typename result_of::deref< - typename Stack::car_type::begin_type + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type >::type >::type >::type, @@ -284,8 +298,10 @@ namespace boost { namespace fusion { namespace detail iterator_range< typename result_of::begin< typename remove_reference< - typename result_of::deref< - typename Stack::car_type::begin_type + typename add_const< + typename result_of::deref< + typename Stack::car_type::begin_type + >::type >::type >::type >::type, From 48a0546eea26b64e53cb1f5f2a75987e7a1b124a Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Fri, 12 Aug 2011 05:11:41 +0000 Subject: [PATCH 31/45] added static sanity check [SVN r73684] --- .../boost/fusion/view/single_view/detail/next_impl.hpp | 8 +++++--- 1 file changed, 5 insertions(+), 3 deletions(-) diff --git a/include/boost/fusion/view/single_view/detail/next_impl.hpp b/include/boost/fusion/view/single_view/detail/next_impl.hpp index e4b33810..95132100 100644 --- a/include/boost/fusion/view/single_view/detail/next_impl.hpp +++ b/include/boost/fusion/view/single_view/detail/next_impl.hpp @@ -2,13 +2,14 @@ Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2011 Eric Niebler - 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(BOOST_FUSION_SINGLE_VIEW_NEXT_IMPL_05052005_0331) #define BOOST_FUSION_SINGLE_VIEW_NEXT_IMPL_05052005_0331 #include +#include namespace boost { namespace fusion { @@ -26,16 +27,17 @@ namespace boost { namespace fusion struct next_impl { template - struct apply + struct apply { typedef single_view_iterator< typename Iterator::single_view_type, typename mpl::next::type> type; - + static type call(Iterator const& i) { + BOOST_STATIC_ASSERT((type::position::value < 2)); return type(i.view); } }; From 744dbcbbc71a624caf0b49d8fab909958c4bba02 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Fri, 12 Aug 2011 05:13:03 +0000 Subject: [PATCH 32/45] added case for equal_to that returns false immediately if the tags are different in the first place [SVN r73685] --- include/boost/fusion/iterator/equal_to.hpp | 20 ++++++++++++++----- .../fusion/iterator/iterator_adapter.hpp | 19 +++++++++++++----- 2 files changed, 29 insertions(+), 10 deletions(-) diff --git a/include/boost/fusion/iterator/equal_to.hpp b/include/boost/fusion/iterator/equal_to.hpp index a0387417..26bb8d43 100644 --- a/include/boost/fusion/iterator/equal_to.hpp +++ b/include/boost/fusion/iterator/equal_to.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - 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_EQUAL_TO_05052005_1208) @@ -37,8 +37,18 @@ namespace boost { namespace fusion template <> struct equal_to_impl { - template - struct apply : I1::template equal_to {}; + template + struct dispatch : mpl::false_ {}; + + template + struct dispatch // same tag + : It1::template equal_to + {}; + + template + struct apply : dispatch + {}; }; template <> @@ -63,7 +73,7 @@ namespace boost { namespace fusion namespace iterator_operators { template - inline typename + inline typename enable_if< mpl::and_, is_fusion_iterator > , bool @@ -74,7 +84,7 @@ namespace boost { namespace fusion } template - inline typename + inline typename enable_if< mpl::and_, is_fusion_iterator > , bool diff --git a/include/boost/fusion/iterator/iterator_adapter.hpp b/include/boost/fusion/iterator/iterator_adapter.hpp index 9ba434cb..dea6ddb9 100644 --- a/include/boost/fusion/iterator/iterator_adapter.hpp +++ b/include/boost/fusion/iterator/iterator_adapter.hpp @@ -9,6 +9,7 @@ #include #include +#include namespace boost { namespace fusion { @@ -18,7 +19,9 @@ namespace boost { namespace fusion Derived_ , typename Iterator_::category> { - typedef Iterator_ iterator_base_type; + typedef typename + remove_const::type + iterator_base_type; iterator_base_type iterator_base; iterator_adapter(iterator_base_type const& iterator_base) @@ -36,12 +39,18 @@ namespace boost { namespace fusion // default implementation template struct advance - : Derived_::template make< + { + typedef typename Derived_::template make< typename result_of::advance< typename Iterator::iterator_base_type, N - >::type - > - { + >::type>::type + type; + + static type + call(Iterator const& it) + { + return type(fusion::advance(it.iterator_base)); + } }; // default implementation From 734b9222d26d5317f6884f7d2626c01c6b45cbfe Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Fri, 12 Aug 2011 05:14:06 +0000 Subject: [PATCH 33/45] revert the implementation to previous version, but changed it such that prior is not used. used advance instead which is ok for forward iterators. [SVN r73686] --- .../algorithm/transformation/pop_back.hpp | 80 +++---------------- 1 file changed, 12 insertions(+), 68 deletions(-) diff --git a/include/boost/fusion/algorithm/transformation/pop_back.hpp b/include/boost/fusion/algorithm/transformation/pop_back.hpp index 56d75028..08bc4c8d 100644 --- a/include/boost/fusion/algorithm/transformation/pop_back.hpp +++ b/include/boost/fusion/algorithm/transformation/pop_back.hpp @@ -10,75 +10,22 @@ #include #include #include +#include #include -#include -#include -#include -#include +#include namespace boost { namespace fusion { - template - struct pop_back_iterator - : iterator_adapter< - pop_back_iterator - , Iterator_> - { - typedef iterator_adapter< - pop_back_iterator - , Iterator_> - base_type; - - pop_back_iterator(Iterator_ const& iterator_base) - : base_type(iterator_base) {} - - template - struct make - { - typedef pop_back_iterator type; - - static type - call(BaseIterator const& i) - { - return type(i); - } - }; - - template - struct equal_to - : result_of::equal_to< - typename result_of::next< - typename I1::iterator_base_type>::type - , typename I2::iterator_base_type - > - {}; - - template - struct distance - : mpl::minus< - typename result_of::distance< - typename First::iterator_base_type - , typename Last::iterator_base_type - >::type - , mpl::int_<1> - >::type - {}; - }; - namespace result_of { template struct pop_back { - BOOST_MPL_ASSERT_NOT((result_of::empty)); - - typedef pop_back_iterator< - typename begin::type> - begin_type; - - typedef pop_back_iterator< - typename end::type> - end_type; + static int const size = size::value; + BOOST_STATIC_ASSERT(size > 0); + typedef typename begin::type begin_type; + typedef mpl::int_ end_index; + typedef typename advance::type end_type; typedef iterator_range @@ -90,15 +37,12 @@ namespace boost { namespace fusion inline typename result_of::pop_back::type pop_back(Sequence const& seq) { - typedef result_of::pop_back comp; - typedef typename comp::begin_type begin_type; - typedef typename comp::end_type end_type; - typedef typename comp::type result; + typedef typename + result_of::pop_back::end_index + end_index; - return result( - begin_type(fusion::begin(seq)) - , end_type(fusion::end(seq)) - ); + typedef typename result_of::pop_back::type result; + return result(fusion::begin(seq), fusion::advance(fusion::begin(seq))); } }} From acc306d783eed0e7af8d10ad0f650fd9b03e3044 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Fri, 12 Aug 2011 05:15:08 +0000 Subject: [PATCH 34/45] Added Eric's test cases for pop_back [SVN r73687] --- test/algorithm/pop_back.cpp | 30 ++++++++++++++++++++++++++++++ 1 file changed, 30 insertions(+) diff --git a/test/algorithm/pop_back.cpp b/test/algorithm/pop_back.cpp index 94fb4329..9e9c767f 100644 --- a/test/algorithm/pop_back.cpp +++ b/test/algorithm/pop_back.cpp @@ -13,6 +13,8 @@ #include #include #include +#include +#include #include int @@ -55,12 +57,40 @@ main() BOOST_TEST((pop_back(l) == make_list())); } + { + single_view sv(1); + std::cout << pop_back(sv) << std::endl; + + // Compile check only + begin(pop_back(sv)) == end(sv); + end(pop_back(sv)) == begin(sv); + } + // $$$ JDG: TODO add compile fail facility $$$ //~ { // compile fail check (Disabled for now) //~ list<> l; //~ std::cout << pop_back(l) << std::endl; //~ } +#ifndef BOOST_NO_DECLTYPE + { + auto vec = make_vector(1, 3.14, "hello"); + + // Compile check only + auto popv = pop_back(vec); + std::cout << popv << std::endl; + + auto push = push_back(vec, 42); + auto pop = pop_back(vec); + auto i1 = find(popv); + auto i2 = find(pop); + + assert(i1 != end(pop)); + assert(i2 != end(pop)); + assert(i1 != i2); + } +#endif + return boost::report_errors(); } From faa5746f6d837aaeabdcb0f0d5f511c1af4ea93e Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Fri, 12 Aug 2011 05:18:44 +0000 Subject: [PATCH 35/45] added main empty_impl template forward decl [SVN r73689] --- include/boost/fusion/adapted/mpl/detail/empty_impl.hpp | 7 +++++-- 1 file changed, 5 insertions(+), 2 deletions(-) diff --git a/include/boost/fusion/adapted/mpl/detail/empty_impl.hpp b/include/boost/fusion/adapted/mpl/detail/empty_impl.hpp index 14e8dfa2..7c62c94b 100644 --- a/include/boost/fusion/adapted/mpl/detail/empty_impl.hpp +++ b/include/boost/fusion/adapted/mpl/detail/empty_impl.hpp @@ -2,7 +2,7 @@ Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden - 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(BOOST_FUSION_EMPTY_IMPL_31122005_1554) @@ -10,12 +10,15 @@ #include -namespace boost { namespace fusion +namespace boost { namespace fusion { struct mpl_sequence_tag; namespace extension { + template + struct empty_impl; + template <> struct empty_impl { From 8b80a1187764c07138e3feba524f8aa3658bd443 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Fri, 12 Aug 2011 07:24:00 +0000 Subject: [PATCH 36/45] revert to prior (again). [SVN r73692] --- .../algorithm/transformation/pop_back.hpp | 29 +++++++------------ 1 file changed, 11 insertions(+), 18 deletions(-) diff --git a/include/boost/fusion/algorithm/transformation/pop_back.hpp b/include/boost/fusion/algorithm/transformation/pop_back.hpp index 08bc4c8d..6eb743fd 100644 --- a/include/boost/fusion/algorithm/transformation/pop_back.hpp +++ b/include/boost/fusion/algorithm/transformation/pop_back.hpp @@ -1,7 +1,7 @@ /*============================================================================= - Copyright (c) 2001-2011 Joel de Guzman + Copyright (c) 2001-2006 Joel de Guzman - 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_POP_BACK_09172005_1038) @@ -10,9 +10,7 @@ #include #include #include -#include -#include -#include +#include namespace boost { namespace fusion { @@ -21,14 +19,13 @@ namespace boost { namespace fusion template struct pop_back { - static int const size = size::value; - BOOST_STATIC_ASSERT(size > 0); - typedef typename begin::type begin_type; - typedef mpl::int_ end_index; - typedef typename advance::type end_type; - - typedef - iterator_range + typedef + iterator_range< + typename begin::type + , typename prior< + typename end::type + >::type + > type; }; } @@ -37,12 +34,8 @@ namespace boost { namespace fusion inline typename result_of::pop_back::type pop_back(Sequence const& seq) { - typedef typename - result_of::pop_back::end_index - end_index; - typedef typename result_of::pop_back::type result; - return result(fusion::begin(seq), fusion::advance(fusion::begin(seq))); + return result(fusion::begin(seq), fusion::prior(fusion::end(seq))); } }} From c1dd1fa279f6ebd7b7fbe033409e2d009ccc9792 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Fri, 12 Aug 2011 11:43:24 +0000 Subject: [PATCH 37/45] Back on track. The code is fine again. [SVN r73695] --- .../algorithm/transformation/pop_back.hpp | 96 ++++++++++++++++--- 1 file changed, 84 insertions(+), 12 deletions(-) diff --git a/include/boost/fusion/algorithm/transformation/pop_back.hpp b/include/boost/fusion/algorithm/transformation/pop_back.hpp index 6eb743fd..4da08710 100644 --- a/include/boost/fusion/algorithm/transformation/pop_back.hpp +++ b/include/boost/fusion/algorithm/transformation/pop_back.hpp @@ -1,7 +1,7 @@ /*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2001-2011 Joel de Guzman - 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_POP_BACK_09172005_1038) @@ -10,22 +10,87 @@ #include #include #include -#include +#include +#include +#include +#include +#include +#include namespace boost { namespace fusion { + template + struct pop_back_iterator + : iterator_adapter< + pop_back_iterator + , Iterator_> + { + typedef iterator_adapter< + pop_back_iterator + , Iterator_> + base_type; + + static bool const is_last = IsLast; + + pop_back_iterator(Iterator_ const& iterator_base) + : base_type(iterator_base) {} + + template + pop_back_iterator(pop_back_iterator const& rhs) + : base_type(rhs.iterator_base) {} + + template + struct make + { + typedef pop_back_iterator type; + + static type + call(BaseIterator const& i) + { + return type(i); + } + }; + + template + struct equal_to + : result_of::equal_to< + typename mpl::if_c<(I1::is_last|I2::is_last) + , typename result_of::next< + typename I1::iterator_base_type>::type + , typename I1::iterator_base_type>::type + , typename I2::iterator_base_type + > + {}; + + template + struct distance + : mpl::minus< + typename result_of::distance< + typename First::iterator_base_type + , typename Last::iterator_base_type + >::type + , mpl::int_<(Last::is_last?1:0)> + >::type + {}; + }; + namespace result_of { template struct pop_back { - typedef - iterator_range< - typename begin::type - , typename prior< - typename end::type - >::type - > + BOOST_MPL_ASSERT_NOT((result_of::empty)); + + typedef pop_back_iterator< + typename begin::type, false> + begin_type; + + typedef pop_back_iterator< + typename end::type, true> + end_type; + + typedef + iterator_range type; }; } @@ -34,8 +99,15 @@ namespace boost { namespace fusion inline typename result_of::pop_back::type pop_back(Sequence const& seq) { - typedef typename result_of::pop_back::type result; - return result(fusion::begin(seq), fusion::prior(fusion::end(seq))); + typedef result_of::pop_back comp; + typedef typename comp::begin_type begin_type; + typedef typename comp::end_type end_type; + typedef typename comp::type result; + + return result( + begin_type(fusion::begin(seq)) + , end_type(fusion::end(seq)) + ); } }} From b3649b93433f89daf9dd3de1bac1811cdf879958 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Fri, 12 Aug 2011 11:45:11 +0000 Subject: [PATCH 38/45] Back on track. The code is fine again. [SVN r73696] --- test/algorithm/pop_back.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/test/algorithm/pop_back.cpp b/test/algorithm/pop_back.cpp index 9e9c767f..253589b3 100644 --- a/test/algorithm/pop_back.cpp +++ b/test/algorithm/pop_back.cpp @@ -72,7 +72,7 @@ main() //~ std::cout << pop_back(l) << std::endl; //~ } -#ifndef BOOST_NO_DECLTYPE +#ifndef BOOST_NO_AUTO_DECLARATIONS { auto vec = make_vector(1, 3.14, "hello"); From adbdf8550c2555b4ef8454835ce79c00da6c038d Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Fri, 12 Aug 2011 11:51:57 +0000 Subject: [PATCH 39/45] Back on track. The code is fine again. [SVN r73697] --- include/boost/fusion/algorithm/transformation/pop_back.hpp | 4 ---- 1 file changed, 4 deletions(-) diff --git a/include/boost/fusion/algorithm/transformation/pop_back.hpp b/include/boost/fusion/algorithm/transformation/pop_back.hpp index 4da08710..a461f3f5 100644 --- a/include/boost/fusion/algorithm/transformation/pop_back.hpp +++ b/include/boost/fusion/algorithm/transformation/pop_back.hpp @@ -35,10 +35,6 @@ namespace boost { namespace fusion pop_back_iterator(Iterator_ const& iterator_base) : base_type(iterator_base) {} - template - pop_back_iterator(pop_back_iterator const& rhs) - : base_type(rhs.iterator_base) {} - template struct make { From 1c8d339bb079522a748cc18f0f85ede3e219ee21 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Fri, 12 Aug 2011 12:07:36 +0000 Subject: [PATCH 40/45] Better is_equal test [SVN r73698] --- .../algorithm/transformation/pop_back.hpp | 18 +++++++++++++----- 1 file changed, 13 insertions(+), 5 deletions(-) diff --git a/include/boost/fusion/algorithm/transformation/pop_back.hpp b/include/boost/fusion/algorithm/transformation/pop_back.hpp index a461f3f5..2244376d 100644 --- a/include/boost/fusion/algorithm/transformation/pop_back.hpp +++ b/include/boost/fusion/algorithm/transformation/pop_back.hpp @@ -47,14 +47,22 @@ namespace boost { namespace fusion } }; + template + struct equal_to_helper + : mpl::identity + {}; + + template + struct equal_to_helper + : result_of::next< + typename I::iterator_base_type> + {}; + template struct equal_to : result_of::equal_to< - typename mpl::if_c<(I1::is_last|I2::is_last) - , typename result_of::next< - typename I1::iterator_base_type>::type - , typename I1::iterator_base_type>::type - , typename I2::iterator_base_type + typename equal_to_helper::type + , typename equal_to_helper::type > {}; From a339669d054f37a9a28ec9e009c0eac568f3da50 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Fri, 12 Aug 2011 12:16:23 +0000 Subject: [PATCH 41/45] Better is_equal test [SVN r73699] --- include/boost/fusion/algorithm/transformation/pop_back.hpp | 6 ++++-- 1 file changed, 4 insertions(+), 2 deletions(-) diff --git a/include/boost/fusion/algorithm/transformation/pop_back.hpp b/include/boost/fusion/algorithm/transformation/pop_back.hpp index 2244376d..37f64326 100644 --- a/include/boost/fusion/algorithm/transformation/pop_back.hpp +++ b/include/boost/fusion/algorithm/transformation/pop_back.hpp @@ -61,8 +61,10 @@ namespace boost { namespace fusion template struct equal_to : result_of::equal_to< - typename equal_to_helper::type - , typename equal_to_helper::type + typename equal_to_helper::type + , typename equal_to_helper::type > {}; From 9ed1f3d606c031ddd49449186296b9d9a673eade Mon Sep 17 00:00:00 2001 From: Eric Niebler Date: Mon, 15 Aug 2011 06:20:24 +0000 Subject: [PATCH 42/45] use iterator_facade to simplify implementation of segmented_iterator [SVN r73770] --- .../fusion/sequence/intrinsic/ext_/size_s.hpp | 5 +- .../fusion/view/ext_/detail/deref_impl.hpp | 47 ------------ .../fusion/view/ext_/detail/equal_to_impl.hpp | 51 ------------- .../fusion/view/ext_/detail/next_impl.hpp | 25 ------- .../fusion/view/ext_/segmented_iterator.hpp | 71 ++++++++++++++++--- .../view/ext_/segmented_iterator_range.hpp | 45 ++++++++---- 6 files changed, 97 insertions(+), 147 deletions(-) delete mode 100644 include/boost/fusion/view/ext_/detail/deref_impl.hpp delete mode 100644 include/boost/fusion/view/ext_/detail/equal_to_impl.hpp diff --git a/include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp b/include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp index d152efe0..1a1d9c5f 100644 --- a/include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp +++ b/include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp @@ -13,7 +13,10 @@ #include #include #include -#include +#include +#include +#include +#include #include #include #include diff --git a/include/boost/fusion/view/ext_/detail/deref_impl.hpp b/include/boost/fusion/view/ext_/detail/deref_impl.hpp deleted file mode 100644 index 084aa521..00000000 --- a/include/boost/fusion/view/ext_/detail/deref_impl.hpp +++ /dev/null @@ -1,47 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - 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_SEGMENTED_ITERATOR_DEREF_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_ITERATOR_DEREF_HPP_INCLUDED - -#include - -namespace boost { namespace fusion -{ - struct segmented_iterator_tag; - - namespace extension - { - template - struct deref_impl; - - //auto deref(it) - //{ - // return deref(begin(car(it.nodes))) - //} - template<> - struct deref_impl - { - template - struct apply - { - typedef - typename result_of::deref< - typename It::nodes_type::car_type::begin_type - >::type - type; - - static type call(It const& it) - { - return *it.nodes.car.first; - } - }; - }; - - } -}} - -#endif diff --git a/include/boost/fusion/view/ext_/detail/equal_to_impl.hpp b/include/boost/fusion/view/ext_/detail/equal_to_impl.hpp deleted file mode 100644 index 3b5bd7d5..00000000 --- a/include/boost/fusion/view/ext_/detail/equal_to_impl.hpp +++ /dev/null @@ -1,51 +0,0 @@ -/*============================================================================= - Copyright (c) 2011 Eric Niebler - - 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_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_ITERATOR_EQUAL_TO_HPP_INCLUDED - -#include -#include -#include -#include -#include -#include -#include - -namespace boost { namespace fusion -{ - struct segmented_iterator_tag; - - namespace extension - { - template - struct equal_to_impl; - - template<> - struct equal_to_impl - { - // Compare all the segment iterators in each stack, starting with - // the bottom-most. - template - struct apply - : mpl::equal< - typename mpl::reverse_transform< - typename result_of::as_vector::type, - result_of::begin - >::type, - typename mpl::reverse_transform< - typename result_of::as_vector::type, - result_of::begin - >::type, - result_of::equal_to - > - {}; - }; - - } -}} - -#endif diff --git a/include/boost/fusion/view/ext_/detail/next_impl.hpp b/include/boost/fusion/view/ext_/detail/next_impl.hpp index 7341a319..d3817c59 100644 --- a/include/boost/fusion/view/ext_/detail/next_impl.hpp +++ b/include/boost/fusion/view/ext_/detail/next_impl.hpp @@ -17,8 +17,6 @@ namespace boost { namespace fusion { - struct segmented_iterator_tag; - template struct segmented_iterator; @@ -227,29 +225,6 @@ namespace boost { namespace fusion } }; } - - namespace extension - { - template - struct next_impl; - - template<> - struct next_impl - { - template - struct apply - { - typedef detail::segmented_next_impl impl; - typedef segmented_iterator type; - - static type call(It const& it) - { - return type(impl::call(it.nodes)); - } - }; - }; - - } }} #endif diff --git a/include/boost/fusion/view/ext_/segmented_iterator.hpp b/include/boost/fusion/view/ext_/segmented_iterator.hpp index cd454e27..4c259632 100644 --- a/include/boost/fusion/view/ext_/segmented_iterator.hpp +++ b/include/boost/fusion/view/ext_/segmented_iterator.hpp @@ -7,32 +7,83 @@ #if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_ITERATOR_HPP_INCLUDED -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include #include -#include -#include +#include +#include +#include #include #include +#include namespace boost { namespace fusion { - struct segmented_iterator_tag {}; - // A segmented iterator is a stack of segment nodes. // Note: push_front/pop_front create views. That should // be good enough. template struct segmented_iterator - : fusion::iterator_base > + : iterator_facade, forward_traversal_tag> { - typedef forward_traversal_tag category; - typedef segmented_iterator_tag fusion_tag; - explicit segmented_iterator(Nodes const &ns) : nodes(ns) {} + //auto deref(it) + //{ + // return deref(begin(car(it.nodes))) + //} + template + struct deref + { + typedef + typename result_of::deref< + typename It::nodes_type::car_type::begin_type + >::type + type; + + static type call(It const& it) + { + return *it.nodes.car.first; + } + }; + + // Compare all the segment iterators in each stack, starting with + // the bottom-most. + template + struct equal_to + : mpl::equal< + typename mpl::reverse_transform< + typename result_of::as_vector::type, + result_of::begin + >::type, + typename mpl::reverse_transform< + typename result_of::as_vector::type, + result_of::begin + >::type, + result_of::equal_to + > + {}; + + template + struct next + { + typedef detail::segmented_next_impl impl; + typedef segmented_iterator type; + + static type call(It const& it) + { + return type(impl::call(it.nodes)); + } + }; + typedef Nodes nodes_type; nodes_type nodes; }; diff --git a/include/boost/fusion/view/ext_/segmented_iterator_range.hpp b/include/boost/fusion/view/ext_/segmented_iterator_range.hpp index 4d80f67a..33fc0a5e 100644 --- a/include/boost/fusion/view/ext_/segmented_iterator_range.hpp +++ b/include/boost/fusion/view/ext_/segmented_iterator_range.hpp @@ -7,22 +7,20 @@ #if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_RANGE_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_ITERATOR_RANGE_HPP_INCLUDED -#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 #include @@ -35,6 +33,12 @@ // - The front of each range in the stack (besides the // topmost) is the range above it +namespace boost { namespace fusion +{ + template + struct segmented_iterator; +}} + namespace boost { namespace fusion { namespace detail { //auto make_segment_sequence_front(stack_begin) @@ -508,13 +512,28 @@ namespace boost { namespace fusion { namespace extension template<> struct is_segmented_impl { + private: template struct is_segmented_iterator - : is_same< - segmented_iterator_tag, - typename traits::tag_of::type> + : mpl::false_ {}; + template + struct is_segmented_iterator + : is_segmented_iterator + {}; + + template + struct is_segmented_iterator + : is_segmented_iterator + {}; + + template + struct is_segmented_iterator > + : mpl::true_ + {}; + + public: template struct apply : is_segmented_iterator From afbda073a3ac1eecadd1b2e93c099966b73ee836 Mon Sep 17 00:00:00 2001 From: Eric Niebler Date: Mon, 15 Aug 2011 06:53:35 +0000 Subject: [PATCH 43/45] naming tweaks [SVN r73771] --- include/boost/fusion/container/ext_/tree.hpp | 2 +- .../ext_/{size_s.hpp => segmented_size.hpp} | 4 +-- .../fusion/view/ext_/detail/next_impl.hpp | 35 ++++++++++++++----- .../view/ext_/detail/segment_sequence.hpp | 2 +- .../fusion/view/ext_/segmented_begin.hpp | 2 +- .../boost/fusion/view/ext_/segmented_end.hpp | 2 +- .../fusion/view/ext_/segmented_iterator.hpp | 34 +++++++++--------- .../view/ext_/segmented_iterator_range.hpp | 12 +++---- 8 files changed, 55 insertions(+), 38 deletions(-) rename include/boost/fusion/sequence/intrinsic/ext_/{size_s.hpp => segmented_size.hpp} (94%) diff --git a/include/boost/fusion/container/ext_/tree.hpp b/include/boost/fusion/container/ext_/tree.hpp index 1958df3c..d1e777d0 100644 --- a/include/boost/fusion/container/ext_/tree.hpp +++ b/include/boost/fusion/container/ext_/tree.hpp @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp b/include/boost/fusion/sequence/intrinsic/ext_/segmented_size.hpp similarity index 94% rename from include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp rename to include/boost/fusion/sequence/intrinsic/ext_/segmented_size.hpp index 1a1d9c5f..721756c4 100644 --- a/include/boost/fusion/sequence/intrinsic/ext_/size_s.hpp +++ b/include/boost/fusion/sequence/intrinsic/ext_/segmented_size.hpp @@ -4,8 +4,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_SIZE_S_08112006_1141) -#define BOOST_FUSION_SIZE_S_08112006_1141 +#if !defined(BOOST_FUSION_SEGMENTED_SIZE_08112006_1141) +#define BOOST_FUSION_SEGMENTED_SIZE_08112006_1141 #include #include diff --git a/include/boost/fusion/view/ext_/detail/next_impl.hpp b/include/boost/fusion/view/ext_/detail/next_impl.hpp index d3817c59..7428d2ac 100644 --- a/include/boost/fusion/view/ext_/detail/next_impl.hpp +++ b/include/boost/fusion/view/ext_/detail/next_impl.hpp @@ -9,15 +9,18 @@ #include #include -#include +#include #include +#include #include -#include #include namespace boost { namespace fusion { - template + template + struct iterator_range; + + template struct segmented_iterator; namespace detail @@ -29,7 +32,10 @@ namespace boost { namespace fusion template struct is_invalid - : result_of::empty + : result_of::equal_to< + typename Stack::car_type::begin_type, + typename Stack::car_type::end_type + > {}; ////Advance the first iterator in the range at the @@ -37,19 +43,30 @@ namespace boost { namespace fusion ////new stack. //auto pop_front_car(stack) //{ - // return cons(pop_front(car(stack)), cdr(stack)) + // return cons(iterator_range(next(begin(car(stack))), end(car(stack))), cdr(stack)); //} template struct pop_front_car { - typedef typename Stack::car_type car_type; - typedef typename result_of::pop_front::type new_car_type; - typedef cons type; + typedef + iterator_range< + typename result_of::next< + typename Stack::car_type::begin_type + >::type + , typename Stack::car_type::end_type + > + car_type; + + typedef + cons + type; static type call(Stack const & stack) { - return type(fusion::pop_front(stack.car), stack.cdr); + return type( + car_type(fusion::next(stack.car.first), stack.car.last), + stack.cdr); } }; diff --git a/include/boost/fusion/view/ext_/detail/segment_sequence.hpp b/include/boost/fusion/view/ext_/detail/segment_sequence.hpp index f68c31b8..cae4e5df 100644 --- a/include/boost/fusion/view/ext_/detail/segment_sequence.hpp +++ b/include/boost/fusion/view/ext_/detail/segment_sequence.hpp @@ -11,7 +11,7 @@ #include #include #include -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/view/ext_/segmented_begin.hpp b/include/boost/fusion/view/ext_/segmented_begin.hpp index a0aa12e2..7f36ae36 100644 --- a/include/boost/fusion/view/ext_/segmented_begin.hpp +++ b/include/boost/fusion/view/ext_/segmented_begin.hpp @@ -11,7 +11,7 @@ namespace boost { namespace fusion { - template + template struct segmented_iterator; //auto segmented_begin( rng ) diff --git a/include/boost/fusion/view/ext_/segmented_end.hpp b/include/boost/fusion/view/ext_/segmented_end.hpp index e9ace31f..ac52d149 100644 --- a/include/boost/fusion/view/ext_/segmented_end.hpp +++ b/include/boost/fusion/view/ext_/segmented_end.hpp @@ -12,7 +12,7 @@ namespace boost { namespace fusion { - template + template struct segmented_iterator; //auto segmented_end( rng ) diff --git a/include/boost/fusion/view/ext_/segmented_iterator.hpp b/include/boost/fusion/view/ext_/segmented_iterator.hpp index 4c259632..238e1679 100644 --- a/include/boost/fusion/view/ext_/segmented_iterator.hpp +++ b/include/boost/fusion/view/ext_/segmented_iterator.hpp @@ -15,43 +15,43 @@ #include #include #include -#include #include #include #include +#include #include #include #include namespace boost { namespace fusion { - // A segmented iterator is a stack of segment nodes. - // Note: push_front/pop_front create views. That should - // be good enough. - template + // A segmented iterator wraps a "context", which is a cons list + // of ranges, the frontmost is range over values and the rest + // are ranges over internal segments. + template struct segmented_iterator - : iterator_facade, forward_traversal_tag> + : iterator_facade, forward_traversal_tag> { - explicit segmented_iterator(Nodes const &ns) - : nodes(ns) + explicit segmented_iterator(Context const& ctx) + : context(ctx) {} //auto deref(it) //{ - // return deref(begin(car(it.nodes))) + // return deref(begin(car(it.context))) //} template struct deref { typedef typename result_of::deref< - typename It::nodes_type::car_type::begin_type + typename It::context_type::car_type::begin_type >::type type; static type call(It const& it) { - return *it.nodes.car.first; + return *it.context.car.first; } }; @@ -61,11 +61,11 @@ namespace boost { namespace fusion struct equal_to : mpl::equal< typename mpl::reverse_transform< - typename result_of::as_vector::type, + typename result_of::as_vector::type, result_of::begin >::type, typename mpl::reverse_transform< - typename result_of::as_vector::type, + typename result_of::as_vector::type, result_of::begin >::type, result_of::equal_to @@ -75,17 +75,17 @@ namespace boost { namespace fusion template struct next { - typedef detail::segmented_next_impl impl; + typedef detail::segmented_next_impl impl; typedef segmented_iterator type; static type call(It const& it) { - return type(impl::call(it.nodes)); + return type(impl::call(it.context)); } }; - typedef Nodes nodes_type; - nodes_type nodes; + typedef Context context_type; + context_type context; }; }} diff --git a/include/boost/fusion/view/ext_/segmented_iterator_range.hpp b/include/boost/fusion/view/ext_/segmented_iterator_range.hpp index 33fc0a5e..d8ab40ca 100644 --- a/include/boost/fusion/view/ext_/segmented_iterator_range.hpp +++ b/include/boost/fusion/view/ext_/segmented_iterator_range.hpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include #include @@ -475,14 +475,14 @@ namespace boost { namespace fusion { namespace detail //auto make_segmented_range(begin, end) //{ - // return make_segmented_range_reduce(reverse(begin.nodes), reverse(end.nodes)); + // return make_segmented_range_reduce(reverse(begin.context), reverse(end.context)); //} template struct make_segmented_range { - typedef reverse_cons reverse_begin_cons; - typedef reverse_cons reverse_end_cons; + typedef reverse_cons reverse_begin_cons; + typedef reverse_cons reverse_end_cons; typedef make_segmented_range_reduce< @@ -496,8 +496,8 @@ namespace boost { namespace fusion { namespace detail static type call(Begin const & begin, End const & end) { return impl::call( - reverse_begin_cons::call(begin.nodes), - reverse_end_cons::call(end.nodes)); + reverse_begin_cons::call(begin.context), + reverse_end_cons::call(end.context)); } }; From 2212f57287247f7cbf9c8247ad42e168b109b2f0 Mon Sep 17 00:00:00 2001 From: Joel de Guzman Date: Mon, 15 Aug 2011 10:53:13 +0000 Subject: [PATCH 44/45] Fix Ticket #5784 [SVN r73774] --- include/boost/fusion/support/pair.hpp | 14 ++++++++------ include/boost/fusion/support/unused.hpp | 8 ++++---- 2 files changed, 12 insertions(+), 10 deletions(-) diff --git a/include/boost/fusion/support/pair.hpp b/include/boost/fusion/support/pair.hpp index a4ad4ee5..66b4706e 100644 --- a/include/boost/fusion/support/pair.hpp +++ b/include/boost/fusion/support/pair.hpp @@ -8,6 +8,8 @@ #if !defined(FUSION_PAIR_07222005_1203) #define FUSION_PAIR_07222005_1203 +#include + #include #include #include @@ -74,17 +76,17 @@ namespace boost { namespace fusion return pair::type>(val); } - template - inline OStream& - operator<<(OStream& os, pair const& p) + template + inline std::ostream& + operator<<(std::ostream& os, pair const& p) { os << p.second; return os; } - template - inline IStream& - operator>>(IStream& is, pair& p) + template + inline std::istream& + operator>>(std::istream& is, pair& p) { is >> p.second; return is; diff --git a/include/boost/fusion/support/unused.hpp b/include/boost/fusion/support/unused.hpp index c62b738a..9e1fe066 100644 --- a/include/boost/fusion/support/unused.hpp +++ b/include/boost/fusion/support/unused.hpp @@ -7,6 +7,8 @@ #if !defined(BOOST_FUSION_SUPPORT_UNUSED_20070305_1038) #define BOOST_FUSION_SUPPORT_UNUSED_20070305_1038 +#include + #include #if defined(BOOST_MSVC) # pragma warning(push) @@ -65,14 +67,12 @@ namespace boost { namespace fusion }; } - template - inline Out& operator<<(Out& out, detail::unused_only const&) + inline std::ostream& operator<<(std::ostream& out, detail::unused_only const&) { return out; } - template - inline In& operator>>(In& in, unused_type&) + inline std::istream& operator>>(std::istream& in, unused_type&) { return in; } From 2ccb8d604ff7f51902fdeeab6b94b14179dc7dcf Mon Sep 17 00:00:00 2001 From: Eric Niebler Date: Tue, 16 Aug 2011 23:07:51 +0000 Subject: [PATCH 45/45] progress with integrating the segmented Fusion work [SVN r73831] --- .../fusion/algorithm/iteration/ext_/fold_s.hpp | 2 +- .../algorithm/iteration/ext_/for_each_s.hpp | 2 +- .../fusion/algorithm/query/ext_/find_if_s.hpp | 2 +- .../fusion/algorithm/query/ext_/find_s.hpp | 2 +- include/boost/fusion/container/ext_/tree.hpp | 12 ++++++------ .../list}/detail/reverse_cons.hpp | 0 include/boost/fusion/iterator.hpp | 1 + .../fusion/iterator/segmented_iterator.hpp | 12 ++++++++++++ .../segmented_iterator}/detail/begin_impl.hpp | 6 +++--- .../segmented_iterator}/detail/end_impl.hpp | 4 ++-- .../segmented_iterator}/detail/next_impl.hpp | 2 +- .../detail/segment_sequence.hpp | 4 ++-- .../segmented_iterator}/segmented_iterator.hpp | 10 +++++----- include/boost/fusion/sequence/intrinsic.hpp | 1 + .../intrinsic/detail}/segmented_begin.hpp | 2 +- .../intrinsic/detail}/segmented_end.hpp | 2 +- .../{ext_ => detail}/segmented_size.hpp | 4 ++-- .../sequence/intrinsic/{ext_ => }/segments.hpp | 14 ++++++++++++++ include/boost/fusion/support.hpp | 1 + .../fusion/support/{ext_ => }/is_segmented.hpp | 17 ++++++++++------- .../ext_ => support}/segmented_fold_until.hpp | 4 ++-- .../detail}/segmented_iterator_range.hpp | 10 +++++----- test/sequence/ext_/iterator_range_s.cpp | 2 +- 23 files changed, 74 insertions(+), 42 deletions(-) rename include/boost/fusion/{view/ext_ => container/list}/detail/reverse_cons.hpp (100%) create mode 100644 include/boost/fusion/iterator/segmented_iterator.hpp rename include/boost/fusion/{view/ext_ => iterator/segmented_iterator}/detail/begin_impl.hpp (94%) rename include/boost/fusion/{view/ext_ => iterator/segmented_iterator}/detail/end_impl.hpp (93%) rename include/boost/fusion/{view/ext_ => iterator/segmented_iterator}/detail/next_impl.hpp (99%) rename include/boost/fusion/{view/ext_ => iterator/segmented_iterator}/detail/segment_sequence.hpp (95%) rename include/boost/fusion/{view/ext_ => iterator/segmented_iterator}/segmented_iterator.hpp (88%) rename include/boost/fusion/{view/ext_ => sequence/intrinsic/detail}/segmented_begin.hpp (93%) rename include/boost/fusion/{view/ext_ => sequence/intrinsic/detail}/segmented_end.hpp (94%) rename include/boost/fusion/sequence/intrinsic/{ext_ => detail}/segmented_size.hpp (94%) rename include/boost/fusion/sequence/intrinsic/{ext_ => }/segments.hpp (82%) rename include/boost/fusion/support/{ext_ => }/is_segmented.hpp (79%) rename include/boost/fusion/{view/ext_ => support}/segmented_fold_until.hpp (99%) rename include/boost/fusion/view/{ext_ => iterator_range/detail}/segmented_iterator_range.hpp (98%) diff --git a/include/boost/fusion/algorithm/iteration/ext_/fold_s.hpp b/include/boost/fusion/algorithm/iteration/ext_/fold_s.hpp index 13908f97..f991d03c 100644 --- a/include/boost/fusion/algorithm/iteration/ext_/fold_s.hpp +++ b/include/boost/fusion/algorithm/iteration/ext_/fold_s.hpp @@ -8,7 +8,7 @@ #define BOOST_FUSION_FOLD_S_HPP_INCLUDED #include -#include +#include namespace boost { namespace fusion { namespace detail { diff --git a/include/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp b/include/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp index cf9d72c2..8d9173aa 100644 --- a/include/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp +++ b/include/boost/fusion/algorithm/iteration/ext_/for_each_s.hpp @@ -9,7 +9,7 @@ #include #include -#include +#include namespace boost { namespace fusion { namespace detail { diff --git a/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp b/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp index 70a484cc..863d806a 100644 --- a/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp +++ b/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace boost { namespace fusion { namespace detail { diff --git a/include/boost/fusion/algorithm/query/ext_/find_s.hpp b/include/boost/fusion/algorithm/query/ext_/find_s.hpp index f95a230a..a1a1f904 100644 --- a/include/boost/fusion/algorithm/query/ext_/find_s.hpp +++ b/include/boost/fusion/algorithm/query/ext_/find_s.hpp @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace boost { namespace fusion { namespace detail { diff --git a/include/boost/fusion/container/ext_/tree.hpp b/include/boost/fusion/container/ext_/tree.hpp index d1e777d0..8d62a20a 100644 --- a/include/boost/fusion/container/ext_/tree.hpp +++ b/include/boost/fusion/container/ext_/tree.hpp @@ -19,12 +19,12 @@ #include #include #include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/view/ext_/detail/reverse_cons.hpp b/include/boost/fusion/container/list/detail/reverse_cons.hpp similarity index 100% rename from include/boost/fusion/view/ext_/detail/reverse_cons.hpp rename to include/boost/fusion/container/list/detail/reverse_cons.hpp diff --git a/include/boost/fusion/iterator.hpp b/include/boost/fusion/iterator.hpp index 9aeb6a39..f8d5958a 100644 --- a/include/boost/fusion/iterator.hpp +++ b/include/boost/fusion/iterator.hpp @@ -9,6 +9,7 @@ #include #include +#include #include #include #include diff --git a/include/boost/fusion/iterator/segmented_iterator.hpp b/include/boost/fusion/iterator/segmented_iterator.hpp new file mode 100644 index 00000000..5e446f5c --- /dev/null +++ b/include/boost/fusion/iterator/segmented_iterator.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2011 Eric Niebler + + 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_SEGMENTED_ITERATOR_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_ITERATOR_HPP_INCLUDED + +#include + +#endif diff --git a/include/boost/fusion/view/ext_/detail/begin_impl.hpp b/include/boost/fusion/iterator/segmented_iterator/detail/begin_impl.hpp similarity index 94% rename from include/boost/fusion/view/ext_/detail/begin_impl.hpp rename to include/boost/fusion/iterator/segmented_iterator/detail/begin_impl.hpp index d5fd90a3..b66f9939 100644 --- a/include/boost/fusion/view/ext_/detail/begin_impl.hpp +++ b/include/boost/fusion/iterator/segmented_iterator/detail/begin_impl.hpp @@ -13,9 +13,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include namespace boost { namespace fusion { namespace detail { diff --git a/include/boost/fusion/view/ext_/detail/end_impl.hpp b/include/boost/fusion/iterator/segmented_iterator/detail/end_impl.hpp similarity index 93% rename from include/boost/fusion/view/ext_/detail/end_impl.hpp rename to include/boost/fusion/iterator/segmented_iterator/detail/end_impl.hpp index 5e7eee56..44a7ef5e 100644 --- a/include/boost/fusion/view/ext_/detail/end_impl.hpp +++ b/include/boost/fusion/iterator/segmented_iterator/detail/end_impl.hpp @@ -13,8 +13,8 @@ #include #include #include -#include -#include +#include +#include namespace boost { namespace fusion { namespace detail { diff --git a/include/boost/fusion/view/ext_/detail/next_impl.hpp b/include/boost/fusion/iterator/segmented_iterator/detail/next_impl.hpp similarity index 99% rename from include/boost/fusion/view/ext_/detail/next_impl.hpp rename to include/boost/fusion/iterator/segmented_iterator/detail/next_impl.hpp index 7428d2ac..b83a858b 100644 --- a/include/boost/fusion/view/ext_/detail/next_impl.hpp +++ b/include/boost/fusion/iterator/segmented_iterator/detail/next_impl.hpp @@ -13,7 +13,7 @@ #include #include #include -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/view/ext_/detail/segment_sequence.hpp b/include/boost/fusion/iterator/segmented_iterator/detail/segment_sequence.hpp similarity index 95% rename from include/boost/fusion/view/ext_/detail/segment_sequence.hpp rename to include/boost/fusion/iterator/segmented_iterator/detail/segment_sequence.hpp index cae4e5df..2a31ab01 100644 --- a/include/boost/fusion/view/ext_/detail/segment_sequence.hpp +++ b/include/boost/fusion/iterator/segmented_iterator/detail/segment_sequence.hpp @@ -10,8 +10,8 @@ #include #include #include -#include -#include +#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/view/ext_/segmented_iterator.hpp b/include/boost/fusion/iterator/segmented_iterator/segmented_iterator.hpp similarity index 88% rename from include/boost/fusion/view/ext_/segmented_iterator.hpp rename to include/boost/fusion/iterator/segmented_iterator/segmented_iterator.hpp index 238e1679..cd889647 100644 --- a/include/boost/fusion/view/ext_/segmented_iterator.hpp +++ b/include/boost/fusion/iterator/segmented_iterator/segmented_iterator.hpp @@ -4,8 +4,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_SEGMENTED_ITERATOR_HPP_INCLUDED) -#define BOOST_FUSION_SEGMENTED_ITERATOR_HPP_INCLUDED +#if !defined(BOOST_FUSION_SEGMENTED_ITERATOR_SEGMENTED_ITERATOR_HPP_INCLUDED) +#define BOOST_FUSION_SEGMENTED_ITERATOR_SEGMENTED_ITERATOR_HPP_INCLUDED #include #include @@ -18,9 +18,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include #include namespace boost { namespace fusion diff --git a/include/boost/fusion/sequence/intrinsic.hpp b/include/boost/fusion/sequence/intrinsic.hpp index 8c5f4abd..0d60d962 100644 --- a/include/boost/fusion/sequence/intrinsic.hpp +++ b/include/boost/fusion/sequence/intrinsic.hpp @@ -14,6 +14,7 @@ #include #include #include +#include #include #include #include diff --git a/include/boost/fusion/view/ext_/segmented_begin.hpp b/include/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp similarity index 93% rename from include/boost/fusion/view/ext_/segmented_begin.hpp rename to include/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp index 7f36ae36..3184474d 100644 --- a/include/boost/fusion/view/ext_/segmented_begin.hpp +++ b/include/boost/fusion/sequence/intrinsic/detail/segmented_begin.hpp @@ -7,7 +7,7 @@ #if !defined(BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED) #define BOOST_FUSION_SEGMENTED_BEGIN_HPP_INCLUDED -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/view/ext_/segmented_end.hpp b/include/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp similarity index 94% rename from include/boost/fusion/view/ext_/segmented_end.hpp rename to include/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp index ac52d149..584b60fe 100644 --- a/include/boost/fusion/view/ext_/segmented_end.hpp +++ b/include/boost/fusion/sequence/intrinsic/detail/segmented_end.hpp @@ -8,7 +8,7 @@ #define BOOST_FUSION_SEGMENTED_END_HPP_INCLUDED #include -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/intrinsic/ext_/segmented_size.hpp b/include/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp similarity index 94% rename from include/boost/fusion/sequence/intrinsic/ext_/segmented_size.hpp rename to include/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp index 721756c4..1ee72720 100644 --- a/include/boost/fusion/sequence/intrinsic/ext_/segmented_size.hpp +++ b/include/boost/fusion/sequence/intrinsic/detail/segmented_size.hpp @@ -18,8 +18,8 @@ #include #include #include -#include -#include +#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/intrinsic/ext_/segments.hpp b/include/boost/fusion/sequence/intrinsic/segments.hpp similarity index 82% rename from include/boost/fusion/sequence/intrinsic/ext_/segments.hpp rename to include/boost/fusion/sequence/intrinsic/segments.hpp index 16f2bfa4..77ed0773 100644 --- a/include/boost/fusion/sequence/intrinsic/ext_/segments.hpp +++ b/include/boost/fusion/sequence/intrinsic/segments.hpp @@ -11,6 +11,10 @@ namespace boost { namespace fusion { + // Special tags: + struct sequence_facade_tag; + struct iterator_range_tag; + // segments: returns a sequence of sequences namespace extension { @@ -20,6 +24,16 @@ namespace boost { namespace fusion template struct apply {}; }; + + template <> + struct segments_impl + { + template + struct apply : Sequence::template segments {}; + }; + + template <> + struct segments_impl; } namespace result_of diff --git a/include/boost/fusion/support.hpp b/include/boost/fusion/support.hpp index 012ee107..f1cad29a 100644 --- a/include/boost/fusion/support.hpp +++ b/include/boost/fusion/support.hpp @@ -10,6 +10,7 @@ #include #include #include +#include #include #include #include diff --git a/include/boost/fusion/support/ext_/is_segmented.hpp b/include/boost/fusion/support/is_segmented.hpp similarity index 79% rename from include/boost/fusion/support/ext_/is_segmented.hpp rename to include/boost/fusion/support/is_segmented.hpp index 63330a4a..ba571dc5 100644 --- a/include/boost/fusion/support/ext_/is_segmented.hpp +++ b/include/boost/fusion/support/is_segmented.hpp @@ -13,24 +13,27 @@ namespace boost { namespace fusion { // Special tags: struct sequence_facade_tag; - struct boost_tuple_tag; // boost::tuples::tuple 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; namespace extension { - template + template struct is_segmented_impl { - template + template struct apply : mpl::false_ {}; }; - template<> + template <> + struct is_segmented_impl + { + template + struct apply : Sequence::is_segmented {}; + }; + + template <> struct is_segmented_impl; } diff --git a/include/boost/fusion/view/ext_/segmented_fold_until.hpp b/include/boost/fusion/support/segmented_fold_until.hpp similarity index 99% rename from include/boost/fusion/view/ext_/segmented_fold_until.hpp rename to include/boost/fusion/support/segmented_fold_until.hpp index 990c0042..b5e0299f 100644 --- a/include/boost/fusion/view/ext_/segmented_fold_until.hpp +++ b/include/boost/fusion/support/segmented_fold_until.hpp @@ -24,8 +24,8 @@ #include #include #include -#include -#include +#include +#include // fun(rng, state, context) // rng: a non-segmented range diff --git a/include/boost/fusion/view/ext_/segmented_iterator_range.hpp b/include/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp similarity index 98% rename from include/boost/fusion/view/ext_/segmented_iterator_range.hpp rename to include/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp index d8ab40ca..80c000c7 100644 --- a/include/boost/fusion/view/ext_/segmented_iterator_range.hpp +++ b/include/boost/fusion/view/iterator_range/detail/segmented_iterator_range.hpp @@ -15,15 +15,15 @@ #include #include #include -#include -#include +#include +#include #include #include #include #include -#include -#include -#include +#include +#include +#include // Invariants: // - Each segmented iterator has a stack diff --git a/test/sequence/ext_/iterator_range_s.cpp b/test/sequence/ext_/iterator_range_s.cpp index 4aea3ae5..33c63446 100644 --- a/test/sequence/ext_/iterator_range_s.cpp +++ b/test/sequence/ext_/iterator_range_s.cpp @@ -12,7 +12,7 @@ #include #include #include -#include +#include #include #include #include