From f27ed26e44e30c00512cd59de941a94d5dfb454c Mon Sep 17 00:00:00 2001 From: Eric Niebler Date: Fri, 8 Jul 2011 19:42:35 +0000 Subject: [PATCH] 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
-
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

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;