From b761e0e0c0840c2b76bc7fa1d0eef799903a977e Mon Sep 17 00:00:00 2001 From: Christopher Schmidt Date: Mon, 4 Oct 2010 20:50:31 +0000 Subject: [PATCH] Fusion: BOOST_FUSION_ADAPT_ADT documentation [SVN r65756] --- doc/adapted.qbk | 100 ++++++- doc/fusion.qbk | 23 +- doc/html/fusion/adapted.html | 3 +- doc/html/fusion/adapted/adapt_adt.html | 161 ++++++++++++ doc/html/fusion/adapted/adapt_assoc.html | 10 +- .../adapted/adapt_assoc_struct_named.html | 16 +- .../adapted/adapt_assoc_tpl_struct.html | 10 +- doc/html/fusion/adapted/adapt_struct.html | 10 +- .../fusion/adapted/adapt_struct_named.html | 10 +- doc/html/fusion/adapted/adapt_tpl_struct.html | 10 +- doc/html/fusion/adapted/array.html | 6 +- doc/html/fusion/adapted/boost__array.html | 8 +- doc/html/fusion/adapted/boost__tuple.html | 8 +- .../fusion/adapted/define_assoc_struct.html | 10 +- .../adapted/define_assoc_tpl_struct.html | 10 +- doc/html/fusion/adapted/define_struct.html | 18 +- .../fusion/adapted/define_tpl_struct.html | 10 +- doc/html/fusion/adapted/mpl_sequence.html | 8 +- doc/html/fusion/adapted/std__pair.html | 8 +- doc/html/fusion/algorithm.html | 6 +- doc/html/fusion/algorithm/iteration.html | 2 +- .../iteration/functions/accumulate.html | 14 +- .../algorithm/iteration/functions/fold.html | 14 +- .../iteration/functions/for_each.html | 14 +- .../iteration/functions/iter_fold.html | 14 +- .../iteration/functions/reverse_fold.html | 14 +- .../functions/reverse_iter_fold.html | 14 +- .../iteration/metafunctions/accumulate.html | 12 +- .../iteration/metafunctions/fold.html | 12 +- .../iteration/metafunctions/for_each.html | 12 +- .../iteration/metafunctions/iter_fold.html | 12 +- .../iteration/metafunctions/reverse_fold.html | 12 +- .../metafunctions/reverse_iter_fold.html | 12 +- doc/html/fusion/algorithm/query.html | 2 +- .../fusion/algorithm/query/functions/all.html | 14 +- .../fusion/algorithm/query/functions/any.html | 14 +- .../algorithm/query/functions/count.html | 14 +- .../algorithm/query/functions/count_if.html | 14 +- .../algorithm/query/functions/find.html | 14 +- .../algorithm/query/functions/find_if.html | 12 +- .../algorithm/query/functions/none.html | 14 +- .../algorithm/query/metafunctions/all.html | 12 +- .../algorithm/query/metafunctions/any.html | 12 +- .../algorithm/query/metafunctions/count.html | 12 +- .../query/metafunctions/count_if.html | 12 +- .../algorithm/query/metafunctions/find.html | 12 +- .../query/metafunctions/find_if.html | 12 +- .../algorithm/query/metafunctions/none.html | 12 +- doc/html/fusion/algorithm/transformation.html | 2 +- .../transformation/functions/clear.html | 14 +- .../transformation/functions/erase.html | 14 +- .../transformation/functions/erase_key.html | 14 +- .../transformation/functions/filter.html | 14 +- .../transformation/functions/filter_if.html | 14 +- .../transformation/functions/insert.html | 14 +- .../functions/insert_range.html | 14 +- .../transformation/functions/join.html | 14 +- .../transformation/functions/pop_back.html | 14 +- .../transformation/functions/pop_front.html | 14 +- .../transformation/functions/push_back.html | 14 +- .../transformation/functions/push_front.html | 14 +- .../transformation/functions/remove.html | 14 +- .../transformation/functions/remove_if.html | 14 +- .../transformation/functions/replace.html | 14 +- .../transformation/functions/replace_if.html | 14 +- .../transformation/functions/reverse.html | 14 +- .../transformation/functions/transform.html | 18 +- .../transformation/functions/zip.html | 14 +- .../transformation/metafunctions/clear.html | 12 +- .../transformation/metafunctions/erase.html | 12 +- .../metafunctions/erase_key.html | 12 +- .../transformation/metafunctions/filter.html | 12 +- .../metafunctions/filter_if.html | 12 +- .../transformation/metafunctions/insert.html | 12 +- .../metafunctions/insert_range.html | 12 +- .../transformation/metafunctions/join.html | 10 +- .../metafunctions/pop_back.html | 12 +- .../metafunctions/pop_front.html | 12 +- .../metafunctions/push_back.html | 12 +- .../metafunctions/push_front.html | 12 +- .../transformation/metafunctions/remove.html | 12 +- .../metafunctions/remove_if.html | 12 +- .../transformation/metafunctions/replace.html | 12 +- .../metafunctions/replace_if.html | 12 +- .../transformation/metafunctions/reverse.html | 12 +- .../metafunctions/transform.html | 18 +- .../transformation/metafunctions/zip.html | 10 +- doc/html/fusion/change_log.html | 19 +- doc/html/fusion/container.html | 2 +- doc/html/fusion/container/cons.html | 14 +- doc/html/fusion/container/conversion.html | 2 +- .../conversion/functions/as_list.html | 12 +- .../conversion/functions/as_map.html | 12 +- .../conversion/functions/as_set.html | 12 +- .../conversion/functions/as_vector.html | 12 +- .../conversion/metafunctions/as_list.html | 12 +- .../conversion/metafunctions/as_map.html | 12 +- .../conversion/metafunctions/as_set.html | 12 +- .../conversion/metafunctions/as_vector.html | 12 +- doc/html/fusion/container/generation.html | 2 +- .../generation/functions/list_tie.html | 12 +- .../generation/functions/make_cons.html | 14 +- .../generation/functions/make_list.html | 14 +- .../generation/functions/make_map.html | 14 +- .../generation/functions/make_set.html | 14 +- .../generation/functions/make_vector.html | 14 +- .../generation/functions/map_tie.html | 12 +- .../container/generation/functions/tiers.html | 6 +- .../generation/functions/vector_tie.html | 12 +- .../generation/metafunctions/list_tie.html | 12 +- .../generation/metafunctions/make_cons.html | 12 +- .../generation/metafunctions/make_list.html | 12 +- .../generation/metafunctions/make_map.html | 14 +- .../generation/metafunctions/make_set.html | 12 +- .../generation/metafunctions/make_vector.html | 12 +- .../generation/metafunctions/map_tie.html | 12 +- .../generation/metafunctions/vector_tie.html | 12 +- doc/html/fusion/container/list.html | 14 +- doc/html/fusion/container/map.html | 14 +- doc/html/fusion/container/set.html | 14 +- doc/html/fusion/container/vector.html | 14 +- doc/html/fusion/extension/ext_full.html | 16 +- .../fusion/extension/iterator_facade.html | 14 +- .../fusion/extension/sequence_facade.html | 14 +- doc/html/fusion/functional.html | 8 +- .../fusion/functional/adapters/fused.html | 16 +- .../adapters/fused_function_object.html | 16 +- .../functional/adapters/fused_procedure.html | 16 +- .../fusion/functional/adapters/limits.html | 4 +- .../fusion/functional/adapters/unfused.html | 16 +- .../functional/adapters/unfused_typed.html | 16 +- .../fusion/functional/concepts/callable.html | 6 +- .../functional/concepts/def_callable.html | 10 +- doc/html/fusion/functional/concepts/poly.html | 10 +- .../functional/concepts/reg_callable.html | 10 +- .../generation/functions/mk_fused.html | 14 +- .../generation/functions/mk_fused_fobj.html | 14 +- .../generation/functions/mk_fused_proc.html | 14 +- .../generation/functions/mk_unfused.html | 14 +- .../generation/metafunctions/mk_fused.html | 8 +- .../metafunctions/mk_fused_fobj.html | 8 +- .../metafunctions/mk_fused_proc.html | 8 +- .../generation/metafunctions/mk_unfused.html | 8 +- .../invocation/functions/invoke.html | 14 +- .../invocation/functions/invoke_fobj.html | 14 +- .../invocation/functions/invoke_proc.html | 14 +- .../fusion/functional/invocation/limits.html | 4 +- .../invocation/metafunctions/invoke.html | 6 +- .../invocation/metafunctions/invoke_fobj.html | 6 +- .../invocation/metafunctions/invoke_proc.html | 6 +- doc/html/fusion/introduction.html | 4 +- doc/html/fusion/iterator.html | 2 +- .../concepts/associative_iterator.html | 10 +- .../concepts/bidirectional_iterator.html | 14 +- .../iterator/concepts/forward_iterator.html | 12 +- .../concepts/random_access_iterator.html | 10 +- .../fusion/iterator/functions/advance.html | 12 +- .../fusion/iterator/functions/advance_c.html | 12 +- doc/html/fusion/iterator/functions/deref.html | 12 +- .../fusion/iterator/functions/deref_data.html | 12 +- .../fusion/iterator/functions/distance.html | 12 +- doc/html/fusion/iterator/functions/next.html | 12 +- doc/html/fusion/iterator/functions/prior.html | 12 +- .../iterator/metafunctions/advance.html | 12 +- .../iterator/metafunctions/advance_c.html | 12 +- .../fusion/iterator/metafunctions/deref.html | 12 +- .../iterator/metafunctions/deref_data.html | 12 +- .../iterator/metafunctions/distance.html | 12 +- .../iterator/metafunctions/equal_to.html | 12 +- .../fusion/iterator/metafunctions/key_of.html | 12 +- .../fusion/iterator/metafunctions/next.html | 12 +- .../fusion/iterator/metafunctions/prior.html | 12 +- .../iterator/metafunctions/value_of.html | 12 +- .../iterator/metafunctions/value_of_data.html | 12 +- .../iterator/operator/operator_equality.html | 10 +- .../operator/operator_inequality.html | 10 +- .../operator/operator_unary_star.html | 12 +- doc/html/fusion/notes.html | 248 +++++++++++++++++- doc/html/fusion/organization.html | 10 +- doc/html/fusion/preface.html | 10 +- doc/html/fusion/quick_start.html | 16 +- doc/html/fusion/sequence.html | 2 +- doc/html/fusion/sequence/concepts.html | 4 +- .../concepts/associative_sequence.html | 10 +- .../concepts/bidirectional_sequence.html | 12 +- .../sequence/concepts/forward_sequence.html | 12 +- .../concepts/random_access_sequence.html | 12 +- doc/html/fusion/sequence/intrinsic.html | 6 +- .../sequence/intrinsic/functions/at.html | 12 +- .../sequence/intrinsic/functions/at_c.html | 12 +- .../sequence/intrinsic/functions/at_key.html | 12 +- .../sequence/intrinsic/functions/back.html | 12 +- .../sequence/intrinsic/functions/begin.html | 12 +- .../sequence/intrinsic/functions/empty.html | 12 +- .../sequence/intrinsic/functions/end.html | 12 +- .../sequence/intrinsic/functions/front.html | 12 +- .../sequence/intrinsic/functions/has_key.html | 12 +- .../sequence/intrinsic/functions/size.html | 12 +- .../sequence/intrinsic/functions/swap.html | 10 +- .../sequence/intrinsic/metafunctions/at.html | 16 +- .../intrinsic/metafunctions/at_c.html | 16 +- .../intrinsic/metafunctions/at_key.html | 16 +- .../intrinsic/metafunctions/back.html | 12 +- .../intrinsic/metafunctions/begin.html | 12 +- .../intrinsic/metafunctions/empty.html | 12 +- .../sequence/intrinsic/metafunctions/end.html | 12 +- .../intrinsic/metafunctions/front.html | 12 +- .../intrinsic/metafunctions/has_key.html | 12 +- .../intrinsic/metafunctions/size.html | 12 +- .../intrinsic/metafunctions/swap.html | 10 +- .../intrinsic/metafunctions/value_at.html | 12 +- .../intrinsic/metafunctions/value_at_c.html | 12 +- .../intrinsic/metafunctions/value_at_key.html | 12 +- .../fusion/sequence/operator/comparison.html | 2 +- .../sequence/operator/comparison/equal.html | 12 +- .../operator/comparison/greater_than.html | 10 +- .../comparison/greater_than_equal.html | 10 +- .../operator/comparison/less_than.html | 10 +- .../operator/comparison/less_than_equal.html | 10 +- .../operator/comparison/not_equal.html | 10 +- doc/html/fusion/sequence/operator/i_o.html | 2 +- doc/html/fusion/sequence/operator/i_o/in.html | 12 +- .../fusion/sequence/operator/i_o/out.html | 12 +- doc/html/fusion/support/category_of.html | 12 +- doc/html/fusion/support/deduce.html | 10 +- doc/html/fusion/support/deduce_sequence.html | 10 +- doc/html/fusion/support/is_sequence.html | 12 +- doc/html/fusion/support/is_view.html | 12 +- doc/html/fusion/support/pair.html | 12 +- doc/html/fusion/support/tag_of.html | 12 +- .../fusion/tuple/class_template_tuple.html | 2 +- .../class_template_tuple/construction.html | 4 +- .../class_template_tuple/element_access.html | 4 +- .../relational_operators.html | 4 +- .../tuple_creation_functions.html | 4 +- .../tuple_helper_classes.html | 4 +- doc/html/fusion/tuple/pairs.html | 4 +- doc/html/fusion/view.html | 2 +- doc/html/fusion/view/filter_view.html | 14 +- doc/html/fusion/view/iterator_range.html | 14 +- doc/html/fusion/view/joint_view.html | 14 +- doc/html/fusion/view/nview.html | 14 +- doc/html/fusion/view/repetitive_view.html | 14 +- doc/html/fusion/view/reverse_view.html | 12 +- doc/html/fusion/view/single_view.html | 12 +- doc/html/fusion/view/transform_view.html | 12 +- doc/html/fusion/view/zip_view.html | 14 +- doc/html/index.html | 5 +- doc/notes.qbk | 75 ++++++ .../fusion/adapted/adt/detail/adapt_base.hpp | 12 +- 250 files changed, 1968 insertions(+), 1404 deletions(-) create mode 100644 doc/html/fusion/adapted/adapt_adt.html diff --git a/doc/adapted.qbk b/doc/adapted.qbk index 7b4324f9..de658573 100644 --- a/doc/adapted.qbk +++ b/doc/adapted.qbk @@ -548,9 +548,105 @@ namespace qualified name of the struct to be converted. [endsect] -[section:define_struct BOOST_FUSION_DEFINE_STRUCT] +[section:adapt_adt BOOST_FUSION_ADAPT_ADT] -[heading Description] +BOOST_FUSION_ADAPT_ADT is a macro than can be used to generate all the +necessary boilerplate to adapt an arbitrary class type as a model of +__random_access_sequence__. + +[heading Synopsis] + + BOOST_FUSION_ADAPT_ADT( + type_name, + (attribute_type0, attribute_const_type0, get_expr0, set_expr0) + (attribute_type1, attribute_const_type1, get_expr1, set_expr1) + ... + ) + +[heading Expression Semantics] + +The above macro generates the necessary code to adapt `type_name` +as a model of __random_access_sequence__. +The sequence of +[^(attribute_type['N], attribute_const_type['N], get_expr['N], set_expr['N])] +quadruples declares the types, const types, get-expressions and set-expressions +of the elements that are part of the adapted fusion sequence. +[^get_expr['N]] is the expression that is invoked to get the ['N]th element +of an instance of `type_name`. This expression may access a variable named +`obj` of type `type_name&` or `type_name const&` which represents the underlying +instance of `type_name`. +[^attribute_type['N]] and [^attribute_const_type['N]] may specify the types +that [^get_expr['N]] denotes to. +[^set_expr['N]] is the expression that is invoked to set the ['N]th element +of an instance of `type_name`. This expression may access variables named +`obj` of type `type_name&`, which represent the corresponding instance of +`type_name`, and `val` of an arbitrary const-qualified reference template type +parameter `Val`, which represents the right operand of the assignment +expression. + +The actual return type of fusion's intrinsic sequence access (meta-)functions +when in invoked with (an instance of) `type_name` is a proxy type. +This type is implicitly convertible to the attribute type via [^get_expr['N]] and +forwards assignment to the underlying element via [^set_expr['N]]. +The value type (that is the type returned by __result_of_value_of__, +__result_of_value_at__ and __result_of_value_at_c__) of the ['N]th element +is [^attribute_type['N]] with const-qualifier and reference removed. + +[heading Header] + + #include + #include + +[heading Example] + namespace demo + { + struct employee + { + private: + std::string name; + int age; + + public: + void set_name(std::string const& n) + { + name=n; + } + + void set_age(int a) + { + age=a; + } + + std::string const& get_name()const + { + return name; + } + + int get_age()const + { + return age; + } + }; + } + + BOOST_FUSION_ADAPT_ADT( + demo::employee, + (std::string const&, std::string const&, obj.get_name(), obj.set_name(val)) + (int, int, obj.get_age(), obj.set_age(val))) + + 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; + +[heading See also] + +__adt_attribute_proxy__ + +[endsect] + +[section:define_struct BOOST_FUSION_DEFINE_STRUCT] BOOST_FUSION_DEFINE_STRUCT is a macro that can be used to generate all the necessary boilerplate to define and adapt an arbitrary struct as a model of diff --git a/doc/fusion.qbk b/doc/fusion.qbk index 9118c130..a24f3adc 100644 --- a/doc/fusion.qbk +++ b/doc/fusion.qbk @@ -131,16 +131,17 @@ [def __std_pair__ [link fusion.adapted.std__pair `std::pair`]] [def __boost_array__ [link fusion.adapted.boost__array `boost::array`]] [def __mpl_sequence__ [link fusion.adapted.mpl_sequence mpl sequence]] -[def __adapt_tpl_struct__ [link fusion.adapted.adapt_tpl_struct BOOST_FUSION_ADAPT_TPL_STRUCT]] -[def __adapt_struct_named__ [link fusion.adapted.adapt_struct_named BOOST_FUSION_ADAPT_STRUCT_NAMED]] -[def __adapt_struct_named_ns__ [link fusion.adapted.adapt_struct_named BOOST_FUSION_ADAPT_STRUCT_NAMED_NS]] -[def __adapt_assoc_tpl_struct__ [link fusion.adapted.adapt_assoc_tpl_struct BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT]] -[def __adapt_assoc_struct_named__ [link fusion.adapted.adapt_assoc_struct_named BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED]] -[def __adapt_assoc_struct_named_ns__ [link fusion.adapted.adapt_assoc_struct_named BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS]] -[def __define_struct__ [link fusion.adapted.define_struct BOOST_FUSION_DEFINE_STRUCT]] -[def __define_tpl_struct__ [link fusion.adapted.define_tpl_struct BOOST_FUSION_DEFINE_TPL_STRUCT]] -[def __define_assoc_struct__ [link fusion.adapted.define_assoc_struct BOOST_FUSION_DEFINE_ASSOC_STRUCT]] -[def __define_assoc_tpl_struct__ [link fusion.adapted.define_assoc_tpl_struct BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT]] +[def __adapt_tpl_struct__ [link fusion.adapted.adapt_tpl_struct `BOOST_FUSION_ADAPT_TPL_STRUCT`]] +[def __adapt_struct_named__ [link fusion.adapted.adapt_struct_named `BOOST_FUSION_ADAPT_STRUCT_NAMED`]] +[def __adapt_struct_named_ns__ [link fusion.adapted.adapt_struct_named `BOOST_FUSION_ADAPT_STRUCT_NAMED_NS`]] +[def __adapt_assoc_tpl_struct__ [link fusion.adapted.adapt_assoc_tpl_struct `BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT`]] +[def __adapt_assoc_struct_named__ [link fusion.adapted.adapt_assoc_struct_named `BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED`]] +[def __adapt_assoc_struct_named_ns__ [link fusion.adapted.adapt_assoc_struct_named `BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS`]] +[def __adapt_adt__ [link fusion.adapted.adapt_adt `BOOST_FUSION_ADAPT_ADT`]] +[def __define_struct__ [link fusion.adapted.define_struct `BOOST_FUSION_DEFINE_STRUCT`]] +[def __define_tpl_struct__ [link fusion.adapted.define_tpl_struct `BOOST_FUSION_DEFINE_TPL_STRUCT`]] +[def __define_assoc_struct__ [link fusion.adapted.define_assoc_struct `BOOST_FUSION_DEFINE_ASSOC_STRUCT`]] +[def __define_assoc_tpl_struct__ [link fusion.adapted.define_assoc_tpl_struct `BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT`]] [def __intrinsic__ [link fusion.sequence.intrinsic Intrinsic]] [def __intrinsics__ [link fusion.sequence.intrinsic Intrinsics]] @@ -317,6 +318,8 @@ [def __sequence_facade__ [link fusion.extension.sequence_facade `sequence_facade`]] [def __iterator_facade__ [link fusion.extension.iterator_facade `iterator_facade`]] +[def __adt_attribute_proxy__ [link fusion.notes.adt_attribute_proxy `adt_attribute_proxy`]] + [include preface.qbk] [include introduction.qbk] [include quick_start.qbk] diff --git a/doc/html/fusion/adapted.html b/doc/html/fusion/adapted.html index c050010f..d8eac04a 100644 --- a/doc/html/fusion/adapted.html +++ b/doc/html/fusion/adapted.html @@ -38,6 +38,7 @@
BOOST_FUSION_ADAPT_ASSOC_STRUCT
BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT
BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED
+
BOOST_FUSION_ADAPT_ADT
BOOST_FUSION_DEFINE_STRUCT
BOOST_FUSION_DEFINE_TPL_STRUCT
BOOST_FUSION_DEFINE_ASSOC_STRUCT
@@ -56,7 +57,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
new file mode 100644
index 00000000..d5bfe8fd
--- /dev/null
+++ b/doc/html/fusion/adapted/adapt_adt.html
@@ -0,0 +1,161 @@
+
+
+
+BOOST_FUSION_ADAPT_ADT
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +

+ BOOST_FUSION_ADAPT_ADT is a macro than can be used to generate all the necessary + boilerplate to adapt an arbitrary class type as a model of Random + Access Sequence. +

+
+ + Synopsis +
+
BOOST_FUSION_ADAPT_ADT(
+    type_name,
+    (attribute_type0, attribute_const_type0, get_expr0, set_expr0)
+    (attribute_type1, attribute_const_type1, get_expr1, set_expr1)
+    ...
+    )
+
+
+ + Expression + Semantics +
+

+ The above macro generates the necessary code to adapt type_name + as a model of Random + Access Sequence. The sequence of (attribute_typeN, + attribute_const_typeN, get_exprN, + set_exprN) quadruples declares the types, + const types, get-expressions and set-expressions of the elements that are + part of the adapted fusion sequence. get_exprN + is the expression that is invoked to get the Nth element + of an instance of type_name. + This expression may access a variable named obj + of type type_name& + or type_name const& which represents the underlying instance + of type_name. attribute_typeN + and attribute_const_typeN may specify + the types that get_exprN denotes + to. set_exprN is the expression that + is invoked to set the Nth element of an instance of + type_name. This expression + may access variables named obj + of type type_name&, + which represent the corresponding instance of type_name, + and val of an arbitrary const-qualified + reference template type parameter Val, + which represents the right operand of the assignment expression. +

+

+ The actual return type of fusion's intrinsic sequence access (meta-)functions + when in invoked with (an instance of) type_name + is a proxy type. This type is implicitly convertible to the attribute type + via get_exprN and forwards assignment + to the underlying element via set_exprN. + The value type (that is the type returned by result_of::value_of, result_of::value_at and result_of::value_at_c) of the Nth + element is attribute_typeN with const-qualifier + and reference removed. +

+
+ + Header +
+
#include <boost/fusion/adapted/adt/adapt_adt.hpp>
+#include <boost/fusion/include/adapt_adt.hpp>
+
+
+ + Example +
+
namespace demo
+{
+    struct employee
+    {
+    private:
+        std::string name;
+        int age;
+            
+    public:
+        void set_name(std::string const& n)
+        {
+            name=n;
+        }
+            
+        void set_age(int a)
+        {
+            age=a;
+        }
+            
+        std::string const& get_name()const
+        {
+            return name;
+        }
+            
+        int get_age()const
+        {
+            return age;
+        }
+    };
+}
+
+BOOST_FUSION_ADAPT_ADT(
+    demo::employee,
+    (std::string const&, std::string const&, obj.get_name(), obj.set_name(val))
+    (int, int, obj.get_age(), obj.set_age(val)))
+
+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;
+
+
+ + See also +
+

+ adt_attribute_proxy +

+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/fusion/adapted/adapt_assoc.html b/doc/html/fusion/adapted/adapt_assoc.html index 015f20d0..7ca4c6b6 100644 --- a/doc/html/fusion/adapted/adapt_assoc.html +++ b/doc/html/fusion/adapted/adapt_assoc.html @@ -27,7 +27,7 @@ BOOST_FUSION_ADAPT_ASSOC_STRUCT
- + Description

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

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

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

- + Header
#include <boost/fusion/adapted/struct/adapt_assoc_struct.hpp>
 #include <boost/fusion/include/adapt_assoc_struct.hpp>
 
- + Example
namespace demo
diff --git a/doc/html/fusion/adapted/adapt_assoc_struct_named.html b/doc/html/fusion/adapted/adapt_assoc_struct_named.html
index 823db0a6..610c18a6 100644
--- a/doc/html/fusion/adapted/adapt_assoc_struct_named.html
+++ b/doc/html/fusion/adapted/adapt_assoc_struct_named.html
@@ -7,7 +7,7 @@
 
 
 
-
+
 
 
 
@@ -20,14 +20,14 @@
 

-PrevUpHomeNext +PrevUpHomeNext
- + 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
@@ -127,7 +127,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html b/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html index 0bae9d42..1ce1bef0 100644 --- a/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html +++ b/doc/html/fusion/adapted/adapt_assoc_tpl_struct.html @@ -27,7 +27,7 @@ BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT
- + Description

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

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

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

- + Header
#include <boost/fusion/adapted/struct/adapt_assoc_struct.hpp>
 #include <boost/fusion/include/adapt_assoc_struct.hpp>
 
- + Example
namespace demo
diff --git a/doc/html/fusion/adapted/adapt_struct.html b/doc/html/fusion/adapted/adapt_struct.html
index ce17ac76..fb76d289 100644
--- a/doc/html/fusion/adapted/adapt_struct.html
+++ b/doc/html/fusion/adapted/adapt_struct.html
@@ -27,7 +27,7 @@
 BOOST_FUSION_ADAPT_STRUCT
 
 
- + Description

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

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

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

- + Header
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
 #include <boost/fusion/include/adapt_struct.hpp>
 
- + Example
namespace demo
diff --git a/doc/html/fusion/adapted/adapt_struct_named.html b/doc/html/fusion/adapted/adapt_struct_named.html
index 1aff279a..545a3297 100644
--- a/doc/html/fusion/adapted/adapt_struct_named.html
+++ b/doc/html/fusion/adapted/adapt_struct_named.html
@@ -27,7 +27,7 @@
 BOOST_FUSION_ADAPT_STRUCT_NAMED
 
 
- + Description

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

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

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

- + Header
#include <boost/fusion/adapted/struct/adapt_struct_named.hpp>
 #include <boost/fusion/include/adapt_struct_named.hpp>
 
- + Example
namespace demo
diff --git a/doc/html/fusion/adapted/adapt_tpl_struct.html b/doc/html/fusion/adapted/adapt_tpl_struct.html
index 4cab36b1..206e0734 100644
--- a/doc/html/fusion/adapted/adapt_tpl_struct.html
+++ b/doc/html/fusion/adapted/adapt_tpl_struct.html
@@ -27,7 +27,7 @@
 BOOST_FUSION_ADAPT_TPL_STRUCT
 
 
- + Description

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

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

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

- + Header
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
 #include <boost/fusion/include/adapt_struct.hpp>
 
- + Example
namespace demo
diff --git a/doc/html/fusion/adapted/array.html b/doc/html/fusion/adapted/array.html
index 4dce6c87..202db576 100644
--- a/doc/html/fusion/adapted/array.html
+++ b/doc/html/fusion/adapted/array.html
@@ -32,14 +32,14 @@
         Access Sequence.
       

- + Header
#include <boost/fusion/adapted/array.hpp>
 #include <boost/fusion/include/array.hpp>
 
- + Model of
  • @@ -47,7 +47,7 @@ Access Sequence
- + 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 d975945f..3a0fd815 100644
--- a/doc/html/fusion/adapted/boost__array.html
+++ b/doc/html/fusion/adapted/boost__array.html
@@ -33,14 +33,14 @@
         Access Sequence.
       

- + Header
#include <boost/fusion/adapted/boost_array.hpp>
 #include <boost/fusion/include/boost_array.hpp>
 
- + Model of
  • @@ -48,7 +48,7 @@ Access Sequence
- + Example
boost::array<int,3> arr = {{1,2,3}};
@@ -60,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 eeabbe7d..44402db7 100644 --- a/doc/html/fusion/adapted/boost__tuple.html +++ b/doc/html/fusion/adapted/boost__tuple.html @@ -33,21 +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");
@@ -55,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 b1f2a613..8735ec64 100644 --- a/doc/html/fusion/adapted/define_assoc_struct.html +++ b/doc/html/fusion/adapted/define_assoc_struct.html @@ -27,7 +27,7 @@ BOOST_FUSION_DEFINE_ASSOC_STRUCT

- + Description

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

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

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

- + Synopsis
BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT(
@@ -73,7 +73,7 @@
 
 
 
- + Expression Semantics
@@ -187,14 +187,14 @@
- + Header
#include <boost/fusion/adapted/struct/define_assoc_struct.hpp>
 #include <boost/fusion/include/define_assoc_struct.hpp>
 
- + Example
namespace keys
diff --git a/doc/html/fusion/adapted/define_struct.html b/doc/html/fusion/adapted/define_struct.html
index 0e703808..1229f294 100644
--- a/doc/html/fusion/adapted/define_struct.html
+++ b/doc/html/fusion/adapted/define_struct.html
@@ -6,7 +6,7 @@
 
 
 
-
+
 
 
 
@@ -20,16 +20,12 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
-
- - Description -

BOOST_FUSION_DEFINE_STRUCT is a macro that can be used to generate all the necessary boilerplate to define and adapt an arbitrary struct as a model @@ -37,7 +33,7 @@ Access Sequence.

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

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

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

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

diff --git a/doc/html/fusion/adapted/std__pair.html b/doc/html/fusion/adapted/std__pair.html index e0a23725..1dc9b56d 100644 --- a/doc/html/fusion/adapted/std__pair.html +++ b/doc/html/fusion/adapted/std__pair.html @@ -33,14 +33,14 @@ Access Sequence.

- + Header
#include <boost/fusion/adapted/std_pair.hpp>
 #include <boost/fusion/include/std_pair.hpp>
 
- + Model of
  • @@ -48,7 +48,7 @@ Access Sequence
- + Example
std::pair<int, std::string> p(123, "Hola!!!");
@@ -57,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 4a775c50..fcc98eaa 100644 --- a/doc/html/fusion/algorithm.html +++ b/doc/html/fusion/algorithm.html @@ -44,7 +44,7 @@

- + Lazy Evaluation

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

- + Sequence Extension

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

- + Header

#include <boost/fusion/algorithm.hpp>
diff --git a/doc/html/fusion/algorithm/iteration.html b/doc/html/fusion/algorithm/iteration.html
index a5a1dc0d..5dfc7bed 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 dbe77838..caf9d0f2 100644
--- a/doc/html/fusion/algorithm/iteration/functions/accumulate.html
+++ b/doc/html/fusion/algorithm/iteration/functions/accumulate.html
@@ -27,7 +27,7 @@
 accumulate
 
 
- + Description

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

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

Table 1.41. Parameters

+

Table 1.41. Parameters

@@ -147,7 +147,7 @@

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/iteration/accumulate.hpp>
 #include <boost/fusion/include/accumulate.hpp>
 
- + Example
struct make_string
diff --git a/doc/html/fusion/algorithm/iteration/functions/fold.html b/doc/html/fusion/algorithm/iteration/functions/fold.html
index 609ad429..31f5eccc 100644
--- a/doc/html/fusion/algorithm/iteration/functions/fold.html
+++ b/doc/html/fusion/algorithm/iteration/functions/fold.html
@@ -27,7 +27,7 @@
 fold
 
 
- + Description

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

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

Table 1.37. Parameters

+

Table 1.37. Parameters

@@ -147,7 +147,7 @@

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/iteration/fold.hpp>
 #include <boost/fusion/include/fold.hpp>
 
- + Example
struct make_string
diff --git a/doc/html/fusion/algorithm/iteration/functions/for_each.html b/doc/html/fusion/algorithm/iteration/functions/for_each.html
index ecbaf016..3022de99 100644
--- a/doc/html/fusion/algorithm/iteration/functions/for_each.html
+++ b/doc/html/fusion/algorithm/iteration/functions/for_each.html
@@ -27,14 +27,14 @@
 for_each
 
 
- + Description

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

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

Table 1.42. Parameters

+

Table 1.42. Parameters

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

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/iteration/for_each.hpp>
 #include <boost/fusion/include/for_each.hpp>
 
- + Example
struct increment
diff --git a/doc/html/fusion/algorithm/iteration/functions/iter_fold.html b/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
index 1a67c109..b11b97b1 100644
--- a/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
+++ b/doc/html/fusion/algorithm/iteration/functions/iter_fold.html
@@ -27,7 +27,7 @@
 iter_fold
 
 
- + Description

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

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

Table 1.39. Parameters

+

Table 1.39. Parameters

@@ -147,7 +147,7 @@

- + Expression Semantics
@@ -162,21 +162,21 @@ are consecutive iterators on the elements of seq.

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/iteration/iter_fold.hpp>
 #include <boost/fusion/include/iter_fold.hpp>
 
- + Example
struct make_string
diff --git a/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html b/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html
index db26bf39..2578529d 100644
--- a/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html
+++ b/doc/html/fusion/algorithm/iteration/functions/reverse_fold.html
@@ -27,7 +27,7 @@
 reverse_fold
 
 
- + Description

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

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

Table 1.38. Parameters

+

Table 1.38. Parameters

@@ -147,7 +147,7 @@

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/iteration/reverse_fold.hpp>
 #include <boost/fusion/include/reverse_fold.hpp>
 
- + Example
struct make_string
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 ee756e0b..9cc9810d 100644
--- a/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html
+++ b/doc/html/fusion/algorithm/iteration/functions/reverse_iter_fold.html
@@ -27,7 +27,7 @@
 reverse_iter_fold
 
 
- + Description

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

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

Table 1.40. Parameters

+

Table 1.40. Parameters

@@ -147,7 +147,7 @@

- + Expression Semantics
@@ -162,21 +162,21 @@ are consecutive iterators on the elements of seq.

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/iteration/reverse_iter_fold.hpp>
 #include <boost/fusion/include/reverse_iter_fold.hpp>
 
- + Example
struct make_string
diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html
index 98e34c06..485a7adf 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html
@@ -27,14 +27,14 @@
 accumulate
 
 
- + Description

Returns the result type of accumulate.

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

Table 1.47. Parameters

+

Table 1.47. Parameters

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

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/iteration/accumulate.hpp>
diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html
index a6bc5d6d..0c9c8c8e 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/fold.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/fold.html
@@ -27,14 +27,14 @@
 fold
 
 
- + Description

Returns the result type of fold.

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

Table 1.43. Parameters

+

Table 1.43. Parameters

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

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/iteration/fold.hpp>
diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html b/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html
index daa9cf7e..3e5d4b86 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/for_each.html
@@ -31,11 +31,11 @@
             return type of for_each is always void.
           

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

Table 1.48. Parameters

+

Table 1.48. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/iteration/for_each.hpp>
diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
index bf76c067..50084687 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/iter_fold.html
@@ -27,14 +27,14 @@
 iter_fold
 
 
- + Description

Returns the result type of iter_fold.

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

Table 1.45. Parameters

+

Table 1.45. Parameters

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

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/iteration/iter_fold.hpp>
diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html
index c2df3e49..b37643b4 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_fold.html
@@ -27,14 +27,14 @@
 reverse_fold
 
 
- + Description

Returns the result type of reverse_fold.

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

Table 1.44. Parameters

+

Table 1.44. Parameters

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

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/iteration/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 321100e6..1df03b79 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/reverse_iter_fold.html
@@ -27,14 +27,14 @@
 reverse_iter_fold
 
 
- + Description

Returns the result type of reverse_iter_fold.

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

Table 1.46. Parameters

+

Table 1.46. Parameters

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

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/iteration/reverse_iter_fold.hpp>
diff --git a/doc/html/fusion/algorithm/query.html b/doc/html/fusion/algorithm/query.html
index 198110d9..75adbe43 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 a50edb9e..17f9cd47 100644
--- a/doc/html/fusion/algorithm/query/functions/all.html
+++ b/doc/html/fusion/algorithm/query/functions/all.html
@@ -27,7 +27,7 @@
 all
 
 
- + Description

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

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

Table 1.50. Parameters

+

Table 1.50. Parameters

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

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/query/all.hpp>
 #include <boost/fusion/include/all.hpp>
 
- + Example
struct odd
diff --git a/doc/html/fusion/algorithm/query/functions/any.html b/doc/html/fusion/algorithm/query/functions/any.html
index 039896ae..6687001f 100644
--- a/doc/html/fusion/algorithm/query/functions/any.html
+++ b/doc/html/fusion/algorithm/query/functions/any.html
@@ -27,7 +27,7 @@
 any
 
 
- + Description

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

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

Table 1.49. Parameters

+

Table 1.49. Parameters

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

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/query/any.hpp>
 #include <boost/fusion/include/any.hpp>
 
- + Example
struct odd
diff --git a/doc/html/fusion/algorithm/query/functions/count.html b/doc/html/fusion/algorithm/query/functions/count.html
index f1b8aac7..f4b35f65 100644
--- a/doc/html/fusion/algorithm/query/functions/count.html
+++ b/doc/html/fusion/algorithm/query/functions/count.html
@@ -27,14 +27,14 @@
 count
 
 
- + Description

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

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

Table 1.54. Parameters

+

Table 1.54. Parameters

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

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/query/count.hpp>
 #include <boost/fusion/include/count.hpp>
 
- + Example
const vector<double,int,int> vec(1.0,2,3);
diff --git a/doc/html/fusion/algorithm/query/functions/count_if.html b/doc/html/fusion/algorithm/query/functions/count_if.html
index 027d35f2..1110ac29 100644
--- a/doc/html/fusion/algorithm/query/functions/count_if.html
+++ b/doc/html/fusion/algorithm/query/functions/count_if.html
@@ -27,7 +27,7 @@
 count_if
 
 
- + Description

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

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

Table 1.55. Parameters

+

Table 1.55. Parameters

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

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/query/count_if.hpp>
 #include <boost/fusion/include/count_if.hpp>
 
- + Example
const vector<int,int,int> vec(1,2,3);
diff --git a/doc/html/fusion/algorithm/query/functions/find.html b/doc/html/fusion/algorithm/query/functions/find.html
index ce13fc23..89f68562 100644
--- a/doc/html/fusion/algorithm/query/functions/find.html
+++ b/doc/html/fusion/algorithm/query/functions/find.html
@@ -27,14 +27,14 @@
 find
 
 
- + Description

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

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

Table 1.52. Parameters

+

Table 1.52. Parameters

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

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/query/find.hpp>
 #include <boost/fusion/include/find.hpp>
 
- + Example
const vector<char,int> vec('a','0');
diff --git a/doc/html/fusion/algorithm/query/functions/find_if.html b/doc/html/fusion/algorithm/query/functions/find_if.html
index c076fd83..f06dc558 100644
--- a/doc/html/fusion/algorithm/query/functions/find_if.html
+++ b/doc/html/fusion/algorithm/query/functions/find_if.html
@@ -32,11 +32,11 @@
             Lambda Expression evaluates to boost::mpl::true_.
           

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

Table 1.53. Parameters

+

Table 1.53. Parameters

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

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

- + Complexity

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

- + Example
const vector<double,int> vec(1.0,2);
diff --git a/doc/html/fusion/algorithm/query/functions/none.html b/doc/html/fusion/algorithm/query/functions/none.html
index 0f69a952..780aa153 100644
--- a/doc/html/fusion/algorithm/query/functions/none.html
+++ b/doc/html/fusion/algorithm/query/functions/none.html
@@ -27,7 +27,7 @@
 none
 
 
- + Description

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

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

Table 1.51. Parameters

+

Table 1.51. Parameters

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

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/query/none.hpp>
 #include <boost/fusion/include/none.hpp>
 
- + Example
struct odd
diff --git a/doc/html/fusion/algorithm/query/metafunctions/all.html b/doc/html/fusion/algorithm/query/metafunctions/all.html
index 813359d4..b1c6f603 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/all.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/all.html
@@ -27,14 +27,14 @@
 all
 
 
- + Description

A metafunction returning the result type of all.

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

Table 1.57. Parameters

+

Table 1.57. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/query/all.hpp>
diff --git a/doc/html/fusion/algorithm/query/metafunctions/any.html b/doc/html/fusion/algorithm/query/metafunctions/any.html
index 227892fd..a9fa3197 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/any.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/any.html
@@ -27,14 +27,14 @@
 any
 
 
- + Description

A metafunction returning the result type of any.

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

Table 1.56. Parameters

+

Table 1.56. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/query/any.hpp>
diff --git a/doc/html/fusion/algorithm/query/metafunctions/count.html b/doc/html/fusion/algorithm/query/metafunctions/count.html
index 8efe122e..6e3f59a8 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/count.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/count.html
@@ -27,7 +27,7 @@
 count
 
 
- + Description

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

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

Table 1.61. Parameters

+

Table 1.61. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/query/count.hpp>
diff --git a/doc/html/fusion/algorithm/query/metafunctions/count_if.html b/doc/html/fusion/algorithm/query/metafunctions/count_if.html
index 9ab45a72..22287c32 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/count_if.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/count_if.html
@@ -27,7 +27,7 @@
 count_if
 
 
- + Description

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

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

Table 1.62. Parameters

+

Table 1.62. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/query/count_if.hpp>
diff --git a/doc/html/fusion/algorithm/query/metafunctions/find.html b/doc/html/fusion/algorithm/query/metafunctions/find.html
index 7f90edc3..a41bafcd 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/find.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/find.html
@@ -27,7 +27,7 @@
 find
 
 
- + Description

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

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

Table 1.59. Parameters

+

Table 1.59. Parameters

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

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/query/find.hpp>
diff --git a/doc/html/fusion/algorithm/query/metafunctions/find_if.html b/doc/html/fusion/algorithm/query/metafunctions/find_if.html
index d7abb9ed..19d87e05 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/find_if.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/find_if.html
@@ -27,7 +27,7 @@
 find_if
 
 
- + Description

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

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

Table 1.60. Parameters

+

Table 1.60. Parameters

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

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/query/find_if.hpp>
diff --git a/doc/html/fusion/algorithm/query/metafunctions/none.html b/doc/html/fusion/algorithm/query/metafunctions/none.html
index dda1ce0f..5df0554b 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/none.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/none.html
@@ -27,14 +27,14 @@
 none
 
 
- + Description

A metafunction returning the result type of none.

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

Table 1.58. Parameters

+

Table 1.58. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/query/none.hpp>
diff --git a/doc/html/fusion/algorithm/transformation.html b/doc/html/fusion/algorithm/transformation.html
index 9325d8d9..c8335e5f 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 b76f040d..417bc36f 100644
--- a/doc/html/fusion/algorithm/transformation/functions/clear.html
+++ b/doc/html/fusion/algorithm/transformation/functions/clear.html
@@ -27,14 +27,14 @@
 clear
 
 
- + Description

clear returns an empty sequence.

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

Table 1.72. Parameters

+

Table 1.72. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/clear.hpp>
 #include <boost/fusion/include/clear.hpp>
 
- + Example
assert(clear(make_vector(1,2,3)) == make_vector());
diff --git a/doc/html/fusion/algorithm/transformation/functions/erase.html b/doc/html/fusion/algorithm/transformation/functions/erase.html
index a312371c..ecb1278f 100644
--- a/doc/html/fusion/algorithm/transformation/functions/erase.html
+++ b/doc/html/fusion/algorithm/transformation/functions/erase.html
@@ -27,7 +27,7 @@
 erase
 
 
- + Description

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

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

Table 1.73. Parameters

+

Table 1.73. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/erase.hpp>
 #include <boost/fusion/include/erase.hpp>
 
- + Example
const vector<int, double, char> vec(1, 2.0, 'c');
diff --git a/doc/html/fusion/algorithm/transformation/functions/erase_key.html b/doc/html/fusion/algorithm/transformation/functions/erase_key.html
index 909a2e9e..8c1e1a40 100644
--- a/doc/html/fusion/algorithm/transformation/functions/erase_key.html
+++ b/doc/html/fusion/algorithm/transformation/functions/erase_key.html
@@ -27,7 +27,7 @@
 erase_key
 
 
- + Description

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

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

Table 1.74. Parameters

+

Table 1.74. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/erase_key.hpp>
 #include <boost/fusion/include/erase_key.hpp>
 
- + Example
assert(erase_key<int>(make_map<int, long>('a', 'b')) == make_map<long>('b'));
diff --git a/doc/html/fusion/algorithm/transformation/functions/filter.html b/doc/html/fusion/algorithm/transformation/functions/filter.html
index 211f135d..4367a474 100644
--- a/doc/html/fusion/algorithm/transformation/functions/filter.html
+++ b/doc/html/fusion/algorithm/transformation/functions/filter.html
@@ -27,7 +27,7 @@
 filter
 
 
- + Description

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

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

Table 1.63. Parameters

+

Table 1.63. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/filter.hpp>
 #include <boost/fusion/include/filter.hpp>
 
- + Example
const vector<int,int,long,long> vec(1,2,3,4);
diff --git a/doc/html/fusion/algorithm/transformation/functions/filter_if.html b/doc/html/fusion/algorithm/transformation/functions/filter_if.html
index 8723610f..d3a0f2a4 100644
--- a/doc/html/fusion/algorithm/transformation/functions/filter_if.html
+++ b/doc/html/fusion/algorithm/transformation/functions/filter_if.html
@@ -27,7 +27,7 @@
 filter_if
 
 
- + Description

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

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

Table 1.64. Parameters

+

Table 1.64. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/filter_if.hpp>
 #include <boost/fusion/include/filter_if.hpp>
 
- + Example
const vector<int,int,double,double> vec(1,2,3.0,4.0);
diff --git a/doc/html/fusion/algorithm/transformation/functions/insert.html b/doc/html/fusion/algorithm/transformation/functions/insert.html
index 43116335..792d480d 100644
--- a/doc/html/fusion/algorithm/transformation/functions/insert.html
+++ b/doc/html/fusion/algorithm/transformation/functions/insert.html
@@ -27,7 +27,7 @@
 insert
 
 
- + Description

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

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

Table 1.75. Parameters

+

Table 1.75. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/insert.hpp>
 #include <boost/fusion/include/insert.hpp>
 
- + Example
const vector<int,int> vec(1,2);
diff --git a/doc/html/fusion/algorithm/transformation/functions/insert_range.html b/doc/html/fusion/algorithm/transformation/functions/insert_range.html
index 28920878..96660f45 100644
--- a/doc/html/fusion/algorithm/transformation/functions/insert_range.html
+++ b/doc/html/fusion/algorithm/transformation/functions/insert_range.html
@@ -27,7 +27,7 @@
 insert_range
 
 
- + Description

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

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

Table 1.76. Parameters

+

Table 1.76. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/insert_range.hpp>
 #include <boost/fusion/include/insert_range.hpp>
 
- + Example
const vector<int,int> vec(1,2);
diff --git a/doc/html/fusion/algorithm/transformation/functions/join.html b/doc/html/fusion/algorithm/transformation/functions/join.html
index 074c3c66..beebb125 100644
--- a/doc/html/fusion/algorithm/transformation/functions/join.html
+++ b/doc/html/fusion/algorithm/transformation/functions/join.html
@@ -27,7 +27,7 @@
 join
 
 
- + Description

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

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

Table 1.77. Parameters

+

Table 1.77. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/join.hpp>
 #include <boost/fusion/include/join.hpp>
 
- + Example
vector<int,char> v1(1, 'a');
diff --git a/doc/html/fusion/algorithm/transformation/functions/pop_back.html b/doc/html/fusion/algorithm/transformation/functions/pop_back.html
index bf9a9f8f..b14f884c 100644
--- a/doc/html/fusion/algorithm/transformation/functions/pop_back.html
+++ b/doc/html/fusion/algorithm/transformation/functions/pop_back.html
@@ -27,14 +27,14 @@
 pop_back
 
 
- + Description

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

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

Table 1.79. Parameters

+

Table 1.79. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/pop_back.hpp>
 #include <boost/fusion/include/pop_back.hpp>
 
- + Example
assert(___pop_back__(make_vector(1,2,3)) == make_vector(1,2));
diff --git a/doc/html/fusion/algorithm/transformation/functions/pop_front.html b/doc/html/fusion/algorithm/transformation/functions/pop_front.html
index 1cbc7971..08b03f33 100644
--- a/doc/html/fusion/algorithm/transformation/functions/pop_front.html
+++ b/doc/html/fusion/algorithm/transformation/functions/pop_front.html
@@ -27,14 +27,14 @@
 pop_front
 
 
- + Description

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

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

Table 1.80. Parameters

+

Table 1.80. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/pop_front.hpp>
 #include <boost/fusion/include/pop_front.hpp>
 
- + Example
assert(pop_front(make_vector(1,2,3)) == make_vector(2,3));
diff --git a/doc/html/fusion/algorithm/transformation/functions/push_back.html b/doc/html/fusion/algorithm/transformation/functions/push_back.html
index 98b9f363..dc02cea0 100644
--- a/doc/html/fusion/algorithm/transformation/functions/push_back.html
+++ b/doc/html/fusion/algorithm/transformation/functions/push_back.html
@@ -27,14 +27,14 @@
 push_back
 
 
- + Description

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

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

Table 1.81. Parameters

+

Table 1.81. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/push_back.hpp>
 #include <boost/fusion/include/push_back.hpp>
 
- + Example
assert(push_back(make_vector(1,2,3),4) == make_vector(1,2,3,4));
diff --git a/doc/html/fusion/algorithm/transformation/functions/push_front.html b/doc/html/fusion/algorithm/transformation/functions/push_front.html
index 0c6f5cb9..a81b8a4e 100644
--- a/doc/html/fusion/algorithm/transformation/functions/push_front.html
+++ b/doc/html/fusion/algorithm/transformation/functions/push_front.html
@@ -27,14 +27,14 @@
 push_front
 
 
- + Description

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

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

Table 1.82. Parameters

+

Table 1.82. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/push_front.hpp>
 #include <boost/fusion/include/push_front.hpp>
 
- + Example
assert(push_front(make_vector(1,2,3),0) == make_vector(0,1,2,3));
diff --git a/doc/html/fusion/algorithm/transformation/functions/remove.html b/doc/html/fusion/algorithm/transformation/functions/remove.html
index b255106c..205f3a1d 100644
--- a/doc/html/fusion/algorithm/transformation/functions/remove.html
+++ b/doc/html/fusion/algorithm/transformation/functions/remove.html
@@ -27,7 +27,7 @@
 remove
 
 
- + Description

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

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

Table 1.69. Parameters

+

Table 1.69. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/remove.hpp>
 #include <boost/fusion/include/remove.hpp>
 
- + Example
const vector<int,double> vec(1,2.0);
diff --git a/doc/html/fusion/algorithm/transformation/functions/remove_if.html b/doc/html/fusion/algorithm/transformation/functions/remove_if.html
index 9f50dcc0..b109837d 100644
--- a/doc/html/fusion/algorithm/transformation/functions/remove_if.html
+++ b/doc/html/fusion/algorithm/transformation/functions/remove_if.html
@@ -27,7 +27,7 @@
 remove_if
 
 
- + Description

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

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

Table 1.70. Parameters

+

Table 1.70. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/remove_if.hpp>
 #include <boost/fusion/include/remove_if.hpp>
 
- + Example
const vector<int,double> vec(1,2.0);
diff --git a/doc/html/fusion/algorithm/transformation/functions/replace.html b/doc/html/fusion/algorithm/transformation/functions/replace.html
index 91e80e04..fdf8cffa 100644
--- a/doc/html/fusion/algorithm/transformation/functions/replace.html
+++ b/doc/html/fusion/algorithm/transformation/functions/replace.html
@@ -27,7 +27,7 @@
 replace
 
 
- + Description

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

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

Table 1.67. Parameters

+

Table 1.67. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/replace.hpp>
 #include <boost/fusion/include/replace.hpp>
 
- + Example
assert(replace(make_vector(1,2), 2, 3) == make_vector(1,3));
diff --git a/doc/html/fusion/algorithm/transformation/functions/replace_if.html b/doc/html/fusion/algorithm/transformation/functions/replace_if.html
index 46f87bc1..84ad4c7b 100644
--- a/doc/html/fusion/algorithm/transformation/functions/replace_if.html
+++ b/doc/html/fusion/algorithm/transformation/functions/replace_if.html
@@ -27,7 +27,7 @@
 replace_if
 
 
- + Description

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

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

Table 1.68. Parameters

+

Table 1.68. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/replace_if.hpp>
 #include <boost/fusion/include/replace_if.hpp>
 
- + Example
struct odd
diff --git a/doc/html/fusion/algorithm/transformation/functions/reverse.html b/doc/html/fusion/algorithm/transformation/functions/reverse.html
index c351f200..912a978c 100644
--- a/doc/html/fusion/algorithm/transformation/functions/reverse.html
+++ b/doc/html/fusion/algorithm/transformation/functions/reverse.html
@@ -27,14 +27,14 @@
 reverse
 
 
- + Description

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

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

Table 1.71. Parameters

+

Table 1.71. Parameters

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

- + Expression Semantics
@@ -120,21 +120,21 @@ in reverse order.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/reverse.hpp>
 #include <boost/fusion/include/reverse.hpp>
 
- + Example
assert(reverse(make_vector(1,2,3)) == make_vector(3,2,1));
diff --git a/doc/html/fusion/algorithm/transformation/functions/transform.html b/doc/html/fusion/algorithm/transformation/functions/transform.html
index 05284e65..151246b2 100644
--- a/doc/html/fusion/algorithm/transformation/functions/transform.html
+++ b/doc/html/fusion/algorithm/transformation/functions/transform.html
@@ -27,7 +27,7 @@
 transform
 
 
- + Description

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

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

Table 1.65. Parameters

+

Table 1.65. Parameters

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

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

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

Table 1.66. Parameters

+

Table 1.66. Parameters

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/transform.hpp>
 #include <boost/fusion/include/transform.hpp>
 
- + Example
struct triple
diff --git a/doc/html/fusion/algorithm/transformation/functions/zip.html b/doc/html/fusion/algorithm/transformation/functions/zip.html
index 222af4df..954d9edf 100644
--- a/doc/html/fusion/algorithm/transformation/functions/zip.html
+++ b/doc/html/fusion/algorithm/transformation/functions/zip.html
@@ -27,7 +27,7 @@
 zip
 
 
- + Description

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

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

Table 1.78. Parameters

+

Table 1.78. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/zip.hpp>
 #include <boost/fusion/include/zip.hpp>
 
- + Example
vector<int,char> v1(1, 'a');
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/clear.html b/doc/html/fusion/algorithm/transformation/metafunctions/clear.html
index 9c907913..715d2304 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/clear.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/clear.html
@@ -27,7 +27,7 @@
 clear
 
 
- + Description

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

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

Table 1.92. Parameters

+

Table 1.92. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/clear.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/erase.html b/doc/html/fusion/algorithm/transformation/metafunctions/erase.html
index 9f738251..c0bc6699 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/erase.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/erase.html
@@ -31,11 +31,11 @@
             and range delimiting iterator types.
           

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

Table 1.93. Parameters

+

Table 1.93. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/erase.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/erase_key.html b/doc/html/fusion/algorithm/transformation/metafunctions/erase_key.html
index cdb90419..43866eef 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/erase_key.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/erase_key.html
@@ -27,7 +27,7 @@
 erase_key
 
 
- + Description

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

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

Table 1.94. Parameters

+

Table 1.94. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/erase_key.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/filter.html b/doc/html/fusion/algorithm/transformation/metafunctions/filter.html
index bc305030..b5d0698c 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/filter.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/filter.html
@@ -27,7 +27,7 @@
 filter
 
 
- + Description

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

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

Table 1.83. Parameter

+

Table 1.83. Parameter

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/filter.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html b/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html
index 73876b57..3fba6617 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html
@@ -27,7 +27,7 @@
 filter_if
 
 
- + Description

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

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

Table 1.84. Parameter

+

Table 1.84. Parameter

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/filter_if.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/insert.html b/doc/html/fusion/algorithm/transformation/metafunctions/insert.html
index 5ab9c731..17b1fa97 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/insert.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/insert.html
@@ -27,7 +27,7 @@
 insert
 
 
- + Description

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

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

Table 1.95. Parameters

+

Table 1.95. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/insert.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/insert_range.html b/doc/html/fusion/algorithm/transformation/metafunctions/insert_range.html
index 41ee3357..3efcea7c 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/insert_range.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/insert_range.html
@@ -27,7 +27,7 @@
 insert_range
 
 
- + Description

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

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

Table 1.96. Parameters

+

Table 1.96. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/insert_range.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/join.html b/doc/html/fusion/algorithm/transformation/metafunctions/join.html
index 6ac41ff8..06b0ae71 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/join.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/join.html
@@ -27,14 +27,14 @@
 join
 
 
- + Description

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/join.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/pop_back.html b/doc/html/fusion/algorithm/transformation/metafunctions/pop_back.html
index 2b7f04d8..4fa2d31b 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/pop_back.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/pop_back.html
@@ -27,7 +27,7 @@
 pop_back
 
 
- + Description

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

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

Table 1.97. Parameters

+

Table 1.97. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/pop_back.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/pop_front.html b/doc/html/fusion/algorithm/transformation/metafunctions/pop_front.html
index 6fcc81e7..e12bfbef 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/pop_front.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/pop_front.html
@@ -27,7 +27,7 @@
 pop_front
 
 
- + Description

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

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

Table 1.98. Parameters

+

Table 1.98. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/pop_front.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html b/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html
index 0a44319b..b3b97d88 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/push_back.html
@@ -27,7 +27,7 @@
 push_back
 
 
- + Description

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

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

Table 1.99. Parameters

+

Table 1.99. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/push_back.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html b/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html
index c70ea208..da9ca6ce 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/push_front.html
@@ -27,7 +27,7 @@
 push_front
 
 
- + Description

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

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

Table 1.100. Parameters

+

Table 1.100. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/push_front.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/remove.html b/doc/html/fusion/algorithm/transformation/metafunctions/remove.html
index 9b418db3..b938c488 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/remove.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/remove.html
@@ -27,7 +27,7 @@
 remove
 
 
- + Description

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

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

Table 1.89. Parameters

+

Table 1.89. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/remove.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/remove_if.html b/doc/html/fusion/algorithm/transformation/metafunctions/remove_if.html
index 8040ad2d..f97baf83 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/remove_if.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/remove_if.html
@@ -27,7 +27,7 @@
 remove_if
 
 
- + Description

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

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

Table 1.90. Parameters

+

Table 1.90. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/remove_if.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/replace.html b/doc/html/fusion/algorithm/transformation/metafunctions/replace.html
index 5c735409..3c24538f 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/replace.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/replace.html
@@ -27,7 +27,7 @@
 replace
 
 
- + Description

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

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

Table 1.87. Parameters

+

Table 1.87. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/replace.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/replace_if.html b/doc/html/fusion/algorithm/transformation/metafunctions/replace_if.html
index e0765419..a9cd53ce 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/replace_if.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/replace_if.html
@@ -27,7 +27,7 @@
 replace_if
 
 
- + Description

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

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

Table 1.88. Parameters

+

Table 1.88. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/replace_if.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/reverse.html b/doc/html/fusion/algorithm/transformation/metafunctions/reverse.html
index 29388eb5..6cfa4308 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/reverse.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/reverse.html
@@ -27,7 +27,7 @@
 reverse
 
 
- + Description

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

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

Table 1.91. Parameters

+

Table 1.91. Parameters

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

- + Expression Semantics
@@ -123,14 +123,14 @@ elements in the reverse order to Sequence.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/reverse.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/transform.html b/doc/html/fusion/algorithm/transformation/metafunctions/transform.html
index 6a9bfddb..84ee5c5e 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/transform.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/transform.html
@@ -27,7 +27,7 @@
 transform
 
 
- + Description

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

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

Table 1.85. Parameters

+

Table 1.85. Parameters

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

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

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

Table 1.86. Parameters

+

Table 1.86. Parameters

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/transform.hpp>
 #include <boost/fusion/include/transform.hpp>
 
- + Example
struct triple
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/zip.html b/doc/html/fusion/algorithm/transformation/metafunctions/zip.html
index 7a3d342c..e2dc995f 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 0e36666b..4785a7a9 100644
--- a/doc/html/fusion/change_log.html
+++ b/doc/html/fusion/change_log.html
@@ -65,23 +65,22 @@
           Schmidt)
         
 
  • - March 1, 2010: Added BOOST_FUSION_ADAPT_STRUCT_NAMED - and BOOST_FUSION_ADAPT_STRUCT_NAMED_NS + March 1, 2010: Added BOOST_FUSION_ADAPT_STRUCT_NAMED + and BOOST_FUSION_ADAPT_STRUCT_NAMED_NS (Hartmut Kaiser)
  • April 4, 2010: Added array - support, BOOST_FUSION_ADAPT_TPL_STRUCT, - BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT, - BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED - and BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS + support, BOOST_FUSION_ADAPT_TPL_STRUCT, + BOOST_FUSION_ADAPT_ASSOC_TPL_STRUCT, + BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED + and BOOST_FUSION_ADAPT_ASSOC_STRUCT_NAMED_NS (Christopher Schmidt)
  • - April 5, 2010: Added BOOST_FUSION_DEFINE_STRUCT, - BOOST_FUSION_DEFINE_TPL_STRUCT, - BOOST_FUSION_DEFINE_ASSOC_STRUCT - and BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT + April 5, 2010: Added BOOST_FUSION_DEFINE_STRUCT, BOOST_FUSION_DEFINE_TPL_STRUCT, + BOOST_FUSION_DEFINE_ASSOC_STRUCT + and BOOST_FUSION_DEFINE_ASSOC_TPL_STRUCT (Christopher Schmidt)
  • diff --git a/doc/html/fusion/container.html b/doc/html/fusion/container.html index 48a70067..f29adb71 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 f77add57..1817e777 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
  • @@ -117,7 +117,7 @@
    - + Model of
    • @@ -159,7 +159,7 @@
    - + Expression Semantics

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

    - + Example
    cons<int, cons<float> > l(12, cons<float>(5.5f));
    diff --git a/doc/html/fusion/container/conversion.html b/doc/html/fusion/container/conversion.html
    index 2ae18d78..7ef1d26c 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 0f4517c9..57b66f8a 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 25f16e52..b0f26518 100644
    --- a/doc/html/fusion/container/conversion/functions/as_map.html
    +++ b/doc/html/fusion/container/conversion/functions/as_map.html
    @@ -27,14 +27,14 @@
     as_map
     
     
    - + Description

    Convert a fusion sequence to a map.

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

    - + Header
    #include <boost/fusion/container/map/convert.hpp>
     #include <boost/fusion/include/as_map.hpp>
     
    - + Example
    as_map(make_vector(
    diff --git a/doc/html/fusion/container/conversion/functions/as_set.html b/doc/html/fusion/container/conversion/functions/as_set.html
    index 61b7d5dd..8080d25a 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 4872b954..9510ba55 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 24464a0c..4cc2bbc7 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 33cb0d39..9352d6fe 100644
    --- a/doc/html/fusion/container/conversion/metafunctions/as_map.html
    +++ b/doc/html/fusion/container/conversion/metafunctions/as_map.html
    @@ -27,21 +27,21 @@
     as_map
     
     
    - + Description

    Returns the result type of as_map.

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

    - + Header
    #include <boost/fusion/container/map/convert.hpp>
     #include <boost/fusion/include/as_map.hpp>
     
    - + Example
    result_of::as_map<vector<
    diff --git a/doc/html/fusion/container/conversion/metafunctions/as_set.html b/doc/html/fusion/container/conversion/metafunctions/as_set.html
    index 0be22bb4..eea93d29 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 00b609c7..ef5957ab 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 e96dba39..abccfbd5 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 2d3614e3..2ede2f79 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 ca646976..616b3213 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 232a62cf..e936126b 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 7f0a9af8..16d70050 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 42752f89..9f0c2e1b 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 8635ec4c..711fa577 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 89404baf..5c522f69 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 5ddcce7a..1be3bb91 100644
    --- a/doc/html/fusion/container/generation/functions/tiers.html
    +++ b/doc/html/fusion/container/generation/functions/tiers.html
    @@ -54,7 +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 @@ -70,7 +70,7 @@ when calling functions which return sequences.

    - + Ignore

    @@ -84,7 +84,7 @@



    -

    [9] +

    [9] see Boost.Ref for details about ref

    diff --git a/doc/html/fusion/container/generation/functions/vector_tie.html b/doc/html/fusion/container/generation/functions/vector_tie.html index 28c96efd..6bed4862 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 63475712..0af580d3 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 ccef7021..70e990c8 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 286baef3..dc8cc180 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 4244b6e8..0f490f86 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 ca217d8e..73b3ac69 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 01eaa210..26025bb2 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 3bb4078d..a568a98a 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 0f753273..0374e978 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 64bb4774..17d9386d 100644
    --- a/doc/html/fusion/container/list.html
    +++ b/doc/html/fusion/container/list.html
    @@ -27,7 +27,7 @@
     list
     
     
    - + Description

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

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

    @@ -261,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 ac9ade09..0f06613a 100644
    --- a/doc/html/fusion/container/map.html
    +++ b/doc/html/fusion/container/map.html
    @@ -27,7 +27,7 @@
     map
     
     
    - + Description

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

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

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

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

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

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

    @@ -240,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 a2f5fb58..20f2ba0c 100644
    --- a/doc/html/fusion/container/vector.html
    +++ b/doc/html/fusion/container/vector.html
    @@ -27,7 +27,7 @@
     vector
     
     
    - + Description

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

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

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

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

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

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

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

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

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

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

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

    - + Enabling our type as an associative sequence
    @@ -494,7 +494,7 @@ are provided in the example code.

    - + Summary

    diff --git a/doc/html/fusion/extension/iterator_facade.html b/doc/html/fusion/extension/iterator_facade.html index 49319da6..df4a44a8 100644 --- a/doc/html/fusion/extension/iterator_facade.html +++ b/doc/html/fusion/extension/iterator_facade.html @@ -27,7 +27,7 @@ Iterator Facade

    - + Description

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

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

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

    -

    Table 1.103. Parameters

    +

    Table 1.103. Parameters

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

    -

    Table 1.104. Key Expressions

    +

    Table 1.104. Key Expressions

    @@ -439,14 +439,14 @@

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

    diff --git a/doc/html/fusion/extension/sequence_facade.html b/doc/html/fusion/extension/sequence_facade.html index 2dc362ef..11b1ae7b 100644 --- a/doc/html/fusion/extension/sequence_facade.html +++ b/doc/html/fusion/extension/sequence_facade.html @@ -27,7 +27,7 @@ Sequence Facade

    - + Description

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

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

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

    -

    Table 1.101. Parameters

    +

    Table 1.101. Parameters

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

    -

    Table 1.102. Key Expressions

    +

    Table 1.102. Key Expressions

    @@ -244,14 +244,14 @@

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

    diff --git a/doc/html/fusion/functional.html b/doc/html/fusion/functional.html index 9cb0d4f2..6aa02201 100644 --- a/doc/html/fusion/functional.html +++ b/doc/html/fusion/functional.html @@ -63,13 +63,13 @@ through a function object interface.

    - + Header

    #include <boost/fusion/functional.hpp>
     

    - + Fused and unfused forms

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

    - + Calling functions and function objects

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

    - + Making Fusion code callable through a function object interface

    diff --git a/doc/html/fusion/functional/adapters/fused.html b/doc/html/fusion/functional/adapters/fused.html index db1bcef7..6325b63d 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
    @@ -111,7 +111,7 @@
    - + Model of
      @@ -148,7 +148,7 @@
    - + Expression Semantics
    @@ -213,14 +213,14 @@
    - + Example
    fused< std::plus<long> > f;
     assert(f(make_vector(1,2l)) == 3l);
     
    - + See also
      diff --git a/doc/html/fusion/functional/adapters/fused_function_object.html b/doc/html/fusion/functional/adapters/fused_function_object.html index c3cef187..3a82c6b8 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
    @@ -101,7 +101,7 @@
    - + Model of
    @@ -139,7 +139,7 @@
    - + Expression Semantics
    @@ -204,7 +204,7 @@
    - + Example
    template<class SeqOfSeqs, class Func>
    @@ -241,7 +241,7 @@
     }
     
    - + See also
    diff --git a/doc/html/fusion/functional/adapters/fused_procedure.html b/doc/html/fusion/functional/adapters/fused_procedure.html index 54b43a95..754a6b5e 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
    @@ -119,7 +119,7 @@
    - + Model of
    @@ -157,7 +157,7 @@
    - + Expression Semantics
    @@ -222,7 +222,7 @@
    - + Example
    template<class SequenceOfSequences, class Func>
    @@ -242,7 +242,7 @@
     }
     
    - + See also
    diff --git a/doc/html/fusion/functional/adapters/limits.html b/doc/html/fusion/functional/adapters/limits.html index 61939a19..aa91724b 100644 --- a/doc/html/fusion/functional/adapters/limits.html +++ b/doc/html/fusion/functional/adapters/limits.html @@ -27,13 +27,13 @@ Limits
    - + Header
    #include <boost/fusion/functional/adapter/limits.hpp>
     
    - + Macros

    diff --git a/doc/html/fusion/functional/adapters/unfused.html b/doc/html/fusion/functional/adapters/unfused.html index 8760d979..c6f47dd3 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
    @@ -133,7 +133,7 @@
    - + Model of
      @@ -174,7 +174,7 @@
    - + Expression Semantics
    @@ -239,7 +239,7 @@
    - + Example
    struct fused_incrementer
    @@ -266,7 +266,7 @@
     }
     
    - + See also
      diff --git a/doc/html/fusion/functional/adapters/unfused_typed.html b/doc/html/fusion/functional/adapters/unfused_typed.html index ad0cd71c..53d3905b 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
    @@ -139,7 +139,7 @@
    - + Model of
    @@ -186,7 +186,7 @@
    - + Expression Semantics
    @@ -253,7 +253,7 @@
    - + Example
    struct add_assign // applies operator+=
    @@ -321,7 +321,7 @@
     }
     
    - + See also
      diff --git a/doc/html/fusion/functional/concepts/callable.html b/doc/html/fusion/functional/concepts/callable.html index 8050c7b8..d58e9711 100644 --- a/doc/html/fusion/functional/concepts/callable.html +++ b/doc/html/fusion/functional/concepts/callable.html @@ -27,7 +27,7 @@ Callable Object
    - + Description

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

    - + Models
      @@ -51,7 +51,7 @@
    - + Examples
    & a_free_function
    diff --git a/doc/html/fusion/functional/concepts/def_callable.html b/doc/html/fusion/functional/concepts/def_callable.html
    index 1c8b1e7a..846239cc 100644
    --- a/doc/html/fusion/functional/concepts/def_callable.html
    +++ b/doc/html/fusion/functional/concepts/def_callable.html
    @@ -28,7 +28,7 @@
             Object
     
     
    - + Description

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

    - + Refinement of
    @@ -79,7 +79,7 @@
    - + Expression requirements
    @@ -117,7 +117,7 @@
    - + Models
      @@ -130,7 +130,7 @@
    - + Examples
    & a_free_function
    diff --git a/doc/html/fusion/functional/concepts/poly.html b/doc/html/fusion/functional/concepts/poly.html
    index 60ff05ee..9b5b15b3 100644
    --- a/doc/html/fusion/functional/concepts/poly.html
    +++ b/doc/html/fusion/functional/concepts/poly.html
    @@ -28,7 +28,7 @@
             Object
     
     
    - + Description

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

    - + Refinement of
    @@ -79,7 +79,7 @@
    - + Expression requirements
    @@ -128,7 +128,7 @@
    - + Models
      @@ -143,7 +143,7 @@
    - + Examples
    & a_free_function
    diff --git a/doc/html/fusion/functional/concepts/reg_callable.html b/doc/html/fusion/functional/concepts/reg_callable.html
    index b329cd58..b77988b3 100644
    --- a/doc/html/fusion/functional/concepts/reg_callable.html
    +++ b/doc/html/fusion/functional/concepts/reg_callable.html
    @@ -28,7 +28,7 @@
             Object
     
     
    - + Description

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

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

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

    - + Synopsis
    template <typename F>
    @@ -44,7 +44,7 @@
     make_fused(F const & f);
     
    - + Parameters
    @@ -90,7 +90,7 @@
    - + Expression Semantics
    @@ -103,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; }
    @@ -125,7 +125,7 @@
     }
     
    - + See also
    diff --git a/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html b/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html index a26755ab..63348e89 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html @@ -27,7 +27,7 @@ make_fused_function_object
    - + Description

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

    - + Synopsis
    template <typename F>
    @@ -45,7 +45,7 @@
     make_fused_function_object(F const & f);
     
    - + Parameters
    @@ -91,7 +91,7 @@
    - + Expression Semantics
    @@ -105,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
    @@ -140,7 +140,7 @@
     }
     
    - + See also
    diff --git a/doc/html/fusion/functional/generation/functions/mk_fused_proc.html b/doc/html/fusion/functional/generation/functions/mk_fused_proc.html index 00492065..13a1cd98 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_proc.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_proc.html @@ -27,7 +27,7 @@ make_fused_procedure
    - + Description

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

    - + Synopsis
    template <typename F>
    @@ -45,7 +45,7 @@
     make_fused_procedure(F const & f);
     
    - + Parameters
    @@ -91,7 +91,7 @@
    - + Expression Semantics
    @@ -105,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);
    @@ -121,7 +121,7 @@
     assert(front(v) == 0);
     
    - + See also
    diff --git a/doc/html/fusion/functional/generation/functions/mk_unfused.html b/doc/html/fusion/functional/generation/functions/mk_unfused.html index 77680f0b..7e527ee1 100644 --- a/doc/html/fusion/functional/generation/functions/mk_unfused.html +++ b/doc/html/fusion/functional/generation/functions/mk_unfused.html @@ -27,7 +27,7 @@ make_unfused
    - + Description

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

    - + Synopsis
    template <typename F>
    @@ -45,7 +45,7 @@
     make_unfused(F const & f);
     
    - + Parameters
    @@ -91,7 +91,7 @@
    - + Expression Semantics
    @@ -104,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
    @@ -137,7 +137,7 @@
     }
     
    - + See also
    diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html index 08019035..0258a912 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html @@ -27,21 +27,21 @@ make_fused
    - + Description

    Returns the result type of make_fused.

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

    Returns the result type of make_fused_function_object.

    - + Header
    #include <boost/fusion/functional/generation/make_fused_function_object.hpp>
     #include <boost/fusion/include/make_fused_function_object.hpp>
     
    - + Synopsis
    namespace result_of
    @@ -54,7 +54,7 @@
     }
     
    - + See also
    diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html b/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html index a1addcdc..d9209325 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html @@ -27,21 +27,21 @@ make_fused_procedure
    - + Description

    Returns the result type of make_fused_procedure.

    - + Header
    #include <boost/fusion/functional/generation/make_fused_procedure.hpp>
     #include <boost/fusion/include/make_fused_procedure.hpp>
     
    - + Synopsis
    namespace result_of
    @@ -54,7 +54,7 @@
     }
     
    - + See also
    diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html b/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html index 66985cce..0b8e9cc8 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html @@ -27,21 +27,21 @@ make_unfused
    - + Description

    Returns the result type of make_unfused.

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

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

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

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

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

    - + Synopsis
    template<
    @@ -60,7 +60,7 @@
     invoke_function_object(Function f, Sequence const & s);
     
    - + Parameters
    @@ -126,7 +126,7 @@
    - + Expression Semantics
    @@ -142,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
    @@ -174,7 +174,7 @@
     }
     
    - + See also
    diff --git a/doc/html/fusion/functional/invocation/functions/invoke_proc.html b/doc/html/fusion/functional/invocation/functions/invoke_proc.html index e3a54fc2..44646555 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/functions/invoke_proc.html @@ -27,7 +27,7 @@ invoke_procedure
    - + Description

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

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

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

    diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke.html b/doc/html/fusion/functional/invocation/metafunctions/invoke.html index 35c40459..e025634b 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke.html @@ -27,14 +27,14 @@ invoke

    - + Description

    Returns the result type of invoke.

    - + Synopsis
    namespace result_of
    @@ -50,7 +50,7 @@
     }
     
    - + See also
    diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html b/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html index 1439f785..3b40e013 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html @@ -27,14 +27,14 @@ invoke_function_object
    - + Description

    Returns the result type of invoke_function_object.

    - + Synopsis
    namespace result_of
    @@ -50,7 +50,7 @@
     }
     
    - + See also
    diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html b/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html index 4738779a..19f10652 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html @@ -27,14 +27,14 @@ invoke_procedure
    - + Description

    Returns the result type of invoke_procedure.

    - + Synopsis
    namespace result_of
    @@ -50,7 +50,7 @@
     }
     
    - + See also
    diff --git a/doc/html/fusion/introduction.html b/doc/html/fusion/introduction.html index 3b2495e8..4d9c6172 100644 --- a/doc/html/fusion/introduction.html +++ b/doc/html/fusion/introduction.html @@ -116,7 +116,7 @@ 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, + 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 @@ -130,7 +130,7 @@



    -

    [1] +

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

    - + Header

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

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

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

    - + Expression requirements
    @@ -113,7 +113,7 @@
    - + Meta Expressions
    @@ -174,7 +174,7 @@
    - + Models
      diff --git a/doc/html/fusion/iterator/concepts/bidirectional_iterator.html b/doc/html/fusion/iterator/concepts/bidirectional_iterator.html index 7afc5873..cabb368f 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

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

    - + Models
      diff --git a/doc/html/fusion/iterator/concepts/forward_iterator.html b/doc/html/fusion/iterator/concepts/forward_iterator.html index 5bc331b0..94ebe28e 100644 --- a/doc/html/fusion/iterator/concepts/forward_iterator.html +++ b/doc/html/fusion/iterator/concepts/forward_iterator.html @@ -28,7 +28,7 @@ Iterator
    - + Description

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

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

    @@ -505,7 +505,7 @@

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

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

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

    - + Expression requirements
    @@ -175,7 +175,7 @@
    - + Meta Expressions
    @@ -238,7 +238,7 @@
    - + Models
      diff --git a/doc/html/fusion/iterator/functions/advance.html b/doc/html/fusion/iterator/functions/advance.html index b92f109c..5fddca0a 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 323d0940..298fb72c 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 8b589041..51c6dbb5 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 ae855d72..be7aae59 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 491d47be..6346a0e4 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 8881e040..d98497a3 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 985f9851..352986e3 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 bc346fba..0ef54976 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 757ddb53..46799a1a 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 d5b62803..76791702 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 f0c225f8..688f4132 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 cc8a6696..47d0d9c8 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 06269b5b..0b38f846 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 90b676fb..4723c93b 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 a8e7d9cb..be8321bc 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 30cf9449..7258a653 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 630fda5d..174bdd33 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 874cf709..756de4b0 100644
    --- a/doc/html/fusion/iterator/metafunctions/value_of_data.html
    +++ b/doc/html/fusion/iterator/metafunctions/value_of_data.html
    @@ -27,7 +27,7 @@
     value_of_data
     
     
    - + Description

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

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

    Table 1.21. Parameters

    +

    Table 1.21. Parameters

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

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

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

    Compares 2 iterators for equality.

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

    Table 1.10. Parameters

    +

    Table 1.10. Parameters

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

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

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

    Compares 2 iterators for inequality.

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

    Table 1.11. Parameters

    +

    Table 1.11. Parameters

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

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

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

    Dereferences an iterator.

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

    Table 1.9. Parameters

    +

    Table 1.9. Parameters

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

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

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

    - + Recursive Inlined Functions

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

    - + Overloaded Functions

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

    - + Tag Dispatching

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

    - + Extensibility

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

    - + Element Conversion

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

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

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

    - + boost::ref

    @@ -223,9 +223,241 @@ See Boost.Ref for details.

    +

    + + adt_attribute_proxy +

    +

    + To adapt arbitrary data types that do not allow direct access to their members, + but allow indirect access via expressions (such as invocations of get- and + set-methods), fusion's BOOST_FUSION_ADAPT_xxxADTxxx-family + (e.g. BOOST_FUSION_ADAPT_ADT) + may be used. To bypass the restriction of not having actual lvalues that represent + the elements of the fusion sequence, but rather a sequence of paired expressions + that access the elements, the actual return type of fusion's intrinsic sequence + access functions (at, at_c, at_key, deref, and deref_data) is a proxy type, an instance + of adt_attribute_proxy, that + encapsulates these expressions. +

    +

    + adt_attribute_proxy is defined + in the namespace boost::fusion::extension and has three template arguments: +

    +
    namespace boost { namespace fusion { namespace extension
    +{    
    +    template<
    +        typename Type
    +      , int Index
    +      , bool Const
    +    >
    +    struct adt_attribute_proxy;
    +}}}
    +
    +

    + When adapting a class type, adt_attribute_proxy + is specialized for every element of the adapted sequence, with Type being the class type that is adapted, + Index the 0-based indices of + the elements, and Const both + true and false. + The return type of fusion's intrinsic sequence access functions for the Nth + element of an adapted class type type_name + is adt_attribute_proxy<type_name, N, Const>, + with Const being true + for constant instances of type_name + and false for non-constant ones. +

    +
    +

    Notation

    +
    +
    type_name
    +

    + The type to be adapted, with M attributes +

    +
    inst
    +

    + Object of type type_name +

    +
    const_inst
    +

    + Object of type type_name const +

    +
    (attribute_typeN, attribute_const_typeN, + get_exprN, set_exprN)
    +

    + Attribute descriptor of the Nth attribute of type_name as passed to the adaption + macro, 0≤N<M +

    +
    proxy_typeN
    +

    + adt_attribute_proxy<type_name, N, false> with N + being an integral constant, 0≤N<M +

    +
    const_proxy_typeN
    +

    + adt_attribute_proxy<type_name, N, true> with N + being an integral constant, 0≤N<M +

    +
    proxyN
    +

    + Object of type proxy_typeN +

    +
    const_proxyN
    +

    + Object of type const_proxy_typeN +

    +
    +
    +

    + Expression Semantics +

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

    + Expression +

    +
    +

    + Semantics +

    +
    +

    + proxy_type(inst) +

    +
    +

    + Creates an instance of proxy_type + with underlying object inst +

    +
    +

    + const_proxy_type(const_inst) +

    +
    +

    + Creates an instance of proxy_type + with underlying object const_inst +

    +
    +

    + proxy_type::type +

    +
    +

    + Another name for attribute_typeN +

    +
    +

    + const_proxy_type::type +

    +
    +

    + Another name for const_attribute_typeN +

    +
    +

    + proxyN=t +

    +
    +

    + Invokes set_exprN, with + t being an arbitrary + object. set_exprN may access + the variables named obj + of type type_name&, which represent the corresponding + instance of type_name, + and val of an arbitrary + const-qualified reference template type parameter Val, + which represents t. +

    +
    +

    + proxyN.get() +

    +
    +

    + Invokes get_exprN and forwards + its return value. get_exprN + may access the variable named obj + of type type_name& which represents the underlying + instance of type_name. + attribute_typeN may specify + the type that get_exprN denotes + to. +

    +
    +

    + const_proxyN.get() +

    +
    +

    + Invokes get_exprN and forwards + its return value. get_exprN + may access the variable named obj + of type type_name const& + which represents the underlying instance of type_name. + attribute_const_typeN may + specify the type that get_exprN + denotes to. +

    +
    +

    + Additionally, proxy_type and + const_proxy_type are copy constructible, + copy assignable and implicitly convertible to proxy_type::type or + const_proxy_type::type. +

    +
    + + + + + +
    [Tip]Tip

    + To avoid the pitfalls of the proxy type, an arbitrary class type may also + be adapted directly using fusion's intrinsic + extension mechanism. +



    -

    [10] +

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

    - + Layers

    @@ -60,7 +60,7 @@ against.

    - + Directory

      @@ -191,7 +191,7 @@

    - + Example

    @@ -206,11 +206,11 @@

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



    -

    [4] +

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

    diff --git a/doc/html/fusion/preface.html b/doc/html/fusion/preface.html index 74d486c3..2a2beab8 100644 --- a/doc/html/fusion/preface.html +++ b/doc/html/fusion/preface.html @@ -33,7 +33,7 @@ --Niklaus Wirth

    - + Description

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

    - + Motivation

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

    - + How to use this manual

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

    -

    Table 1.1. Icons

    +

    Table 1.1. Icons

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

    - + Support

    diff --git a/doc/html/fusion/quick_start.html b/doc/html/fusion/quick_start.html index a32a60fa..f0d52f2c 100644 --- a/doc/html/fusion/quick_start.html +++ b/doc/html/fusion/quick_start.html @@ -34,13 +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);
    @@ -56,7 +56,7 @@
           Let's see some examples.
         

    - + Print the vector as XML

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

    - + Print only pointers

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

    - + Associative tuples

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

    - + Tip of the Iceberg

    @@ -226,12 +226,12 @@



    -

    [2] +

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

    -

    [3] +

    [3] Unless otherwise noted, components are in namespace boost::fusion. For the sake of simplicity, code in this quick start implies using directives for the fusion components we will be using. diff --git a/doc/html/fusion/sequence.html b/doc/html/fusion/sequence.html index 5a962f02..dc86d1e3 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 2cfed414..da00bdb5 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 4e460b28..b746e7ab 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
    @@ -169,7 +169,7 @@
    - + Result Type Expressions
    @@ -243,7 +243,7 @@

    - + Expression Semantics
    @@ -298,7 +298,7 @@
    - + Models
      diff --git a/doc/html/fusion/sequence/concepts/bidirectional_sequence.html b/doc/html/fusion/sequence/concepts/bidirectional_sequence.html index 257e6db3..5a5e4536 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
    @@ -192,7 +192,7 @@
    - + Result Type Expressions
    @@ -253,7 +253,7 @@
    - + Expression Semantics
    @@ -293,7 +293,7 @@
    - + Models
      diff --git a/doc/html/fusion/sequence/concepts/forward_sequence.html b/doc/html/fusion/sequence/concepts/forward_sequence.html index 7924c59a..a45ea87d 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
    @@ -225,7 +225,7 @@
    - + Result Type Expressions
    @@ -310,7 +310,7 @@
    - + Expression Semantics
    @@ -398,7 +398,7 @@
    - + Invariants

    @@ -425,7 +425,7 @@

    - + Models
      diff --git a/doc/html/fusion/sequence/concepts/random_access_sequence.html b/doc/html/fusion/sequence/concepts/random_access_sequence.html index 07a72e70..0d34dfdc 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
    @@ -199,7 +199,7 @@
    - + Result Type Expressions
    @@ -285,7 +285,7 @@

    - + Expression Semantics
    @@ -325,7 +325,7 @@
    - + Models
      diff --git a/doc/html/fusion/sequence/intrinsic.html b/doc/html/fusion/sequence/intrinsic.html index 4513e96f..99c3c18e 100644 --- a/doc/html/fusion/sequence/intrinsic.html +++ b/doc/html/fusion/sequence/intrinsic.html @@ -36,10 +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>
      @@ -47,7 +47,7 @@
       


      -

      [5] +

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

      diff --git a/doc/html/fusion/sequence/intrinsic/functions/at.html b/doc/html/fusion/sequence/intrinsic/functions/at.html index eef0cf59..c6050edb 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 df159250..ec321bc4 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 277a8947..68343611 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 ef171a74..3be61184 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 225cda8d..8d29f649 100644
    --- a/doc/html/fusion/sequence/intrinsic/functions/begin.html
    +++ b/doc/html/fusion/sequence/intrinsic/functions/begin.html
    @@ -27,14 +27,14 @@
     begin
     
     
    - + Description

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

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

    - + Header
    #include <boost/fusion/sequence/intrinsic/begin.hpp>
     #include <boost/fusion/include/begin.hpp>
     
    - + Example
    vector<int, int, int> v(1, 2, 3);
    diff --git a/doc/html/fusion/sequence/intrinsic/functions/empty.html b/doc/html/fusion/sequence/intrinsic/functions/empty.html
    index d06016ec..25a047a9 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 a5c87e0d..af30c5ee 100644
    --- a/doc/html/fusion/sequence/intrinsic/functions/end.html
    +++ b/doc/html/fusion/sequence/intrinsic/functions/end.html
    @@ -27,14 +27,14 @@
     end
     
     
    - + Description

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

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

    - + Header
    #include <boost/fusion/sequence/intrinsic/end.hpp>
     #include <boost/fusion/include/end.hpp>
     
    - + Example
    vector<int, int, int> v(1, 2, 3);
    diff --git a/doc/html/fusion/sequence/intrinsic/functions/front.html b/doc/html/fusion/sequence/intrinsic/functions/front.html
    index 7c3c40ab..7339b5aa 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 5570d129..a6decd9d 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 f034ec6c..2fc7f716 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 442b0689..57fef1f5 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 da795b41..2ee05019 100644
    --- a/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
    +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
    @@ -27,14 +27,14 @@
     at
     
     
    - + Description

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

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

    Table 1.29. Parameters

    +

    Table 1.29. Parameters

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

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


    -

    [6] +

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

    - + Description

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

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

    Table 1.30. Parameters

    +

    Table 1.30. Parameters

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

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


    -

    [7] +

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

    - + Description

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

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

    Table 1.34. Parameters

    +

    Table 1.34. Parameters

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

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


    -

    [8] +

    [8] result_of::at_key reflects the actual return type of the function at_key. _sequence_s typically return references to its elements via the at_key function. If you want diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/back.html b/doc/html/fusion/sequence/intrinsic/metafunctions/back.html index b52591b8..5e70e557 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 980b70ef..847b298c 100644
    --- a/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html
    +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html
    @@ -27,14 +27,14 @@
     begin
     
     
    - + Description

    Returns the result type of begin.

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

    Table 1.23. Parameters

    +

    Table 1.23. Parameters

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

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

    - + Header
    #include <boost/fusion/sequence/intrinsic/begin.hpp>
     #include <boost/fusion/include/begin.hpp>
     
    - + Example
    typedef vector<int> vec;
    diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html b/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html
    index 35fd6593..1410b4af 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 e58acebd..d1478af9 100644
    --- a/doc/html/fusion/sequence/intrinsic/metafunctions/end.html
    +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/end.html
    @@ -27,14 +27,14 @@
     end
     
     
    - + Description

    Returns the result type of end.

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

    Table 1.24. Parameters

    +

    Table 1.24. Parameters

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

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

    - + Header
    #include <boost/fusion/sequence/intrinsic/end.hpp>
     #include <boost/fusion/include/end.hpp>
     
    - + Example
    typedef vector<int> vec;
    diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/front.html b/doc/html/fusion/sequence/intrinsic/metafunctions/front.html
    index 4022a431..103b137c 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 8fe241a9..a158805d 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 e6c36a31..e7f54405 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 89b7125e..c20f05cc 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 3da1cef5..9d6aca2b 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 1878e1eb..e4f10397 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 4ccdf18f..b7c6f576 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 8b499d6f..1494a5ac 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 7122c8bd..1d42606b 100644
    --- a/doc/html/fusion/sequence/operator/comparison/equal.html
    +++ b/doc/html/fusion/sequence/operator/comparison/equal.html
    @@ -27,14 +27,14 @@
     equal
     
     
    - + Description

    Compare two sequences for equality.

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

    - + Header
    #include <boost/fusion/sequence/comparison/equal_to.hpp>
     #include <boost/fusion/include/equal_to.hpp>
     
    - + Example
    vector<int, char> v1(5, 'a');
    diff --git a/doc/html/fusion/sequence/operator/comparison/greater_than.html b/doc/html/fusion/sequence/operator/comparison/greater_than.html
    index cddb7b50..44162b59 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 013e0e72..abe97c68 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 3a0c83ca..834495d2 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 f1d3fbb2..b1dc6652 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 46deebd6..fdaf0eef 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 85b541ed..64541909 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 423aa69d..18857229 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 cdc07453..571ccd10 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 072df802..293578e0 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 b383ee1c..c5844952 100644
    --- a/doc/html/fusion/support/deduce.html
    +++ b/doc/html/fusion/support/deduce.html
    @@ -27,7 +27,7 @@
     deduce
     
     
    - + Description

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

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

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

    - + Header
    #include <boost/fusion/support/deduce_sequence.hpp>
     #include <boost/fusion/include/deduce_sequence.hpp>
     
    - + Synopsis
    namespace traits
    @@ -58,7 +58,7 @@
     }
     
    - + Example
    template <class Seq>
    @@ -80,7 +80,7 @@
     }
     
    - + See also
    • diff --git a/doc/html/fusion/support/is_sequence.html b/doc/html/fusion/support/is_sequence.html index 9fed8837..7ce9b8c0 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 43a617e2..5bdd34a8 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 4d833011..dd81b657 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 cf9f336b..850cf8a4 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 5e0dd624..7ba0e7e5 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 09a05711..f7ea3f5a 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 2baaf925..13d6ee86 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 42b1c566..8f66800f 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 94afad73..927a53fa 100644 --- a/doc/html/fusion/tuple/class_template_tuple/tuple_creation_functions.html +++ b/doc/html/fusion/tuple/class_template_tuple/tuple_creation_functions.html @@ -28,7 +28,7 @@ creation functions
    - + Description

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

    - + Specification
    template<typename T1, typename T2, ..., typename TN>
    diff --git a/doc/html/fusion/tuple/class_template_tuple/tuple_helper_classes.html b/doc/html/fusion/tuple/class_template_tuple/tuple_helper_classes.html
    index 1dc2d0ef..36888d4f 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 fd16da9e..ded88c2c 100644
    --- a/doc/html/fusion/tuple/pairs.html
    +++ b/doc/html/fusion/tuple/pairs.html
    @@ -27,7 +27,7 @@
     Pairs
     
     
    - + Description

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

    - + Specification
    tuple_size<std::pair<T1, T2> >::value
    diff --git a/doc/html/fusion/view.html b/doc/html/fusion/view.html
    index 0b595059..81f3569b 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 2abdc828..41836c2e 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
    @@ -111,7 +111,7 @@
    - + Model of
      @@ -144,7 +144,7 @@
    - + Expression Semantics

    @@ -214,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 b375b54a..d3743858 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
    @@ -107,7 +107,7 @@
    - + Model of
      @@ -149,7 +149,7 @@
    - + Expression Semantics
    @@ -223,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 0d37dc57..d9dbe6f3 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
    @@ -109,7 +109,7 @@
    - + Model of
      @@ -146,7 +146,7 @@
    - + Expression Semantics

    @@ -218,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 c15184bd..c7a8bc98 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
    @@ -133,7 +133,7 @@
    - + Model of
    • @@ -159,7 +159,7 @@
    - + Expression Semantics

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

    - + Example
    typedef vector<int, char, double> vec;
    diff --git a/doc/html/fusion/view/repetitive_view.html b/doc/html/fusion/view/repetitive_view.html
    index 804e431c..b74ef6f8 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
    @@ -115,7 +115,7 @@
    - + Expression Semantics
    @@ -228,7 +228,7 @@
    - + Result Type Expressions
    @@ -253,7 +253,7 @@
    - + Example
    typedef vector<int, char, double> vec1;
    diff --git a/doc/html/fusion/view/reverse_view.html b/doc/html/fusion/view/reverse_view.html
    index 5665b2ca..e161bb2d 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
    @@ -89,7 +89,7 @@
    - + Model of
      @@ -127,7 +127,7 @@
    - + Expression Semantics
    @@ -199,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 91d5349b..5a1ac4be 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
    @@ -87,7 +87,7 @@
    - + Model of
    • @@ -111,7 +111,7 @@
    - + Expression Semantics

    @@ -182,7 +182,7 @@

    - + Example
    single_view<int> view(3);
    diff --git a/doc/html/fusion/view/transform_view.html b/doc/html/fusion/view/transform_view.html
    index 2f19872d..a7bf65b3 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
    @@ -169,7 +169,7 @@
    - + Model of
    • @@ -224,7 +224,7 @@
    - + Expression Semantics
    @@ -319,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 c66bfd25..f2ad7495 100644
    --- a/doc/html/fusion/view/zip_view.html
    +++ b/doc/html/fusion/view/zip_view.html
    @@ -27,7 +27,7 @@
     zip_view
     
     
    - + Description

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

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

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

    - + Example
    typedef vector<int,int> vec1;
    diff --git a/doc/html/index.html b/doc/html/index.html
    index f4db3640..26bccb80 100644
    --- a/doc/html/index.html
    +++ b/doc/html/index.html
    @@ -34,7 +34,7 @@
     
    - +

    Last revised: August 27, 2010 at 20:23:40 GMT

    Last revised: October 04, 2010 at 20:42:52 GMT


    diff --git a/doc/notes.qbk b/doc/notes.qbk index e26eee6f..24ce5623 100644 --- a/doc/notes.qbk +++ b/doc/notes.qbk @@ -1,5 +1,6 @@ [/============================================================================== Copyright (C) 2001-2007 Joel de Guzman, Dan Marsden, Tobias Schwinger + Copyright (C) 2010 Christopher Schmidt Use, modification and distribution is subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at @@ -149,5 +150,79 @@ For example: See __boost_ref__ for details. +[heading adt_attribute_proxy] + +To adapt arbitrary data types that do not allow direct access to their members, +but allow indirect access via expressions (such as invocations of get- and +set-methods), fusion's [^BOOST\_FUSION\_ADAPT\_['xxx]ADT['xxx]]-family (e.g. +__adapt_adt__) may be used. +To bypass the restriction of not having actual lvalues that +represent the elements of the fusion sequence, but rather a sequence of paired +expressions that access the elements, the actual return type of fusion's +intrinsic sequence access functions (__at__, __at_c__, __at_key__, __deref__, +and __deref_data__) is a proxy type, an instance of +`adt_attribute_proxy`, that encapsulates these expressions. + +`adt_attribute_proxy` is defined in the namespace `boost::fusion::extension` and +has three template arguments: + + namespace boost { namespace fusion { namespace extension + { + template< + typename Type + , int Index + , bool Const + > + struct adt_attribute_proxy; + }}} + +When adapting a class type, `adt_attribute_proxy` is specialized for every +element of the adapted sequence, with `Type` being the class type that is +adapted, `Index` the 0-based indices of the elements, and `Const` both `true` +and `false`. The return type of fusion's intrinsic sequence access functions +for the ['N]th element of an adapted class type `type_name` is +[^adt_attribute_proxy], with [^['Const]] being `true` +for constant instances of `type_name` and `false` for non-constant ones. + +[variablelist Notation + [[`type_name`] + [The type to be adapted, with M attributes]] + [[`inst`] + [Object of type `type_name`]] + [[`const_inst`] + [Object of type `type_name const`]] + [[[^(attribute_type['N], attribute_const_type['N], get_expr['N], set_expr['N])]] + [Attribute descriptor of the ['N]th attribute of `type_name` as passed to the adaption macro, 0\u2264['N]] with ['N] being an integral constant, 0\u2264['N]] with ['N] being an integral constant, 0\u2264['N]::type>::type + remove_const::type>::type #define BOOST_FUSION_ADAPT_ADT_C_BASE( \ TEMPLATE_PARAMS_SEQ,NAME_SEQ,I,ATTRIBUTE,ATTRIBUTE_TUPEL_SIZE) \ @@ -75,8 +75,8 @@ \ explicit \ adt_attribute_proxy( \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const*const o) \ - : obj(o) \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ) const& o) \ + : obj(&o) \ {} \ \ type get() const \ @@ -108,8 +108,8 @@ \ explicit \ adt_attribute_proxy( \ - BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)*const o) \ - : obj(o) \ + BOOST_FUSION_ADAPT_STRUCT_UNPACK_NAME(NAME_SEQ)& o) \ + : obj(&o) \ {} \ \ template \ @@ -173,7 +173,7 @@ static type \ call(Seq& obj) \ { \ - return type(&obj); \ + return type(obj); \ } \ }; \ };