diff --git a/doc/algorithms.qbk b/doc/algorithms.qbk index 43b848ab..44c46073 100644 --- a/doc/algorithms.qbk +++ b/doc/algorithms.qbk @@ -50,7 +50,7 @@ a sequence repeatedly applying an operation to its elements. [section fold] [heading Description] -Repeatedly applies binary __poly_func_obj__ `f` to each element of a sequence and the previous state. +For a sequence `Seq`, initial state, and binary function object or function pointer `f`, fold repeatedly applies binary `f` to each element of `Seq` and the previous state. [heading Synopsis] template< @@ -63,9 +63,9 @@ Repeatedly applies binary __poly_func_obj__ `f` to each element of a sequence an [table Parameters [[Parameter][Requirement][Description]] - [[`seq`][A model of __forward_sequence__,`f(e)` must be a valid expression for each element `e` in `seq`][Operation's argument]] + [[`seq`][A model of __forward_sequence__,`f(e,s)` must be a valid expression for each element `e` in `seq`, and current state `s`][Operation's argument]] [[`initial_state`][Any type][Initial state]] - [[`f`][A model of binary __poly_func_obj__][Operation's argument]] + [[`f`][`__boost_result_of_call__::type` is the return type of `f(e,s)` for each element `e` of type `E` in `seq`, and current state `s` of type `S`][Operation's argument]] ] [heading Expression Semantics] @@ -84,11 +84,7 @@ Linear, exactly `__result_of_size__::value` applications of `f`. [heading Example] struct make_string { - template - struct result - { - typedef std::string type; - }; + typedef std::string result_type; template std::string operator()(const T& t, const std::string& str) const @@ -105,8 +101,7 @@ Linear, exactly `__result_of_size__::value` applications of `f`. [section accumulate] [heading Description] -Repeatedly applies binary __poly_func_obj__ `f` to each element of a sequence and the previous state. -__accumulate__ is equivalent to __fold__. +For a sequence `Seq`, initial state, and binary function object or function pointer `f`, accumulate repeatedly applies binary `f` to each element of `Seq` and the previous state. [heading Synopsis] template< @@ -121,7 +116,7 @@ __accumulate__ is equivalent to __fold__. [[Parameter][Requirement][Description]] [[`seq`][A model of __forward_sequence__, `f(eN ....f(e2,f(e1,initial_state)))` must be a valid expression for each element `e1` to `eN` in `seq`][Operation's argument]] [[`initial_state`][Any type][Initial state]] - [[`f`][A model of binary __poly_func_obj__][Operation's argument]] + [[`f`][`__boost_result_of_call__::type` is the return type of `f(e,s)` for each element `e` of type `E` in `seq`, and current state `s` of type `S`][Operation's argument]] ] [heading Expression Semantics] @@ -140,11 +135,7 @@ Linear, exactly `__result_of_size__::value` applications of `f`. [heading Example] struct make_string { - template - struct result - { - typedef std::string type; - }; + typedef std::string result_type; template std::string operator()(const T& t, const std::string& str) const @@ -229,7 +220,7 @@ Returns the result type of __fold__. [[Parameter] [Requirement] [Description]] [[`Sequence`] [A model of __forward_sequence__] [The sequence to iterate]] [[`State`] [Any type] [The initial state for the first application of `F`]] - [[`F`] [A model of binary __poly_func_obj__] [The operation to be applied on forward traversal]] + [[`F`] [`__boost_result_of_call__::type` is the return type of `f(e,s)` for each element `e` of type `E` in `seq`, and current state `s` of type `S`] [The operation to be applied on forward traversal]] ] [heading Expression Semantics] @@ -238,7 +229,7 @@ Returns the result type of __fold__. [*Return type]: Any type [*Semantics]: Returns the result of applying `fold` to a sequence of type `Sequence`, with an initial state of -type `State` and binary __poly_func_obj__ of type `F`. +type `State` and binary function object or function pointer of type `F`. [heading Complexity] Linear, exactly `__result_of_size__::value` applications of `F`. @@ -267,7 +258,7 @@ Returns the result type of __accumulate__. [[Parameter] [Requirement] [Description]] [[`Sequence`] [A model of __forward_sequence__] [The sequence to iterate]] [[`State`] [Any type] [The initial state for the first application of `F`]] - [[`F`] [A model of binary __poly_func_obj__] [The operation to be applied on forward traversal]] + [[`F`] [`__boost_result_of_call__::type` is the return type of `f(e,s)` for each element `e` of type `E` in `seq`, and current state `s` of type `S`] [The operation to be applied on forward traversal]] ] [heading Expression Semantics] @@ -276,7 +267,7 @@ Returns the result type of __accumulate__. [*Return type]: Any type [*Semantics]: Returns the result of applying `accumulate` to a sequence of type `Sequence`, with an initial state of -type `State` and binary __poly_func_obj__ of type `F`. +type `State` and binary function object or function pointer of type `F`. [heading Complexity] Linear, exactly `__result_of_size__::value` applications of `F`. @@ -997,8 +988,8 @@ Constant. Returns a view which is lazily evaluated. [section transform] [heading Description] -For a sequence `seq` and __poly_func_obj__ `F`, `transform` returns a new sequence -with elements created by applying `F` to each element of `seq`. +For a sequence `seq` and function object or function pointer `f`, `transform` returns a new sequence +with elements created by applying `f(e)` to each element of `e` of `seq`. [heading Unary version synopsis] template< @@ -1011,7 +1002,7 @@ with elements created by applying `F` to each element of `seq`. [table Parameters [[Parameter][Requirement][Description]] [[`seq`][A model of __forward_sequence__][Operation's argument]] - [[`f`][A model of unary __poly_func_obj__ where `f(e)` is a valid expression for each element `e` of `seq`][Transformation function]] + [[`f`][`f(e)` is a valid expression for each element `e` of `seq`. `__boost_result_of_call__::type` is the return type of `f` when called with a value of each element type `E`.][Transformation function]] ] [heading Expression Semantics] @@ -1034,7 +1025,7 @@ with elements created by applying `F` to each element of `seq`. [[Parameter][Requirement][Description]] [[`seq1`][A model of __forward_sequence__][Operation's argument]] [[`seq2`][A model of __forward_sequence__][Operation's argument]] - [[`f`][A model of binary __poly_func_obj__ where `f(e1, e2)` is a valid expression for each pair of elements `e1` and `e2` of `seq1` and `seq2` respectively][Transformation function]] + [[`f`][`f(e1,e2)` is a valid expression for each pair of elements `e1` of `seq1` and `e2` of `seq2`. `__boost_result_of_call__::type` is the return type of `f` when called with elements of type `E1` and `E2`][Transformation function]] ] [*Return type]: A model of __forward_sequence__. @@ -1050,14 +1041,9 @@ Constant. Returns a view which is lazily evaluated. [heading Example] struct triple { - template - struct result - { - typedef T type; - }; + typedef int result_type; - template - T operator()(T t) const + int operator()(int t) const { return t * 3; }; @@ -1774,37 +1760,69 @@ Constant. [section transform] [heading Description] -Returns the result of type __transform__, given the sequence and __poly_func_obj__ types. +For a sequence `seq` and function object or function pointer `f`, `transform` returns a new sequence +with elements created by applying `f(e)` to each element of `e` of `seq`. -[heading Synopsis] +[heading Unary version synopsis] template< typename Sequence, typename F > - struct transform - { - typedef __unspecified__ type; - }; + typename __result_of_transform__::type transform( + Sequence const& seq, F f); [table Parameters - [[Parameter] [Requirement] [Description]] - [[`Sequence`] [A model of __forward_sequence__ ][Operation's argument]] - [[`F`] [A model of unary __poly_func_obj__][Transformation function object]] + [[Parameter][Requirement][Description]] + [[`seq`][A model of __forward_sequence__][Operation's argument]] + [[`f`][`f(e)` is a valid expression for each element `e` of `seq`. `__boost_result_of_call__::type` is the return type of `f` when called with a value of each element type `E`.][Transformation function]] ] [heading Expression Semantics] - __result_of_transform__::type + __transform__(seq, f); + +[*Return type]: A model of __forward_sequence__ + +[*Semantics]: Returns a new sequence, containing the return values of `f(e)` for each element `e` within `seq`. + +[heading Binary version synopsis] + template< + typename Sequence1, + typename Sequence2, + typename F + > + typename __result_of_transform__::type transform( + Sequence1 const& seq1, Sequence2 const& seq2, F f); + +[table Parameters + [[Parameter][Requirement][Description]] + [[`seq1`][A model of __forward_sequence__][Operation's argument]] + [[`seq2`][A model of __forward_sequence__][Operation's argument]] + [[`f`][`f(e1,e2)` is a valid expression for each pair of elements `e1` of `seq1` and `e2` of `seq2`. `__boost_result_of_call__::type` is the return type of `f` when called with elements of type `E1` and `E2`][Transformation function]] +] [*Return type]: A model of __forward_sequence__. -[*Semantics]: Returns a sequence with values `F::result::type` for each element type `E` in `Sequence`. +[*Semantics]: Returns a new sequence, containing the return values of `f(e1, e2)` for each pair of elements `e1` and `e2` within `seq1` and `seq2` respectively. [heading Complexity] -Constant. +Constant. Returns a view which is lazily evaluated. [heading Header] #include +[heading Example] + struct triple + { + typedef int result_type; + + int operator()(int t) const + { + return t * 3; + }; + }; + ... + assert(__transform__(__make_vector__(1,2,3), triple()) == __make_vector__(3,6,9)); + [endsect] [section replace] diff --git a/doc/extension.qbk b/doc/extension.qbk index de6d183c..47f402f6 100644 --- a/doc/extension.qbk +++ b/doc/extension.qbk @@ -1,5 +1,7 @@ [section Extension] +[section The Full Extension Mechanism] + The Fusion library is designed to be extensible, new sequences types can easily be added. In fact, the library support for `std::pair`, `boost::array` and __mpl__ sequences is entirely provided using the extension mechanism. @@ -375,3 +377,206 @@ for a variety of types. [endsect] +[section Sequence Fascade] + +[heading Description] +The __sequence_fascade__ template provides an intrusive mechanism for +producing a conforming Fusion iterator. + +[heading Synopsis] + template + struct sequence_fascade; + +[heading Usage] +The user of __sequence_fascade__ derives his sequence type from a specialization of __sequence_fascade__ and passes the derived sequence type as the first template parameter. The second template parameter should be the traversal category of the sequence being implemented. The 3rd parameter should be set to `mpl::true_` if the sequence is a view. + +The user must the implement the key expressions required by their sequence type. + +[table Parameters +[[Name][Description]] +[[`sequence`, `Seq`][A type derived from __sequence_fascade__]] +[[`N`][An __mpl_integral_constant__]] +] + +[table Key Expressions +[[Expression][Result]] +[[`sequence::template begin::type`][The type of an iterator to the beginning of a sequence of type `Seq`]] +[[`sequence::template begin::call(seq)`][An iterator to the beginning of sequence `seq`]] +[[`sequence::template end::type`][The type of an iterator to the end of a sequence of type `Seq`]] +[[`sequence::template end::call(seq)`][An iterator to the end of sequence `seq`]] +[[`sequence::template size::type`][The size of a sequence of type `Seq` as an __mpl_integral_constant__]] +[[`sequence::template size::call(seq)`][The size of sequence `seq`]] +[[`sequence::template at::type`][The type of element `N` in a sequence of type `Seq`]] +[[`sequence::template at::call(seq)`][Element `N` in sequence `seq`]] +[[`sequence::template value_at::type`][The type of the `N`th element in a sequence of type `Seq`]] +] + +[heading Header] + #include + +[endsect] + +[section Iterator Fascade] + +[heading Description] +The __iterator_fascade__ template provides an intrusive mechanism for +producing a conforming Fusion iterator. + +[heading Synopsis] + + template + struct iterator_fascade; + +[heading Usage] +The user of iterator_facade derives his iterator type from a specialization of iterator_facade and passes the derived iterator type as the first template parameter. The second template parameter should be the traversal category of the iterator being implemented. + +The user must the implement the key expressions required by their iterator type. + +[table Parameters +[[Name][Description]] +[[`iterator`, `It`, `It1`, `It2`][A type derived from __iterator_fascade__]] +[[`N`][An __mpl_integral_constant__]] +] + +[table Key Expressions +[[Expression][Result][Default]] +[[`iterator::template value_of::type`][The element stored at iterator position `It`][None]] +[[`iterator::template deref::type`][The type returned when dereferencing an iterator of type `It`][None]] +[[`iterator::template deref::call(it)`][Dereferences iterator `it`][None]] +[[`iterator::template next::type`][The type of the next element from `It`][None]] +[[`iterator::template next::call(it)`][The next iterator after `it`][None]] +[[`iterator::template prior::type`][The type of the next element from `It`][None]] +[[`iterator::template prior::call(it)`][The next iterator after `it`][None]] +[[`iterator::template advance::type`][The type of an iterator advanced `N` elements from `It`][Implemented in terms of `next` and `prior`]] +[[`iterator::template advance::call(it)`][An iterator advanced `N` elements from `it`][Implemented in terms of `next` and `prior`]] +[[`iterator::template distance::type`][The distance between iterators of type `It1` and `It2` as an __mpl_integral_constant__][None]] +[[`iterator::template distance::call(it1, it2)`][The distance between iterator `it1` and `it2`][None]] +[[`iterator::template equal_to::type`][The distance between iterators of type `It1` and `It2`][`boost::same_type::type`]] +[[`iterator::template equal_to::call(it1, it2)`][The distance between iterators `it1` and `it2`][`boost::same_type::type()`]] +] + +[heading Header] + + #include + +[endsect] + +[section Macros] + +[section BOOST_FUSION_ADAPT_STRUCT] + +[heading Description] +BOOST_FUSION_ADAPT_STRUCT is a macro that can be used to generate all the +necessary boilerplate to make an arbitrary struct into a __random_access_sequence__. + +[heading Synopsis] + BOOST_FUSION_ADAPT_STRUCT( + struct_name + (member_type0, member_name0) + (member_type1, member_name1) + ... + ) + +[heading Semantics] + BOOST_FUSION_ADAPT_STRUCT( + struct_name, + (member_type0, member_name0) + (member_type1, member_name1) + ... + ) + +The above macro generates the necessary code to adapt `struct_name` +as a model of __random_access_sequence__. The sequence of `(member_typeN, member_nameN)` +pairs declare the type and names of each of the struct members that will be +part of the sequence. + +The macro should be used at global scope, and `struct_name` should be the fully +namespace qualified name of the struct to be converted. + +[heading Header] + #include + +[heading Example] + namespace demo + { + struct employee + { + std::string name; + int age; + }; + } + + // demo::employee is now a Fusion sequence + BOOST_FUSION_ADAPT_STRUCT( + demo::employee + (std::string, name) + (int, age)) + +[endsect] + +[section BOOST_FUSION_ADAPT_ASSOC_STRUCT] + +[heading Description] +BOOST_FUSION_ADAPT_ASSOC_STRUCT is a macro that can be used to generate all the +necessary boilerplate to make an arbitrary struct into a model of __random_access_sequence__ +and __associative_sequence__. + +[heading Synopsis] + BOOST_FUSION_ADAPT_ASSOC_STRUCT( + struct_name + (member_type0, member_name0, key_type0) + (member_type1, member_name1, key_type1) + ... + ) + +[heading Semantics] + BOOST_FUSION_ADAPT_ASSOC_STRUCT( + struct_name + (member_type0, member_name0, key_type0) + (member_type1, member_name1, key_type1) + ... + ) + +The above macro generates the necessary code to adapt `struct_name` +as a model of __random_access_sequence__ and __associative_sequence__. +The sequence of `(member_typeN, member_nameN, key_typeN)` +triples declare the type, name and key type of each of the struct members +that will be part of the sequence. + +The macro should be used at global scope, and `struct_name` should be the fully +namespace qualified name of the struct to be converted. + +[heading Header] + #include + +[heading Example] + namespace demo + { + struct employee + { + std::string name; + int age; + }; + } + + namespace keys + { + struct name; + struct age; + } + + // demo::employee is now a Fusion sequence + // It is also an associative sequence with + // keys keys::name and keys::age present. + BOOST_FUSION_ADAPT_ASSOC_STRUCT( + demo::employee + (std::string, name, keys::name) + (int, age, keys::age)) + + +[endsect] + +[endsect] + +[endsect] + diff --git a/doc/functional.qbk b/doc/functional.qbk index 2a3c6428..afacde35 100644 --- a/doc/functional.qbk +++ b/doc/functional.qbk @@ -80,6 +80,19 @@ function call operator. * member (function or data) pointer types * all kinds of function objects +[heading Examples] + + & a_free_function + & a_class::a_static_member_function + & a_class::a_nonstatic_data_member + & a_class::a_nonstatic_member_function + std::less() + // using namespace boost; + bind(std::less(), _1, 5) + lambda::_1 += lambda::_2; + fusion::__make_fused_function_object__(std::less()) + + [endsect] @@ -111,6 +124,16 @@ type whose objects can appear immediately to the left of a function call operato * function pointer types * all kinds of function objects +[heading Examples] + + & a_free_function + & a_class::a_static_member_function + std::less() + // using namespace boost; + bind(std::less(), _1, 5) + lambda::_1 += lambda::_2; + fusion::__make_fused_function_object__(std::less()) + [endsect] @@ -147,6 +170,18 @@ function objects won't need client-side support for `result_of`. * __poly_func_obj__ types * member (function or data) pointer types +[heading Examples] + + & a_free_function + & a_class::a_static_member_function + & a_class::a_nonstatic_data_member + & a_class::a_nonstatic_member_function + std::less() + // using namespace boost; + bind(std::less(), _1, 5) + // Note: Boost.Lambda expressions don't work with __boost_result_of__ + fusion::__make_fused_function_object__(std::less()) + [endsect] @@ -180,6 +215,16 @@ A non-member-pointer __def_callable_obj__ type. * function objects of the Standard Library * all Fusion __functional_adapters__ +[heading Examples] + + & a_free_function + & a_class::a_static_member_function + std::less() + // using namespace boost; + bind(std::less(), _1, 5) + // Note: Boost.Lambda expressions don't work with __boost_result_of__ + fusion::__make_fused_function_object__(std::less()) + [endsect] diff --git a/doc/fusion.qbk b/doc/fusion.qbk index b53fee73..43c7234b 100644 --- a/doc/fusion.qbk +++ b/doc/fusion.qbk @@ -290,6 +290,8 @@ [def __quick_start__ [link fusion.quick_start Quick Start]] [def __organization__ [link fusion.organization Orgainization]] [def __extension__ [link fusion.extension Extension]] +[def __sequence_fascade__ [link fusion.extension.sequence_fascade `sequence_fascade`]] +[def __iterator_fascade__ [link fusion.extension.iterator_fascade `iterator_fascade`]] [include preface.qbk] [include introduction.qbk] diff --git a/doc/html/fusion/acknowledgements.html b/doc/html/fusion/acknowledgements.html index f18b0fdb..b889a16a 100644 --- a/doc/html/fusion/acknowledgements.html +++ b/doc/html/fusion/acknowledgements.html @@ -3,24 +3,24 @@ Acknowledgements - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext

@@ -47,7 +47,7 @@
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms.html b/doc/html/fusion/algorithms.html index fdfdb81a..5812bdf6 100644 --- a/doc/html/fusion/algorithms.html +++ b/doc/html/fusion/algorithms.html @@ -3,7 +3,7 @@ Algorithms - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext

@@ -44,7 +44,7 @@

- + Lazy Evaluation

@@ -58,39 +58,39 @@ fusion algorithms are functional in nature such that algorithms are non mutating (no side effects). However, due to the high cost of returning full sequences such as vectors and lists, Views are returned from Fusion - algorithms instead. For example, the transform algorithm does not actually - return a transformed version of the original sequence. transform returns a transform_view. This view holds a + algorithms instead. For example, the transform algorithm does not actually + return a transformed version of the original sequence. transform returns a transform_view. This view holds a reference to the original sequence plus the transform function. Iteration over - the transform_view + the transform_view will apply the transform function over the sequence elements on demand. This lazy evaluation scheme allows us to chain as many algorithms as we want without incurring a high runtime penalty.

- + Sequence Extension

The lazy evaluation scheme where Algorithms return Views also allows operations - such as push_back to be totally generic. In - Fusion, push_back is actually a generic algorithm - that works on all sequences. Given an input sequence s - and a value x, Fusion's push_back algorithm simply returns - a joint_view: - a view that holds a reference to the original sequence s - and the value x. Functions + such as push_back to be totally generic. In + Fusion, push_back is actually a generic algorithm + that works on all sequences. Given an input sequence s + and a value x, Fusion's push_back algorithm simply returns + a joint_view: + a view that holds a reference to the original sequence s + and the value x. Functions that were once sequence specific and need to be implemented N times over N different sequences are now implemented only once. That is to say that Fusion sequences are cheaply extensible. However, an important caveat is that the - result of a sequence extending operation like push_back does not retain the properties + result of a sequence extending operation like push_back does not retain the properties of the original sequence such as associativity of _set_s. To regain the original sequence, Conversion functions are provided. You may use one of the Conversion functions to convert back to the original sequence type.

- + Header

@@ -104,7 +104,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/iteration.html b/doc/html/fusion/algorithms/iteration.html index 49fd6ae5..2183865c 100644 --- a/doc/html/fusion/algorithms/iteration.html +++ b/doc/html/fusion/algorithms/iteration.html @@ -3,24 +3,24 @@ Iteration - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext

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

- + Header

@@ -48,7 +48,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/iteration/functions.html b/doc/html/fusion/algorithms/iteration/functions.html index e5767835..2efb8e1e 100644 --- a/doc/html/fusion/algorithms/iteration/functions.html +++ b/doc/html/fusion/algorithms/iteration/functions.html @@ -3,24 +3,24 @@ Functions - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext

@@ -38,7 +38,7 @@
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/iteration/functions/accumulate.html b/doc/html/fusion/algorithms/iteration/functions/accumulate.html index 960351da..424e78e1 100644 --- a/doc/html/fusion/algorithms/iteration/functions/accumulate.html +++ b/doc/html/fusion/algorithms/iteration/functions/accumulate.html @@ -3,41 +3,41 @@ accumulate - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Repeatedly applies binary Polymorphic - Function Object f - to each element of a sequence and the previous state. accumulate is equivalent to - fold. + For a sequence Seq, initial + state, and binary function object or function pointer f, + accumulate repeatedly applies binary f + to each element of Seq + and the previous state.

- + Synopsis
@@ -46,11 +46,11 @@
     typename State,
     typename F
     >
-typename result_of::accumulate<Sequence, State, F>::type accumulate(
+typename result_of::accumulate<Sequence, State, F>::type accumulate(
     Sequence& seq, State const& initial_state, F const& f);
 
-

Table 1.34. Parameters

+

Table 1.34. Parameters

@@ -78,17 +78,17 @@

- seq + seq

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

@@ -100,7 +100,7 @@

- initial_state + initial_state

@@ -117,14 +117,14 @@

- f + f

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

@@ -137,7 +137,7 @@
- + Expression Semantics
@@ -145,38 +145,34 @@ accumulate(seq, initial_state, f);

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

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

- + Complexity

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

- + Header
 #include <boost/fusion/algorithm/iteration/accumulate.hpp>
 
- + Example
 struct make_string
 {
-    template<typename T, typename State>
-    struct result
-    {
-        typedef std::string type;
-    };
+    typedef std::string result_type;
 
     template<typename T>
     std::string operator()(const T& t, const std::string& str) const
@@ -185,8 +181,8 @@
     }
 };
 ...
-const vector<int,int> vec(1,2);
-assert(accumulate(vec,std::string(""), make_string()) == "12");
+const vector<int,int> vec(1,2);
+assert(accumulate(vec,std::string(""), make_string()) == "12");
 
@@ -196,7 +192,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/iteration/functions/fold.html b/doc/html/fusion/algorithms/iteration/functions/fold.html index a682962e..e1e2f911 100644 --- a/doc/html/fusion/algorithms/iteration/functions/fold.html +++ b/doc/html/fusion/algorithms/iteration/functions/fold.html @@ -3,40 +3,41 @@ fold - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Repeatedly applies binary Polymorphic - Function Object f - to each element of a sequence and the previous state. + For a sequence Seq, initial + state, and binary function object or function pointer f, + fold repeatedly applies binary f + to each element of Seq + and the previous state.

- + Synopsis
@@ -45,11 +46,11 @@
     typename State,
     typename F
     >
-typename result_of::fold<Sequence, State, F>::type fold(
+typename result_of::fold<Sequence, State, F>::type fold(
     Sequence& seq, State const& initial_state, F const& f);
 
-

Table 1.33. Parameters

+

Table 1.33. Parameters

@@ -77,16 +78,17 @@

- seq + seq

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

@@ -98,7 +100,7 @@

- initial_state + initial_state

@@ -115,14 +117,14 @@

- f + f

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

@@ -135,7 +137,7 @@
- + Expression Semantics
@@ -143,38 +145,34 @@ fold(seq, initial_state, f);

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

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

- + Complexity

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

- + Header
 #include <boost/fusion/algorithm/iteration/fold.hpp>
 
- + Example
 struct make_string
 {
-    template<typename T, typename State>
-    struct result
-    {
-        typedef std::string type;
-    };
+    typedef std::string result_type;
 
     template<typename T>
     std::string operator()(const T& t, const std::string& str) const
@@ -183,8 +181,8 @@
     }
 };
 ...
-const vector<int,int> vec(1,2);
-assert(fold(vec,std::string(""), make_string()) == "12");
+const vector<int,int> vec(1,2);
+assert(fold(vec,std::string(""), make_string()) == "12");
 
@@ -194,7 +192,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/iteration/functions/for_each.html b/doc/html/fusion/algorithms/iteration/functions/for_each.html index 75854a61..013ff685 100644 --- a/doc/html/fusion/algorithms/iteration/functions/for_each.html +++ b/doc/html/fusion/algorithms/iteration/functions/for_each.html @@ -3,37 +3,37 @@ for_each - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

- + Synopsis
@@ -41,11 +41,11 @@
     typename Sequence,
     typename F
     >
-typename result_of::for_each<Sequence, F>::type for_each(
+typename result_of::for_each<Sequence, F>::type for_each(
     Sequence& seq, F const& f);
 
-

Table 1.35. Parameters

+

Table 1.35. Parameters

@@ -73,16 +73,16 @@

- seq + seq

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

@@ -94,7 +94,7 @@

- f + f

@@ -114,36 +114,36 @@
- + Expression Semantics
-for_each(seq, f);
+for_each(seq, f);
 

- Return type: void + Return type: void

- Semantics: Calls f(e) for each element e - in seq. + Semantics: Calls f(e) for each element e + in seq.

- + Complexity

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

- + Header
 #include <boost/fusion/algorithm/iteration/for_each.hpp>
 
- + Example
@@ -156,9 +156,9 @@
     }
 };
 ...
-vector<int,int> vec(1,2);
-for_each(vec, increment());
-assert(vec == make_vector(2,3));
+vector<int,int> vec(1,2);
+for_each(vec, increment());
+assert(vec == make_vector(2,3));
 
@@ -168,7 +168,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/iteration/metafunctions.html b/doc/html/fusion/algorithms/iteration/metafunctions.html index 47683514..fd27f8a8 100644 --- a/doc/html/fusion/algorithms/iteration/metafunctions.html +++ b/doc/html/fusion/algorithms/iteration/metafunctions.html @@ -3,24 +3,24 @@ Metafunctions - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext

@@ -38,7 +38,7 @@
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/iteration/metafunctions/accumulate.html b/doc/html/fusion/algorithms/iteration/metafunctions/accumulate.html index 02d9802b..b3a5db47 100644 --- a/doc/html/fusion/algorithms/iteration/metafunctions/accumulate.html +++ b/doc/html/fusion/algorithms/iteration/metafunctions/accumulate.html @@ -3,37 +3,37 @@ accumulate - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of accumulate. + Returns the result type of accumulate.

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

Table 1.37. Parameters

+

Table 1.37. Parameters

@@ -75,7 +75,7 @@

- Sequence + Sequence

@@ -94,7 +94,7 @@

- State + State

@@ -104,21 +104,21 @@

- The initial state for the first application of F + The initial state for the first application of F

- F + F

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

@@ -131,34 +131,32 @@
- + Expression Semantics
-result_of::accumulate<Sequence, State, F>::type
+result_of::accumulate<Sequence, State, F>::type
 

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

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

- + Complexity

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

- + Header
@@ -172,7 +170,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/iteration/metafunctions/fold.html b/doc/html/fusion/algorithms/iteration/metafunctions/fold.html index 23daef97..a319ac39 100644 --- a/doc/html/fusion/algorithms/iteration/metafunctions/fold.html +++ b/doc/html/fusion/algorithms/iteration/metafunctions/fold.html @@ -3,37 +3,37 @@ fold - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of fold. + Returns the result type of fold.

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

Table 1.36. Parameters

+

Table 1.36. Parameters

@@ -75,7 +75,7 @@

- Sequence + Sequence

@@ -94,7 +94,7 @@

- State + State

@@ -104,21 +104,21 @@

- The initial state for the first application of F + The initial state for the first application of F

- F + F

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

@@ -131,34 +131,32 @@
- + Expression Semantics
-result_of::fold<Sequence, State, F>::type
+result_of::fold<Sequence, State, F>::type
 

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

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

- + Complexity

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

- + Header
@@ -172,7 +170,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/iteration/metafunctions/for_each.html b/doc/html/fusion/algorithms/iteration/metafunctions/for_each.html index a6d600c2..09b24b77 100644 --- a/doc/html/fusion/algorithms/iteration/metafunctions/for_each.html +++ b/doc/html/fusion/algorithms/iteration/metafunctions/for_each.html @@ -3,38 +3,38 @@ for_each - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext

- A metafunction returning the result type of applying for_each to a sequence. The - return type of for_each is always void. + A metafunction returning the result type of applying for_each to a sequence. The + return type of for_each is always void.

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

Table 1.38. Parameters

+

Table 1.38. Parameters

@@ -76,7 +76,7 @@

- Sequence + Sequence

@@ -95,7 +95,7 @@

- F + F

@@ -113,32 +113,32 @@
- + Expression Semantics
-result_of::for_each<Sequence, F>::type
+result_of::for_each<Sequence, F>::type
 

- Return type: void. + Return type: void.

- Semantics: Returns the return type of - for_each for a sequence of type - Sequence and a unary - function object F. The - return type is always void. + Semantics: Returns the return type of + for_each for a sequence of type + Sequence and a unary + function object F. The + return type is always void.

- + Complexity

Constant.

- + Header
@@ -152,7 +152,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query.html b/doc/html/fusion/algorithms/query.html index e55d91d0..41aea719 100644 --- a/doc/html/fusion/algorithms/query.html +++ b/doc/html/fusion/algorithms/query.html @@ -3,24 +3,24 @@ Query - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext

@@ -33,7 +33,7 @@ The query algorithms provide support for searching and analyzing sequences.

- + Header

@@ -47,7 +47,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/functions.html b/doc/html/fusion/algorithms/query/functions.html index b47227f9..b09e34a4 100644 --- a/doc/html/fusion/algorithms/query/functions.html +++ b/doc/html/fusion/algorithms/query/functions.html @@ -3,24 +3,24 @@ Functions - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext

@@ -42,7 +42,7 @@
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/functions/all.html b/doc/html/fusion/algorithms/query/functions/all.html index fa6ceda0..52dbfb06 100644 --- a/doc/html/fusion/algorithms/query/functions/all.html +++ b/doc/html/fusion/algorithms/query/functions/all.html @@ -3,41 +3,41 @@ all - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- For a sequence seq and - unary function object f, - all returns true if - f returns true for every - element of seq. + For a sequence seq and + unary function object f, + all returns true if + f returns true for every + element of seq.

- + Synopsis
@@ -45,11 +45,11 @@
     typename Sequence,
     typename F
     >
-typename result_of::all<Sequence,F>::type all(
+typename result_of::all<Sequence,F>::type all(
     Sequence const& seq, F f);
 
-

Table 1.40. Parameters

+

Table 1.40. Parameters

@@ -77,16 +77,16 @@

- seq + seq

A model of Forward - Sequence, f(e) is a valid expression, convertible - to bool, for every - element e in seq + Sequence, f(e) is a valid expression, convertible + to bool, for every + element e in seq

@@ -98,7 +98,7 @@

- f + f

@@ -116,38 +116,38 @@
- + Expression Semantics
-all(seq, f);
+all(seq, f);
 

- Return type: bool + Return type: bool

- Semantics: Returns true if and only - if f(e) - evaluates to true for every - element e in seq. + Semantics: Returns true if and only + if f(e) + evaluates to true for every + element e in seq.

- + Complexity

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

- + Header
 #include <boost/fusion/algorithm/query/all.hpp>
 
- + Example
@@ -160,8 +160,8 @@
     }
 };
 ...
-assert(all(make_vector(1,3), odd()));
-assert(!all(make_vector(1,2), odd()));
+assert(all(make_vector(1,3), odd()));
+assert(!all(make_vector(1,2), odd()));
 
@@ -171,7 +171,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/functions/any.html b/doc/html/fusion/algorithms/query/functions/any.html index b7d148d3..4ab9512a 100644 --- a/doc/html/fusion/algorithms/query/functions/any.html +++ b/doc/html/fusion/algorithms/query/functions/any.html @@ -3,41 +3,41 @@ any - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- For a sequence seq and - unary function object f, - any returns true if - f returns true for at - least one element of seq. + For a sequence seq and + unary function object f, + any returns true if + f returns true for at + least one element of seq.

- + Synopsis
@@ -45,11 +45,11 @@
     typename Sequence,
     typename F
     >
-typename result_of::any<Sequence,F>::type any(
+typename result_of::any<Sequence,F>::type any(
     Sequence const& seq, F f);
 
-

Table 1.39. Parameters

+

Table 1.39. Parameters

@@ -77,16 +77,16 @@

- seq + seq

A model of Forward - Sequence, f(e) must be a valid expression, convertible - to bool, for each - element e in seq + Sequence, f(e) must be a valid expression, convertible + to bool, for each + element e in seq

@@ -98,7 +98,7 @@

- f + f

@@ -116,38 +116,38 @@
- + Expression semantics
-any(seq, f);
+any(seq, f);
 

- Return type: bool + Return type: bool

- Semantics: Returns true if and only - if f(e) - evaluates to true for some - element e in seq. + Semantics: Returns true if and only + if f(e) + evaluates to true for some + element e in seq.

- + Complexity

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

- + Header
 #include <boost/fusion/algorithm/query/any.hpp>
 
- + Example
@@ -160,8 +160,8 @@
     }
 };
 ...
-assert(any(make_vector(1,2), odd()));
-assert(!any(make_vector(2,4), odd()));
+assert(any(make_vector(1,2), odd()));
+assert(!any(make_vector(2,4), odd()));
 
@@ -171,7 +171,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/functions/count.html b/doc/html/fusion/algorithms/query/functions/count.html index 4cbb30d2..8d520d6d 100644 --- a/doc/html/fusion/algorithms/query/functions/count.html +++ b/doc/html/fusion/algorithms/query/functions/count.html @@ -3,37 +3,37 @@ count - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

- + Synopsis
@@ -41,11 +41,11 @@
     typename Sequence,
     typename T
     >
-typename result_of::count<Sequence, T>::type count(
+typename result_of::count<Sequence, T>::type count(
     Sequence const& seq, T const& t);
 
-

Table 1.44. Parameters

+

Table 1.44. Parameters

@@ -73,17 +73,17 @@

- seq + seq

A model of Forward - Sequence, e == t - must be a valid expression, convertible to bool, - for each element e - in seq + Sequence, e == t + must be a valid expression, convertible to bool, + for each element e + in seq

@@ -95,7 +95,7 @@

- T + T

@@ -113,42 +113,42 @@
- + Expression Semantics
-count(seq, t);
+count(seq, t);
 

- Return type: int + Return type: int

- Semantics: Returns the number of elements - of type T and equal to - t in seq. + Semantics: Returns the number of elements + of type T and equal to + t in seq.

- + Complexity

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

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

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/functions/count_if.html b/doc/html/fusion/algorithms/query/functions/count_if.html index 87ab285c..e34b696f 100644 --- a/doc/html/fusion/algorithms/query/functions/count_if.html +++ b/doc/html/fusion/algorithms/query/functions/count_if.html @@ -3,38 +3,38 @@ count_if - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

Returns the number of elements within a sequence with a type for which - a given unary function object evaluates to true. + a given unary function object evaluates to true.

- + Synopsis
@@ -42,11 +42,11 @@
     typename Sequence,
     typename F
     >
-typename result_of::count_if<Sequence, F>::type count_if(
+typename result_of::count_if<Sequence, F>::type count_if(
     Sequence const& seq, F f);
 
-

Table 1.45. Parameters

+

Table 1.45. Parameters

@@ -74,16 +74,16 @@

- seq + seq

A model of Forward - Sequence, f(e) is a valid expression, convertible - to bool, for each - element e in seq + Sequence, f(e) is a valid expression, convertible + to bool, for each + element e in seq

@@ -95,7 +95,7 @@

- f + f

@@ -113,41 +113,41 @@
- + Expression Semantics
-count_if(seq, f)
+count_if(seq, f)
 

- Return type: int + Return type: int

- Semantics: Returns the number of elements - in seq where f evaluates to true. + Semantics: Returns the number of elements + in seq where f evaluates to true.

- + Complexity

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

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

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/functions/find.html b/doc/html/fusion/algorithms/query/functions/find.html index c62dd9b5..ec889050 100644 --- a/doc/html/fusion/algorithms/query/functions/find.html +++ b/doc/html/fusion/algorithms/query/functions/find.html @@ -3,37 +3,37 @@ find - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

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

Table 1.42. Parameters

+

Table 1.42. Parameters

@@ -78,7 +78,7 @@

- seq + seq

@@ -97,7 +97,7 @@

- T + T

@@ -115,45 +115,45 @@
- + Expression Semantics
-find<T>(seq)
+find<T>(seq)
 

- Return type: A model of the same iterator - category as the iterators of seq. + Return type: A model of the same iterator + category as the iterators of seq.

- Semantics: Returns an iterator to the - first element of seq - of type T, or end(seq) if there is no such element. Equivalent - to find_if<boost::is_same<_, T> >(seq) + Semantics: Returns an iterator to the + first element of seq + of type T, or end(seq) if there is no such element. Equivalent + to find_if<boost::is_same<_, T> >(seq)

- + Complexity

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

- + Header
 #include <boost/fusion/algorithm/query/find.hpp>
 
- + Example
-const vector<char,int> vec('a','0');
-assert(*find<int>(vec) == '0');
-assert(find<double>(vec) == end(vec));
+const vector<char,int> vec('a','0');
+assert(*find<int>(vec) == '0');
+assert(find<double>(vec) == end(vec));
 
@@ -163,7 +163,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/functions/find_if.html b/doc/html/fusion/algorithms/query/functions/find_if.html index 67e4e84b..7c237c4e 100644 --- a/doc/html/fusion/algorithms/query/functions/find_if.html +++ b/doc/html/fusion/algorithms/query/functions/find_if.html @@ -3,24 +3,24 @@ find_if - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
@@ -28,14 +28,14 @@

Finds the first element within a sequence with a type for which a given MPL - Lambda Expression evaluates to boost::mpl::true_. + Lambda Expression evaluates to boost::mpl::true_.

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

Table 1.43. Parameters

+

Table 1.43. Parameters

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

- seq + seq

@@ -99,7 +99,7 @@

- F + F

@@ -118,46 +118,46 @@
- + Expression Semantics
-find_if<F>(seq)
+find_if<F>(seq)
 

- Return type: An iterator of the same - iterator category as the iterators of seq. + Return type: An iterator of the same + iterator category as the iterators of seq.

- Semantics: Returns the first element - of seq for which MPL - Lambda Expression F - evaluates to boost::mpl::true_, or end(seq) + Semantics: Returns the first element + of seq for which MPL + Lambda Expression F + evaluates to boost::mpl::true_, or end(seq) if there is no such element.

- + Complexity

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

- + Header
 #include <boost/fusion/algorithm/query/find_if.hpp>
 
- + Example
-const vector<double,int> vec(1.0,2);
-assert(*find_if<is_integral<mpl::_> >(vec) == 2);
-assert(find_if<is_class<mpl::_> >(vec) == end(vec));
+const vector<double,int> vec(1.0,2);
+assert(*find_if<is_integral<mpl::_> >(vec) == 2);
+assert(find_if<is_class<mpl::_> >(vec) == end(vec));
 
@@ -167,7 +167,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/functions/none.html b/doc/html/fusion/algorithms/query/functions/none.html index b99a3660..c99c944a 100644 --- a/doc/html/fusion/algorithms/query/functions/none.html +++ b/doc/html/fusion/algorithms/query/functions/none.html @@ -3,41 +3,41 @@ none - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- For a sequence seq and - unary function object f, - none returns true if - f returns false for every - element of seq. + For a sequence seq and + unary function object f, + none returns true if + f returns false for every + element of seq.

- + Synopsis
@@ -45,11 +45,11 @@
     typename Sequence,
     typename F
     >
-typename result_of::none<Sequence,F>::type none(
+typename result_of::none<Sequence,F>::type none(
     Sequence const& seq, F f);
 
-

Table 1.41. Parameters

+

Table 1.41. Parameters

@@ -77,16 +77,16 @@

- seq + seq

A model of Forward - Sequence, f(e) is a valid expression, convertible - to bool, for every - element e in seq + Sequence, f(e) is a valid expression, convertible + to bool, for every + element e in seq

@@ -98,7 +98,7 @@

- f + f

@@ -116,38 +116,38 @@
- + Expression Semantics
-none(seq, f);
+none(seq, f);
 

- Return type: bool + Return type: bool

- Semantics: Returns true if and only - if f(e) - evaluates to false for every - element e in seq. Result equivalent to !any(seq, f). + Semantics: Returns true if and only + if f(e) + evaluates to false for every + element e in seq. Result equivalent to !any(seq, f).

- + Complexity

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

- + Header
 #include <boost/fusion/algorithm/query/none.hpp>
 
- + Example
@@ -160,8 +160,8 @@
     }
 };
 ...
-assert(none(make_vector(2,4), odd()));
-assert(!none(make_vector(1,2), odd()));
+assert(none(make_vector(2,4), odd()));
+assert(!none(make_vector(1,2), odd()));
 
@@ -171,7 +171,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/metafunctions.html b/doc/html/fusion/algorithms/query/metafunctions.html index 1d5e7e0e..be03b74c 100644 --- a/doc/html/fusion/algorithms/query/metafunctions.html +++ b/doc/html/fusion/algorithms/query/metafunctions.html @@ -3,24 +3,24 @@ Metafunctions - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext

@@ -42,7 +42,7 @@
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/metafunctions/all.html b/doc/html/fusion/algorithms/query/metafunctions/all.html index 5d463a4f..394d74f6 100644 --- a/doc/html/fusion/algorithms/query/metafunctions/all.html +++ b/doc/html/fusion/algorithms/query/metafunctions/all.html @@ -3,37 +3,37 @@ all - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- A metafunction returning the result type of all. + A metafunction returning the result type of all.

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

Table 1.47. Parameters

+

Table 1.47. Parameters

@@ -75,7 +75,7 @@

- Sequence + Sequence

@@ -94,7 +94,7 @@

- F + F

@@ -114,34 +114,34 @@
- + Expression Semantics
-result_of::all<Sequence, F>::type
+result_of::all<Sequence, F>::type
 

- Return type: bool. + Return type: bool.

- Semantics: Returns the return type of - all - given a sequence of type Sequence + Semantics: Returns the return type of + all + given a sequence of type Sequence and a unary Polymorphic - Function Object of type F. - The return type is always bool. + Function Object of type F. + The return type is always bool.

- + Complexity

Constant.

- + Header
@@ -155,7 +155,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/metafunctions/any.html b/doc/html/fusion/algorithms/query/metafunctions/any.html index 0e097efe..79b3c1ab 100644 --- a/doc/html/fusion/algorithms/query/metafunctions/any.html +++ b/doc/html/fusion/algorithms/query/metafunctions/any.html @@ -3,37 +3,37 @@ any - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- A metafunction returning the result type of any. + A metafunction returning the result type of any.

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

Table 1.46. Parameters

+

Table 1.46. Parameters

@@ -75,7 +75,7 @@

- Sequence + Sequence

@@ -94,7 +94,7 @@

- F + F

@@ -114,34 +114,34 @@
- + Expression Semantics
-result_of::any<Sequence, F>::type
+result_of::any<Sequence, F>::type
 

- Return type: bool. + Return type: bool.

- Semantics: Returns the return type of - any - given a sequence of type Sequence + Semantics: Returns the return type of + any + given a sequence of type Sequence and a unary Polymorphic - Function Object of type F. - The return type is always bool. + Function Object of type F. + The return type is always bool.

- + Complexity

Constant.

- + Header
@@ -155,7 +155,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/metafunctions/count.html b/doc/html/fusion/algorithms/query/metafunctions/count.html index 7a7d81a9..f5992e7c 100644 --- a/doc/html/fusion/algorithms/query/metafunctions/count.html +++ b/doc/html/fusion/algorithms/query/metafunctions/count.html @@ -3,38 +3,38 @@ count - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- A metafunction that returns the result type of count + A metafunction that returns the result type of count given the sequence and search types.

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

Table 1.51. Parameters

+

Table 1.51. Parameters

@@ -76,7 +76,7 @@

- Sequence + Sequence

@@ -95,7 +95,7 @@

- T + T

@@ -113,30 +113,30 @@
- + Expression Semantics
-result_of::count<T>::type
+result_of::count<T>::type
 

- Return type: int. + Return type: int.

- Semantics: Returns the return type of - count. The return type is always - int. + Semantics: Returns the return type of + count. The return type is always + int.

- + Complexity

Constant.

- + Header
@@ -150,7 +150,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/metafunctions/count_if.html b/doc/html/fusion/algorithms/query/metafunctions/count_if.html index 2123dc67..35badef9 100644 --- a/doc/html/fusion/algorithms/query/metafunctions/count_if.html +++ b/doc/html/fusion/algorithms/query/metafunctions/count_if.html @@ -3,38 +3,38 @@ count_if - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- A metafunction that returns the result type of count_if + A metafunction that returns the result type of count_if given the sequence and predicate types.

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

Table 1.52. Parameters

+

Table 1.52. Parameters

@@ -76,7 +76,7 @@

- Sequence + Sequence

@@ -95,7 +95,7 @@

- Pred + Pred

@@ -113,30 +113,30 @@
- + Expression Semantics
-result_of::count_if<Sequence, Pred>::type
+result_of::count_if<Sequence, Pred>::type
 

- Return type: int. + Return type: int.

- Semantics: Returns the return type of - count_if. The return type is - always int. + Semantics: Returns the return type of + count_if. The return type is + always int.

- + Complexity

Constant.

- + Header
@@ -150,7 +150,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/metafunctions/find.html b/doc/html/fusion/algorithms/query/metafunctions/find.html index e0f75b22..da040e90 100644 --- a/doc/html/fusion/algorithms/query/metafunctions/find.html +++ b/doc/html/fusion/algorithms/query/metafunctions/find.html @@ -3,38 +3,38 @@ find - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

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

Table 1.49. Parameters

+

Table 1.49. Parameters

@@ -76,7 +76,7 @@

- Sequence + Sequence

@@ -95,7 +95,7 @@

- T + T

@@ -113,31 +113,31 @@
- + Expression Semantics
-result_of::find<Sequence, T>::type
+result_of::find<Sequence, T>::type
 

- Return type: A model of the same iterator - category as the iterators of Sequence. + Return type: A model of the same iterator + category as the iterators of Sequence.

- Semantics: Returns an iterator to the - first element of type T - in Sequence, or result_of::end<Sequence>::type if there is no such element. + Semantics: Returns an iterator to the + first element of type T + in Sequence, or result_of::end<Sequence>::type if there is no such element.

- + Complexity

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

- + Header
@@ -151,7 +151,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/metafunctions/find_if.html b/doc/html/fusion/algorithms/query/metafunctions/find_if.html index a7efa889..8e41a749 100644 --- a/doc/html/fusion/algorithms/query/metafunctions/find_if.html +++ b/doc/html/fusion/algorithms/query/metafunctions/find_if.html @@ -3,38 +3,38 @@ find_if - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

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

Table 1.50. Parameters

+

Table 1.50. Parameters

@@ -76,7 +76,7 @@

- Sequence + Sequence

@@ -95,7 +95,7 @@

- Pred + Pred

@@ -114,32 +114,32 @@
- + Expression Semantics
-result_of::find_if<Sequence, Pred>::type
+result_of::find_if<Sequence, Pred>::type
 

- Return type: A model of the same iterator - category as the iterators of Sequence. + Return type: A model of the same iterator + category as the iterators of Sequence.

- Semantics: Returns an iterator to the - first element in Sequence - for which Pred evaluates - to true. Returns result_of::end<Sequence>::type if there is no such element. + Semantics: Returns an iterator to the + first element in Sequence + for which Pred evaluates + to true. Returns result_of::end<Sequence>::type if there is no such element.

- + Complexity

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

- + Header
@@ -153,7 +153,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/query/metafunctions/none.html b/doc/html/fusion/algorithms/query/metafunctions/none.html index dfd32b7a..9e8e0644 100644 --- a/doc/html/fusion/algorithms/query/metafunctions/none.html +++ b/doc/html/fusion/algorithms/query/metafunctions/none.html @@ -3,37 +3,37 @@ none - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- A metafunction returning the result type of none. + A metafunction returning the result type of none.

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

Table 1.48. Parameters

+

Table 1.48. Parameters

@@ -75,7 +75,7 @@

- Sequence + Sequence

@@ -94,7 +94,7 @@

- F + F

@@ -114,34 +114,34 @@
- + Expression Semantics
-result_of::none<Sequence, F>::type
+result_of::none<Sequence, F>::type
 

- Return type: bool. + Return type: bool.

- Semantics: Returns the return type of - none given a sequence of type - Sequence and a unary + Semantics: Returns the return type of + none given a sequence of type + Sequence and a unary Polymorphic Function - Object of type F. - The return type is always bool. + Object of type F. + The return type is always bool.

- + Complexity

Constant.

- + Header
@@ -155,7 +155,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation.html b/doc/html/fusion/algorithms/transformation.html index 81217b02..c7da6318 100644 --- a/doc/html/fusion/algorithms/transformation.html +++ b/doc/html/fusion/algorithms/transformation.html @@ -3,24 +3,24 @@ Transformation - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext

@@ -36,23 +36,17 @@

- + - +
[Note][Note] Note
-

-

-

- As the transformation algorithms return views onto their input arguments, - it is important that the lifetime of the input arguments is greater than - the period during which you wish to use the results. -

-

-

-

+ As the transformation algorithms return views onto their input arguments, + it is important that the lifetime of the input arguments is greater than + the period during which you wish to use the results. +

- + Header

@@ -66,7 +60,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions.html b/doc/html/fusion/algorithms/transformation/functions.html index 3ff862fb..225bfb0b 100644 --- a/doc/html/fusion/algorithms/transformation/functions.html +++ b/doc/html/fusion/algorithms/transformation/functions.html @@ -3,24 +3,24 @@ Functions - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext

@@ -54,7 +54,7 @@
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/clear.html b/doc/html/fusion/algorithms/transformation/functions/clear.html index 19eca3b1..8f351169 100644 --- a/doc/html/fusion/algorithms/transformation/functions/clear.html +++ b/doc/html/fusion/algorithms/transformation/functions/clear.html @@ -3,47 +3,47 @@ clear - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- clear returns an empty sequence. + clear returns an empty sequence.

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

Table 1.62. Parameters

+

Table 1.62. Parameters

@@ -70,7 +70,7 @@

- seq + seq

@@ -89,42 +89,42 @@
- + Expression Semantics
-clear(seq);
+clear(seq);
 

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

- Expression Semantics: Returns a sequence + Expression Semantics: Returns a sequence with no elements.

- + Complexity

Constant.

- + Header
 #include <boost/fusion/algorithm/transformation/clear.hpp>
 
- + Example
-assert(clear(make_vector(1,2,3)) == make_vector());
+assert(clear(make_vector(1,2,3)) == make_vector());
 
@@ -134,7 +134,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/erase.html b/doc/html/fusion/algorithms/transformation/functions/erase.html index c779e300..484fab77 100644 --- a/doc/html/fusion/algorithms/transformation/functions/erase.html +++ b/doc/html/fusion/algorithms/transformation/functions/erase.html @@ -3,30 +3,30 @@ erase - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

- + Synposis
@@ -42,7 +42,7 @@
     typename Sequence,
     typename First
     >
-typename result_of::erase<Sequence const, First>::type erase(
+typename result_of::erase<Sequence const, First>::type erase(
     Sequence const& seq, First const& it1);
 
 template<
@@ -50,11 +50,11 @@
     typename First,
     typename Last
     >
-typename result_of::erase<Sequence const, First, Last>::type erase(
+typename result_of::erase<Sequence const, First, Last>::type erase(
     Sequence const& seq, First const& it1, Last const& it2);
 
-

Table 1.63. Parameters

+

Table 1.63. Parameters

@@ -82,7 +82,7 @@ @@ -141,58 +141,58 @@

- seq + seq

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

- it1 + it1

@@ -113,14 +113,14 @@

- Iterator into seq + Iterator into seq

- it2 + it2

@@ -132,8 +132,8 @@

- Iterator into seq - after it1 + Iterator into seq + after it1

- + Expression Semantics
-erase(seq, pos);
+erase(seq, pos);
 

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

- Semantics: Returns a new sequence, containing - all the elements of seq - except the element at pos. + Semantics: Returns a new sequence, containing + all the elements of seq + except the element at pos.

-erase(seq, first, last);
+erase(seq, first, last);
 

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

- Semantics: Returns a new sequence, with - all the elements of seq, - in their original order, except those in the range [first,last). + Semantics: Returns a new sequence, with + all the elements of seq, + in their original order, except those in the range [first,last).

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
 #include <boost/fusion/algorithm/transformation/erase.hpp>
 
- + Example
-const vector<int, double, char> vec(1, 2.0, 'c');
-assert(erase(vec, next(begin(vec))) == make_vector(1, 'c'));
-assert(erase(vec, next(begin(vec)), end(vec)) == make_vector(1));
+const vector<int, double, char> vec(1, 2.0, 'c');
+assert(erase(vec, next(begin(vec))) == make_vector(1, 'c'));
+assert(erase(vec, next(begin(vec)), end(vec)) == make_vector(1));
 
@@ -202,7 +202,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/erase_key.html b/doc/html/fusion/algorithms/transformation/functions/erase_key.html index e0a5aeeb..b9ad0b0e 100644 --- a/doc/html/fusion/algorithms/transformation/functions/erase_key.html +++ b/doc/html/fusion/algorithms/transformation/functions/erase_key.html @@ -3,43 +3,43 @@ erase_key - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

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

Table 1.64. Parameters

+

Table 1.64. Parameters

@@ -78,7 +78,7 @@

- seq + seq

@@ -97,7 +97,7 @@

- Key + Key

@@ -115,43 +115,43 @@
- + Expression Semantics
-erase_key<Key>(seq);
+erase_key<Key>(seq);
 

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

- Semantics: Returns a new sequence, containing - all the elements of seq, - except those with key Key. + Semantics: Returns a new sequence, containing + all the elements of seq, + except those with key Key.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
 #include <boost/fusion/algorithm/transformation/erase_key.hpp>
 
- + Example
-assert(erase_key<int>(make_map<int, long>('a', 'b')) == make_map<long>('b'));
+assert(erase_key<int>(make_map<int, long>('a', 'b')) == make_map<long>('b'));
 
@@ -161,7 +161,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/filter.html b/doc/html/fusion/algorithms/transformation/functions/filter.html index 91f95064..02bf4eae 100644 --- a/doc/html/fusion/algorithms/transformation/functions/filter.html +++ b/doc/html/fusion/algorithms/transformation/functions/filter.html @@ -3,30 +3,30 @@ filter - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

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

Table 1.53. Parameters

+

Table 1.53. Parameters

@@ -73,7 +73,7 @@

- seq + seq

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

- T + T

@@ -110,45 +110,45 @@
- + Expression Semantics
-filter<T>(seq);
+filter<T>(seq);
 

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

- Semantics: Returns a sequence containing - all the elements of seq - of type T. Equivalent - to filter_if<boost::same_type<_, T> >(seq). + Semantics: Returns a sequence containing + all the elements of seq + of type T. Equivalent + 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>
 
- + Example
-const vector<int,int,long,long> vec(1,2,3,4);
-assert(filter<int>(vec) == make_vector(1,2));
+const vector<int,int,long,long> vec(1,2,3,4);
+assert(filter<int>(vec) == make_vector(1,2));
 
@@ -158,7 +158,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/filter_if.html b/doc/html/fusion/algorithms/transformation/functions/filter_if.html index edf5d5c4..7142a8c3 100644 --- a/doc/html/fusion/algorithms/transformation/functions/filter_if.html +++ b/doc/html/fusion/algorithms/transformation/functions/filter_if.html @@ -3,39 +3,39 @@ filter_if - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- For a given sequence, filter_if returns a new sequences + For a given sequence, filter_if returns a new sequences containing only the elements with types for which a given MPL - Lambda Expression evaluates to boost::mpl::true_. + Lambda Expression evaluates to boost::mpl::true_.

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

Table 1.54. Parameters

+

Table 1.54. Parameters

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

- seq + seq

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

- Pred + Pred

@@ -112,46 +112,46 @@
- + Expression Semantics
-filter_if<Pred>(seq);
+filter_if<Pred>(seq);
 

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

- Semantics: Returns a sequence containing - all the elements of seq - with types for which Pred - evaluates to boost::mpl::true_. The order of the retained elements + Semantics: Returns a sequence containing + all the elements of seq + with types for which Pred + evaluates to boost::mpl::true_. The order of the retained elements is the same as in the original sequence.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
 #include <boost/fusion/algorithm/transformation/filter_if.hpp>
 
- + Example
-const vector<int,int,double,double> vec(1,2,3.0,4.0);
-assert(filter_if<is_integral<mpl::_> >(vec) == make_vector(1,2));
+const vector<int,int,double,double> vec(1,2,3.0,4.0);
+assert(filter_if<is_integral<mpl::_> >(vec) == make_vector(1,2));
 
@@ -161,7 +161,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/insert.html b/doc/html/fusion/algorithms/transformation/functions/insert.html index d7063c5c..812ba362 100644 --- a/doc/html/fusion/algorithms/transformation/functions/insert.html +++ b/doc/html/fusion/algorithms/transformation/functions/insert.html @@ -3,30 +3,30 @@ insert - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

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

Table 1.65. Parameters

+

Table 1.65. Parameters

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

- seq + seq

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

- pos + pos

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

- t + t

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

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

- Semantics: Returns a new sequence, containing - all the elements of seq, + Semantics: Returns a new sequence, containing + all the elements of seq, in their original order, and a new element with the type and value of - t inserted at iterator - pos. + t inserted at iterator + pos.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
 #include <boost/fusion/algorithm/transformation/insert.hpp>
 
- + Example
-const vector<int,int> vec(1,2);
-assert(insert(vec, next(begin(vec)), 3) == make_vector(1,3,2));
+const vector<int,int> vec(1,2);
+assert(insert(vec, next(begin(vec)), 3) == make_vector(1,3,2));
 
@@ -179,7 +179,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/insert_range.html b/doc/html/fusion/algorithms/transformation/functions/insert_range.html index 6297295f..b117a4c9 100644 --- a/doc/html/fusion/algorithms/transformation/functions/insert_range.html +++ b/doc/html/fusion/algorithms/transformation/functions/insert_range.html @@ -3,30 +3,30 @@ insert_range - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

@@ -34,7 +34,7 @@ iterator.

- + Synposis
@@ -43,11 +43,11 @@
     typename Pos,
     typename Range
     >
-typename result_of::insert_range<Sequence const, Pos, Range>::type insert_range(
+typename result_of::insert_range<Sequence const, Pos, Range>::type insert_range(
     Sequence const& seq, Pos const& pos, Range const& range);
 
-

Table 1.66. Parameters

+

Table 1.66. Parameters

@@ -75,7 +75,7 @@

- seq + seq

@@ -94,7 +94,7 @@

- pos + pos

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

- range + range

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

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

- Semantics: Returns a new sequence, containing - all the elements of seq, - and the elements of range - inserted at iterator pos. + Semantics: Returns a new sequence, containing + all the elements of seq, + and the elements of range + inserted at iterator pos. All elements retaining their ordering from the orignal sequences.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
 #include <boost/fusion/algorithm/transformation/insert_range.hpp>
 
- + Example
-const vector<int,int> vec(1,2);
-assert(insert_range(vec, next(begin(vec)), make_vector(3,4)) == make_vector(1,3,4,2));
+const vector<int,int> vec(1,2);
+assert(insert_range(vec, next(begin(vec)), make_vector(3,4)) == make_vector(1,3,4,2));
 
@@ -182,7 +182,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/join.html b/doc/html/fusion/algorithms/transformation/functions/join.html index 4be3106d..44bfe402 100644 --- a/doc/html/fusion/algorithms/transformation/functions/join.html +++ b/doc/html/fusion/algorithms/transformation/functions/join.html @@ -3,30 +3,30 @@ join - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

@@ -34,17 +34,17 @@ first followed by the elements of the second.

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

Table 1.67. Parameters

+

Table 1.67. Parameters

@@ -72,7 +72,7 @@

- lhs + lhs

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

- rhs + rhs

@@ -111,46 +111,46 @@
- + Expression Semantics
-join(lhs, rhs);
+join(lhs, rhs);
 

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

- Semantics: Returns a sequence containing - all the elements of lhs - followed by all the elements of rhs. + Semantics: Returns a sequence containing + all the elements of lhs + followed by all the elements of rhs. The order of th elements is preserved.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
 #include <boost/fusion/algorithm/transformation/join.hpp>
 
- + Example
-vector<int,char> v1(1, 'a');
-vector<int,char> v2(2, 'b');
-assert(join(v1, v2) == make_vector(1,'a',2,'b'));
+vector<int,char> v1(1, 'a');
+vector<int,char> v2(2, 'b');
+assert(join(v1, v2) == make_vector(1,'a',2,'b'));
 
@@ -160,7 +160,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/pop_back.html b/doc/html/fusion/algorithms/transformation/functions/pop_back.html index f92701c8..58b34be5 100644 --- a/doc/html/fusion/algorithms/transformation/functions/pop_back.html +++ b/doc/html/fusion/algorithms/transformation/functions/pop_back.html @@ -3,47 +3,47 @@ pop_back - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

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

Table 1.69. Parameters

+

Table 1.69. Parameters

@@ -70,7 +70,7 @@

- seq + seq

@@ -89,44 +89,44 @@
- + Expression Semantics
-pop_back(seq);
+pop_back(seq);
 

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

- Semantics: Returns a new sequence containing - all the elements of seq, + Semantics: Returns a new sequence containing + all the elements of seq, except the last element. The elements in the new sequence are in the - same order as they were in seq. + 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>
 
- + Example
-assert(___pop_back__(make_vector(1,2,3)) == make_vector(1,2));
+assert(___pop_back__(make_vector(1,2,3)) == make_vector(1,2));
 
@@ -136,7 +136,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/pop_front.html b/doc/html/fusion/algorithms/transformation/functions/pop_front.html index 79e797ad..2177bbbf 100644 --- a/doc/html/fusion/algorithms/transformation/functions/pop_front.html +++ b/doc/html/fusion/algorithms/transformation/functions/pop_front.html @@ -3,47 +3,47 @@ pop_front - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

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

Table 1.70. Parameters

+

Table 1.70. Parameters

@@ -70,7 +70,7 @@

- seq + seq

@@ -89,44 +89,44 @@
- + Expression Semantics
-pop_front(seq);
+pop_front(seq);
 

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

- Semantics: Returns a new sequence containing - all the elements of seq, + Semantics: Returns a new sequence containing + all the elements of seq, except the first element. The elements in the new sequence are in the - same order as they were in seq. + 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>
 
- + Example
-assert(pop_front(make_vector(1,2,3)) == make_vector(2,3));
+assert(pop_front(make_vector(1,2,3)) == make_vector(2,3));
 
@@ -136,7 +136,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/push_back.html b/doc/html/fusion/algorithms/transformation/functions/push_back.html index 903c48ca..9d9af052 100644 --- a/doc/html/fusion/algorithms/transformation/functions/push_back.html +++ b/doc/html/fusion/algorithms/transformation/functions/push_back.html @@ -3,37 +3,37 @@ push_back - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

- + Synopsis
@@ -41,11 +41,11 @@
     typename Sequence,
     typename T
     >
-typename result_of::push_back<Sequence, T>::type push_back(
+typename result_of::push_back<Sequence, T>::type push_back(
     Sequence const& seq, T const& t);
 
-

Table 1.71. Parameters

+

Table 1.71. Parameters

@@ -73,7 +73,7 @@

- seq + seq

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

- t + t

@@ -110,44 +110,44 @@
- + Expression Semantics
-push_back(seq, t);
+push_back(seq, t);
 

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

- Semantics: Returns a new sequence, containing - all the elements of seq, - and new element t appended - to the end. The elements are in the same order as they were in seq. + Semantics: Returns a new sequence, containing + all the elements of seq, + and new element t appended + to the end. The elements are in the same order as they were in seq.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
 #include <boost/fusion/algorithm/transformation/push_back.hpp>
 
- + Example
-assert(push_back(make_vector(1,2,3),4) == make_vector(1,2,3,4));
+assert(push_back(make_vector(1,2,3),4) == make_vector(1,2,3,4));
 
@@ -157,7 +157,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/push_front.html b/doc/html/fusion/algorithms/transformation/functions/push_front.html index d0aeb73d..0a600437 100644 --- a/doc/html/fusion/algorithms/transformation/functions/push_front.html +++ b/doc/html/fusion/algorithms/transformation/functions/push_front.html @@ -3,37 +3,37 @@ push_front - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

- + Synopsis
@@ -41,11 +41,11 @@
     typename Sequence,
     typename T
     >
-typename result_of::push_front<Sequence, T>::type push_front(
+typename result_of::push_front<Sequence, T>::type push_front(
     Sequence const& seq, T const& t);
 
-

Table 1.72. Parameters

+

Table 1.72. Parameters

@@ -73,7 +73,7 @@

- seq + seq

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

- t + t

@@ -110,45 +110,45 @@
- + Expression Semantics
-push_back(seq, t);
+push_back(seq, t);
 

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

- Semantics: Returns a new sequence, containing - all the elements of seq, - and new element t appended + Semantics: Returns a new sequence, containing + all the elements of seq, + and new element t appended to the beginning. The elements are in the same order as they were in - seq. + seq.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
 #include <boost/fusion/algorithm/transformation/push_front.hpp>
 
- + Example
-assert(push_front(make_vector(1,2,3),0) == make_vector(0,1,2,3));
+assert(push_front(make_vector(1,2,3),0) == make_vector(0,1,2,3));
 
@@ -158,7 +158,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/remove.html b/doc/html/fusion/algorithms/transformation/functions/remove.html index 4e35bf0c..9f6577d2 100644 --- a/doc/html/fusion/algorithms/transformation/functions/remove.html +++ b/doc/html/fusion/algorithms/transformation/functions/remove.html @@ -3,30 +3,30 @@ remove - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

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

Table 1.59. Parameters

+

Table 1.59. Parameters

@@ -73,7 +73,7 @@

- seq + seq

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

- T + T

@@ -110,45 +110,45 @@
- + Expression Semantics
-remove<T>(seq);
+remove<T>(seq);
 

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

- Semantics: Returns a new sequence, containing - all the elements of seq, - in their original order, except those of type T. - Equivalent to remove_if<boost::is_same<_,T> >(seq). + Semantics: Returns a new sequence, containing + all the elements of seq, + in their original order, except those of type T. + 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>
 
- + Example
-const vector<int,double> vec(1,2.0);
-assert(remove<double>(vec) == make_vector(1));
+const vector<int,double> vec(1,2.0);
+assert(remove<double>(vec) == make_vector(1));
 
@@ -158,7 +158,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/remove_if.html b/doc/html/fusion/algorithms/transformation/functions/remove_if.html index 89d4cb02..622500ca 100644 --- a/doc/html/fusion/algorithms/transformation/functions/remove_if.html +++ b/doc/html/fusion/algorithms/transformation/functions/remove_if.html @@ -3,38 +3,38 @@ remove_if - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

Returns a new sequence, containing all the elements of the original except - those where a given unary function object evaluates to true. + those where a given unary function object evaluates to true.

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

Table 1.60. Parameters

+

Table 1.60. Parameters

@@ -73,7 +73,7 @@

- seq + seq

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

- Pred + Pred

@@ -111,46 +111,46 @@
- + Expression Semantics
-remove_if<Pred>(seq);
+remove_if<Pred>(seq);
 

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

- Semantics: Returns a new sequence, containing - all the elements of seq, + Semantics: Returns a new sequence, containing + all the elements of seq, in their original order, except those elements with types for which - Pred evaluates to boost::mpl::true_. Equivalent to filter<boost::mpl::not_<Pred> - >(seq). + Pred evaluates to boost::mpl::true_. Equivalent to filter<boost::mpl::not_<Pred> + >(seq).

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
 #include <boost/fusion/algorithm/transformation/remove_if.hpp>
 
- + Example
-const vector<int,double> vec(1,2.0);
-assert(remove_if<is_floating_point<mpl::_> >(vec) == make_vector(1));
+const vector<int,double> vec(1,2.0);
+assert(remove_if<is_floating_point<mpl::_> >(vec) == make_vector(1));
 
@@ -160,7 +160,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/replace.html b/doc/html/fusion/algorithms/transformation/functions/replace.html index c0efe040..1d4e7b04 100644 --- a/doc/html/fusion/algorithms/transformation/functions/replace.html +++ b/doc/html/fusion/algorithms/transformation/functions/replace.html @@ -3,30 +3,30 @@ replace - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

- + Synopsis
@@ -42,11 +42,11 @@
     typename Sequence,
     typename T
     >
-typename result_of::replace<Sequence const, T>::type replace(
+typename result_of::replace<Sequence const, T>::type replace(
     Sequence const& seq, T const& old_value, T const& new_value);
 
-

Table 1.57. Parameters

+

Table 1.57. Parameters

@@ -74,18 +74,18 @@

- seq + seq

A model of Forward - Sequence, e == old_value - is a valid expression, convertible to bool, - for each element e - in seq with type - convertible to T + Sequence, e == old_value + is a valid expression, convertible to bool, + for each element e + in seq with type + convertible to T

@@ -97,7 +97,7 @@

- old_value + old_value

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

- new_value + new_value

@@ -132,44 +132,44 @@
- + Expression Semantics
-replace(seq, old_value, new_value);
+replace(seq, old_value, new_value);
 

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

- Semantics: Returns a new sequence with - all the values of seq - with new_value assigned - to elements with the same type and equal to old_value. + Semantics: Returns a new sequence with + all the values of seq + with new_value assigned + 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>
 
- + Example
-assert(replace(make_vector(1,2), 2, 3) == make_vector(1,3));
+assert(replace(make_vector(1,2), 2, 3) == make_vector(1,3));
 
@@ -179,7 +179,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/replace_if.html b/doc/html/fusion/algorithms/transformation/functions/replace_if.html index fe9d308d..e7462b27 100644 --- a/doc/html/fusion/algorithms/transformation/functions/replace_if.html +++ b/doc/html/fusion/algorithms/transformation/functions/replace_if.html @@ -3,39 +3,39 @@ replace_if - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

Replaces each element of a given sequence for which an unary function - object evaluates to true + object evaluates to true replaced with a new value.

- + Synopsis
@@ -43,11 +43,11 @@
     typename Sequence,
     typename F,
     typename T>
-typename result_of::replace_if<Sequence const, F, T>::type replace_if(
+typename result_of::replace_if<Sequence const, F, T>::type replace_if(
     Sequence const& seq, F f, T const& new_value);
 
-

Table 1.58. Parameters

+

Table 1.58. Parameters

@@ -75,7 +75,7 @@

- seq + seq

@@ -94,14 +94,14 @@

- f + f

- A function object for which f(e) is a valid expression, convertible - to bool, for each - element e in seq + A function object for which f(e) is a valid expression, convertible + to bool, for each + element e in seq

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

- new_value + new_value

@@ -131,41 +131,41 @@
- + Expression Semantics
-replace_if(seq, f, new_value);
+replace_if(seq, f, new_value);
 

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

- Semantics: Returns a new sequence with - all the elements of seq, - with new_value assigned - to each element for which f - evaluates to true. + Semantics: Returns a new sequence with + all the elements of seq, + with new_value assigned + to each element for which f + evaluates to true.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
 #include <boost/fusion/algorithm/transformation/replace_if.hpp>
 
- + Example
@@ -178,7 +178,7 @@
     }
 };
 ...
-assert(replace_if(make_vector(1,2), odd(), 3) == make_vector(3,2));
+assert(replace_if(make_vector(1,2), odd(), 3) == make_vector(3,2));
 
@@ -188,7 +188,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/reverse.html b/doc/html/fusion/algorithms/transformation/functions/reverse.html index 4133ff04..cbe0dcde 100644 --- a/doc/html/fusion/algorithms/transformation/functions/reverse.html +++ b/doc/html/fusion/algorithms/transformation/functions/reverse.html @@ -3,47 +3,47 @@ reverse - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

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

Table 1.61. Parameters

+

Table 1.61. Parameters

@@ -70,7 +70,7 @@

- seq + seq

@@ -89,43 +89,43 @@
- + Expression Semantics
-reverse(seq);
+reverse(seq);
 

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

- Semantics: Returns a new sequence containing - all the elements of seq + Semantics: Returns a new sequence containing + all the elements of seq in reverse order.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
 #include <boost/fusion/algorithm/transformation/reverse.hpp>
 
- + Example
-assert(reverse(make_vector(1,2,3)) == make_vector(3,2,1));
+assert(reverse(make_vector(1,2,3)) == make_vector(3,2,1));
 
@@ -135,7 +135,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/transform.html b/doc/html/fusion/algorithms/transformation/functions/transform.html index bccc7f4f..081723b7 100644 --- a/doc/html/fusion/algorithms/transformation/functions/transform.html +++ b/doc/html/fusion/algorithms/transformation/functions/transform.html @@ -3,42 +3,41 @@ transform - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- For a sequence seq and - Polymorphic Function - Object F, transform returns a new sequence with - elements created by applying F - to each element of seq. + For a sequence seq and + function object or function pointer f, + transform returns a new + sequence with elements created by applying f(e) to each element of e + of seq.

- + Unary version synopsis
@@ -47,11 +46,11 @@ typename Sequence, typename F > -typename result_of::transform<Sequence const, F>::type transform( +typename result_of::transform<Sequence const, F>::type transform( Sequence const& seq, F f);

-

Table 1.55. Parameters

+

Table 1.55. Parameters

@@ -79,7 +78,7 @@

- seq + seq

@@ -98,15 +97,15 @@

- f + f

- A model of unary Polymorphic - Function Object where f(e) is a valid expression for each - element e of seq + f(e) + is a valid expression for each element e + of seq. boost::result_of<F(E)>::type is the return type of f when called with a value of + each element type E.

@@ -119,25 +118,25 @@
- + Expression Semantics
-transform(seq, f);
+transform(seq, f);
 

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

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

- + Binary version synopsis
@@ -147,11 +146,11 @@ typename Sequence2, typename F > -typename result_of::transform<Sequence1 const, Sequence2 const, F>::type transform( +typename result_of::transform<Sequence1 const, Sequence2 const, F>::type transform( Sequence1 const& seq1, Sequence2 const& seq2, F f);
-

Table 1.56. Parameters

+

Table 1.56. Parameters

@@ -179,7 +178,7 @@

- seq1 + seq1

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

- seq2 + seq2

@@ -217,17 +216,16 @@

- f + f

- A model of binary Polymorphic - Function Object where f(e1, e2) is a valid expression for each - pair of elements e1 - and e2 of seq1 and seq2 - respectively + f(e1,e2) + is a valid expression for each pair of elements e1 + of seq1 and e2 of seq2. + boost::result_of<F(E1,E2)>::type is the return type of f when called with elements of + type E1 and E2

@@ -240,50 +238,45 @@

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

- Semantics: Returns a new sequence, containing - the return values of f(e1, e2) for each pair of elements e1 and e2 - within seq1 and seq2 respectively. + Semantics: Returns a new sequence, containing + the return values of f(e1, e2) for each pair of elements e1 and e2 + within seq1 and seq2 respectively.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
 #include <boost/fusion/algorithm/transformation/transform.hpp>
 
- + Example
 struct triple
 {
-    template<typename T>
-    struct result
-    {
-        typedef T type;
-    };
+    typedef int result_type;
 
-    template<typename T>
-    T operator()(T t) const
+    int operator()(int t) const
     {
         return t * 3;
     };
 };
 ...
-assert(transform(make_vector(1,2,3), triple()) == make_vector(3,6,9));
+assert(transform(make_vector(1,2,3), triple()) == make_vector(3,6,9));
 
@@ -293,7 +286,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/functions/zip.html b/doc/html/fusion/algorithms/transformation/functions/zip.html index 85f84acd..d4f8fa0f 100644 --- a/doc/html/fusion/algorithms/transformation/functions/zip.html +++ b/doc/html/fusion/algorithms/transformation/functions/zip.html @@ -3,30 +3,30 @@ zip - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

- + Synopsis
@@ -44,11 +44,11 @@
     ...
     typename SequenceN
     >
-typename result_of::zip<Sequence1, Sequence2, ... SequenceN>::type 
+typename result_of::zip<Sequence1, Sequence2, ... SequenceN>::type 
 zip(Sequence1 const& seq1, Sequence2 const& seq2, ... SequenceN const& seqN);
 
-

Table 1.68. Parameters

+

Table 1.68. Parameters

@@ -75,7 +75,7 @@

- seq1 to seqN + seq1 to seqN

@@ -94,50 +94,50 @@
- + Expression Semantics
-zip(seq1, seq2, ... seqN);
+zip(seq1, seq2, ... seqN);
 

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

- Semantics: Returns a sequence containing - tuples of elements from sequences seq1 - to seqN. For example, - applying zip to tuples (1, 2, 3) - and ('a', 'b', - 'c') - would return ((1, 'a'),(2, 'b'),(3, - 'c')) + Semantics: Returns a sequence containing + tuples of elements from sequences seq1 + to seqN. For example, + applying zip to tuples (1, 2, 3) + and ('a', 'b', + 'c') + would return ((1, 'a'),(2, 'b'),(3, + 'c'))

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
 #include <boost/fusion/algorithm/transformation/zip.hpp>
 
- + Example
-vector<int,char> v1(1, 'a');
-vector<int,char> v2(2, 'b');
-assert(zip(v1, v2) == make_vector(make_vector(1, 2),make_vector('a', 'b'));
+vector<int,char> v1(1, 'a');
+vector<int,char> v2(2, 'b');
+assert(zip(v1, v2) == make_vector(make_vector(1, 2),make_vector('a', 'b'));
 
@@ -147,7 +147,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions.html b/doc/html/fusion/algorithms/transformation/metafunctions.html index c4de0434..0f2ff997 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions.html @@ -3,24 +3,24 @@ Metafunctions - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext

@@ -54,7 +54,7 @@
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/clear.html b/doc/html/fusion/algorithms/transformation/metafunctions/clear.html index 03814118..848d0a47 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/clear.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/clear.html @@ -3,38 +3,38 @@ clear - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of clear, given the input sequence + Returns the result type of clear, given the input sequence type.

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

Table 1.81. Parameters

+

Table 1.82. Parameters

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

- Sequence + Sequence

@@ -91,30 +91,30 @@
- + Expression Semantics
-result_of::clear<Sequence>::type
+result_of::clear<Sequence>::type
 

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

- Semantics: Returns an empty sequence. + Semantics: Returns an empty sequence.

- + Complexity

Constant.

- + Header
@@ -128,7 +128,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/erase.html b/doc/html/fusion/algorithms/transformation/metafunctions/erase.html index 96a5b17e..31344d05 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/erase.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/erase.html @@ -3,38 +3,38 @@ erase - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext

- Returns the result type of erase, given the input sequence + Returns the result type of erase, given the input sequence and range delimiting iterator types.

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

Table 1.82. Parameters

+

Table 1.83. Parameters

@@ -76,7 +76,7 @@

- Sequence + Sequence

@@ -95,7 +95,7 @@

- It1 + It1

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

- It2 + It2

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

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

- Semantics: Returns a new sequence with - the element at It1 removed. + Semantics: Returns a new sequence with + the element at It1 removed.

-result_of::erase<Sequence, It1, It2>::type
+result_of::erase<Sequence, It1, It2>::type
 

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

- Semantics: Returns a new sequence with - the elements between It1 - and It2 removed. + Semantics: Returns a new sequence with + the elements between It1 + and It2 removed.

- + Complexity

Constant.

- + Header
@@ -185,7 +185,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/erase_key.html b/doc/html/fusion/algorithms/transformation/metafunctions/erase_key.html index 73d9f525..dd6dd245 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/erase_key.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/erase_key.html @@ -3,38 +3,38 @@ erase_key - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of erase_key, given the sequence + Returns the result type of erase_key, given the sequence and key types.

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

Table 1.83. Parameters

+

Table 1.84. Parameters

@@ -76,7 +76,7 @@

- Sequence + Sequence

@@ -95,7 +95,7 @@

- Key + Key

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

- Return type: A model of Return type: A model of Associative Sequence.

- Semantics: Returns a sequence with the - elements of Sequence, - except those with key Key. + Semantics: Returns a sequence with the + elements of Sequence, + except those with key Key.

- + Complexity

Constant.

- + Header
@@ -152,7 +152,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/filter.html b/doc/html/fusion/algorithms/transformation/metafunctions/filter.html index 88495f1b..f15bf0a2 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/filter.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/filter.html @@ -3,38 +3,38 @@ filter - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of filter given the sequence type + Returns the result type of filter given the sequence type and type to retain.

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

Table 1.73. Parameter

+

Table 1.73. Parameter

@@ -76,7 +76,7 @@

- Sequence + Sequence

@@ -95,7 +95,7 @@

- T + T

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

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

- Semantics: Returns a sequence containing - the elements of Sequence - that are of type T. Equivalent - to result_of::filter_if<Sequence, - boost::is_same<mpl::_, T> >::type. + Semantics: Returns a sequence containing + the elements of Sequence + that are of type T. Equivalent + to result_of::filter_if<Sequence, + boost::is_same<mpl::_, T> >::type.

- + Complexity

Constant.

- + Header
@@ -154,7 +154,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/filter_if.html b/doc/html/fusion/algorithms/transformation/metafunctions/filter_if.html index 924d6d59..8906392b 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/filter_if.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/filter_if.html @@ -3,39 +3,39 @@ filter_if - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of filter_if given the sequence + Returns the result type of filter_if given the sequence and unary MPL Lambda Expression predicate type.

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

Table 1.74. Parameter

+

Table 1.74. Parameter

@@ -77,7 +77,7 @@

- Sequence + Sequence

@@ -96,7 +96,7 @@

- Pred + Pred

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

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

- Semantics: Returns a sequence containing - the elements of Sequence - for which Pred evaluates - to boost::mpl::true_. + Semantics: Returns a sequence containing + the elements of Sequence + for which Pred evaluates + to boost::mpl::true_.

- + Complexity

Constant.

- + Header
@@ -155,7 +155,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/insert.html b/doc/html/fusion/algorithms/transformation/metafunctions/insert.html index 0be4e506..20a5d409 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/insert.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/insert.html @@ -3,38 +3,38 @@ insert - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of insert, given the sequence, + Returns the result type of insert, given the sequence, position iterator and insertion types.

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

Table 1.84. Parameters

+

Table 1.85. Parameters

@@ -77,7 +77,7 @@

- Sequence + Sequence

@@ -96,7 +96,7 @@

- Position + Position

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

- T + T

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

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

- Semantics: Returns a sequence with an - element of type T inserted - at position Position - in Sequence. + Semantics: Returns a sequence with an + element of type T inserted + at position Position + in Sequence.

- + Complexity

Constant.

- + Header
@@ -173,7 +173,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/insert_range.html b/doc/html/fusion/algorithms/transformation/metafunctions/insert_range.html index f527f3bb..a6482a74 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/insert_range.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/insert_range.html @@ -3,38 +3,38 @@ insert_range - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of insert_range, given the input + Returns the result type of insert_range, given the input sequence, position iterator and insertion range types.

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

Table 1.85. Parameters

+

Table 1.86. Parameters

@@ -77,7 +77,7 @@

- Sequence + Sequence

@@ -96,7 +96,7 @@

- Position + Position

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

- Range + Range

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

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

- Semantics: Returns a sequence with the - elements of Range inserted - at position Position - into Sequence. + Semantics: Returns a sequence with the + elements of Range inserted + at position Position + into Sequence.

- + Complexity

Constant.

- + Header
@@ -175,7 +175,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/join.html b/doc/html/fusion/algorithms/transformation/metafunctions/join.html index fff63a5f..756668ab 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/join.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/join.html @@ -3,37 +3,37 @@ join - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

- + Synopsis
@@ -47,33 +47,33 @@
 };
 
- + Expression Semantics
-result_of::join<LhSequence, RhSequence>::type
+result_of::join<LhSequence, RhSequence>::type
 

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

- Semantics: Returns a sequence containing - the elements of LhSequence - followed by the elements of RhSequence. + Semantics: Returns a sequence containing + the elements of LhSequence + followed by the elements of RhSequence. The order of the elements in the 2 sequences is preserved.

- + Complexity

Constant.

- + Header
@@ -87,7 +87,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/pop_back.html b/doc/html/fusion/algorithms/transformation/metafunctions/pop_back.html index 1c00e9f1..86a05857 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/pop_back.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/pop_back.html @@ -3,38 +3,38 @@ pop_back - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of pop_back, given the input sequence + Returns the result type of pop_back, given the input sequence type.

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

Table 1.86. Parameters

+

Table 1.87. Parameters

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

- Sequence + Sequence

@@ -93,32 +93,32 @@
- + Expression Semantics
-result_of::pop_back<Sequence>::type
+result_of::pop_back<Sequence>::type
 

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

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

- + Complexity

Constant.

- + Header
@@ -132,7 +132,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/pop_front.html b/doc/html/fusion/algorithms/transformation/metafunctions/pop_front.html index 7d71fe88..309d7ff8 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/pop_front.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/pop_front.html @@ -3,38 +3,38 @@ pop_front - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of pop_front, given the input sequence + Returns the result type of pop_front, given the input sequence type.

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

Table 1.87. Parameters

+

Table 1.88. Parameters

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

- Sequence + Sequence

@@ -93,32 +93,32 @@
- + Expression Semantics
-result_of::pop_front<Sequence>::type
+result_of::pop_front<Sequence>::type
 

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

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

- + Complexity

Constant.

- + Header
@@ -132,7 +132,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/push_back.html b/doc/html/fusion/algorithms/transformation/metafunctions/push_back.html index 272a506b..651aef5d 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/push_back.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/push_back.html @@ -3,38 +3,38 @@ push_back - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of push_back, given the types of + Returns the result type of push_back, given the types of the input sequence and element to push.

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

Table 1.88. Parameters

+

Table 1.89. Parameters

@@ -76,7 +76,7 @@

- Sequence + Sequence

@@ -95,7 +95,7 @@

- T + T

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

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

- Semantics: Returns a sequence with the - elements of Sequence - and an element of type T + Semantics: Returns a sequence with the + elements of Sequence + and an element of type T added to the end.

- + Complexity

Constant.

- + Header
@@ -153,7 +153,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/push_front.html b/doc/html/fusion/algorithms/transformation/metafunctions/push_front.html index a415378a..ea40b769 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/push_front.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/push_front.html @@ -3,38 +3,38 @@ push_front - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of push_front, given the types + Returns the result type of push_front, given the types of the input sequence and element to push.

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

Table 1.89. Parameters

+

Table 1.90. Parameters

@@ -76,7 +76,7 @@

- Sequence + Sequence

@@ -95,7 +95,7 @@

- T + T

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

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

- Semantics: Returns a sequence with the - elements of Sequence - and an element of type T + Semantics: Returns a sequence with the + elements of Sequence + and an element of type T added to the beginning.

- + Complexity

Constant.

- + Header
@@ -153,7 +153,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/remove.html b/doc/html/fusion/algorithms/transformation/metafunctions/remove.html index af5c8dde..e7fcd282 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/remove.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/remove.html @@ -3,38 +3,38 @@ remove - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of remove, given the sequence and + Returns the result type of remove, given the sequence and removal types.

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

Table 1.78. Parameters

+

Table 1.79. Parameters

@@ -76,7 +76,7 @@

- Sequence + Sequence

@@ -95,7 +95,7 @@

- T + T

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

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

- Semantics: Returns a sequence containing - the elements of Sequence - not of type T. Equivalent - to result_of::replace_if<Sequence, - boost::is_same<mpl::_, T> >::type. + Semantics: Returns a sequence containing + the elements of Sequence + not of type T. Equivalent + to result_of::replace_if<Sequence, + boost::is_same<mpl::_, T> >::type.

- + Complexity

Constant.

- + Header
@@ -154,7 +154,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/remove_if.html b/doc/html/fusion/algorithms/transformation/metafunctions/remove_if.html index 2ddbba4f..c872fb81 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/remove_if.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/remove_if.html @@ -3,39 +3,39 @@ remove_if - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of remove_if, given the input sequence + Returns the result type of remove_if, given the input sequence and unary MPL Lambda Expression predicate types.

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

Table 1.79. Parameters

+

Table 1.80. Parameters

@@ -77,7 +77,7 @@ @@ -115,33 +115,33 @@

- Sequence + Sequence

@@ -96,7 +96,7 @@

- Pred + Pred

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

- Remove elements which evaluate to boost::mpl::true_ + Remove elements which evaluate to boost::mpl::true_

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

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

- Semantics: Returns a sequence containing - the elements of Sequence - for which Pred evaluates - to boost::mpl::false_. + Semantics: Returns a sequence containing + the elements of Sequence + for which Pred evaluates + to boost::mpl::false_.

- + Complexity

Constant.

- + Header
@@ -155,7 +155,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/replace.html b/doc/html/fusion/algorithms/transformation/metafunctions/replace.html index 377e3fab..e294e80d 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/replace.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/replace.html @@ -3,38 +3,38 @@ replace - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of replace, given the types of + Returns the result type of replace, given the types of the input sequence and element to replace.

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

Table 1.76. Parameters

+

Table 1.77. Parameters

@@ -76,7 +76,7 @@

- Sequence + Sequence

@@ -95,7 +95,7 @@

- T + T

@@ -113,31 +113,31 @@
- + Expression Semantics
-result_of::replace<Sequence,T>::type
+result_of::replace<Sequence,T>::type
 

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

- Semantics: Returns the return type of - replace. + Semantics: Returns the return type of + replace.

- + Complexity

Constant.

- + Header
@@ -151,7 +151,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/replace_if.html b/doc/html/fusion/algorithms/transformation/metafunctions/replace_if.html index 7c2bc12a..11a76dd0 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/replace_if.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/replace_if.html @@ -3,40 +3,40 @@ replace_if - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of replace_if, given the types + Returns the result type of replace_if, given the types of the sequence, Polymorphic Function Object predicate and replacement object.

- + Synopsis
@@ -50,7 +50,7 @@
 };
 
-

Table 1.77. Parameters

+

Table 1.78. Parameters

@@ -78,7 +78,7 @@

- Sequence + Sequence

@@ -97,7 +97,7 @@

- F + F

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

- T + T

@@ -134,31 +134,31 @@
- + Expression Semantics
-result_of::replace_if<Sequence,F,T>::type
+result_of::replace_if<Sequence,F,T>::type
 

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

- Semantics: Returns the return type of - replace_if. + Semantics: Returns the return type of + replace_if.

- + Complexity

Constant.

- + Header
@@ -172,7 +172,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/reverse.html b/doc/html/fusion/algorithms/transformation/metafunctions/reverse.html index 611743f9..9cab050a 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/reverse.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/reverse.html @@ -3,38 +3,38 @@ reverse - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result type of reverse, given the input sequence + Returns the result type of reverse, given the input sequence type.

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

Table 1.80. Parameters

+

Table 1.81. Parameters

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

- Sequence + Sequence

@@ -93,31 +93,31 @@
- + Expression Semantics
-result_of::reverse<Sequence>::type
+result_of::reverse<Sequence>::type
 

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

- Semantics: Returns a sequence with the - elements in the reverse order to Sequence. + Semantics: Returns a sequence with the + elements in the reverse order to Sequence.

- + Complexity

Constant.

- + Header
@@ -131,7 +131,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/transform.html b/doc/html/fusion/algorithms/transformation/metafunctions/transform.html index c540e017..dc21f9c4 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/transform.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/transform.html @@ -3,54 +3,54 @@ transform - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

- Returns the result of type transform, given the sequence - and Polymorphic Function - Object types. + For a sequence seq and + function object or function pointer f, + transform returns a new + sequence with elements created by applying f(e) to each element of e + of seq.

-
- - Synopsis +
+ + Unary + version synopsis
 template<
     typename Sequence,
     typename F
     >
-struct transform
-{
-    typedef unspecified type;
-};
+typename result_of::transform<Sequence const, F>::type transform(
+    Sequence const& seq, F f);
 
-

Table 1.75. Parameters

+

Table 1.75. Parameters

@@ -78,7 +78,7 @@ @@ -117,36 +118,166 @@

- Sequence + seq

@@ -97,19 +97,20 @@

- F + f

- A model of unary Polymorphic - Function Object + f(e) + is a valid expression for each element e + of seq. boost::result_of<F(E)>::type is the return type of f when called with a value of + each element type E.

- Transformation function object + Transformation function

- + Expression Semantics
-result_of::transform<Sequence, F>::type
+transform(seq, f);
 

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

+

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

+
+ + Binary + version synopsis +
+
+template<
+    typename Sequence1,
+    typename Sequence2,
+    typename F
+    >
+typename result_of::transform<Sequence1 const, Sequence2 const, F>::type transform(
+    Sequence1 const& seq1, Sequence2 const& seq2, F f);
+
+
+

Table 1.76. Parameters

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

+ Parameter +

+
+

+ Requirement +

+
+

+ Description +

+
+

+ seq1 +

+
+

+ A model of Forward + Sequence +

+
+

+ Operation's argument +

+
+

+ seq2 +

+
+

+ A model of Forward + Sequence +

+
+

+ Operation's argument +

+
+

+ f +

+
+

+ f(e1,e2) + is a valid expression for each pair of elements e1 + of seq1 and e2 of seq2. + boost::result_of<F(E1,E2)>::type is the return type of f when called with elements of + type E1 and E2 +

+
+

+ Transformation function +

+
+
+

+ Return type: A model of Forward Sequence.

- Semantics: Returns a sequence with values - F::result<E>::type for each element type E in Sequence. + Semantics: Returns a new sequence, containing + the return values of f(e1, e2) for each pair of elements e1 and e2 + within seq1 and seq2 respectively.

- + Complexity

- Constant. + Constant. Returns a view which is lazily evaluated.

- + Header
 #include <boost/fusion/algorithm/transformation/transform.hpp>
 
+
+ + Example +
+
+struct triple
+{
+    typedef int result_type;
+
+    int operator()(int t) const
+    {
+        return t * 3;
+    };
+};
+...
+assert(transform(make_vector(1,2,3), triple()) == make_vector(3,6,9));
+
@@ -155,7 +286,7 @@

-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/algorithms/transformation/metafunctions/zip.html b/doc/html/fusion/algorithms/transformation/metafunctions/zip.html index 79584652..9a629d83 100644 --- a/doc/html/fusion/algorithms/transformation/metafunctions/zip.html +++ b/doc/html/fusion/algorithms/transformation/metafunctions/zip.html @@ -3,30 +3,30 @@ zip - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext
- + Description

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

- + Synopsis
@@ -50,37 +50,37 @@
 };
 
- + Expression Semantics
-result_of::zip<Sequence1, Sequence2, ... SequenceN>::type
+result_of::zip<Sequence1, Sequence2, ... SequenceN>::type
 

- Return type: A model of the most restrictive - traversal category of sequences Sequence1 - to SequenceN. + Return type: A model of the most restrictive + traversal category of sequences Sequence1 + to SequenceN.

- Semantics: Return a sequence containing + Semantics: Return a sequence containing tuples of elements from each sequence. For example, applying zip to tuples - (1, 2, - 3) - and ('a', 'b', - 'c') - would return ((1, 'a'),(2, 'b'),(3, - 'c')) + (1, 2, + 3) + and ('a', 'b', + 'c') + would return ((1, 'a'),(2, 'b'),(3, + 'c'))

- + Complexity

Constant.

- + Header
@@ -94,7 +94,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/change_log.html b/doc/html/fusion/change_log.html index 8a3fbe13..b21a629f 100644 --- a/doc/html/fusion/change_log.html +++ b/doc/html/fusion/change_log.html @@ -3,24 +3,24 @@ Change log - + - +
-
Boost C++ Libraries Home Libraries People FAQ More
+
-PrevUpHomeNext +PrevUpHomeNext

@@ -30,11 +30,11 @@

  • - Sep 27, 2006: Added boost::tuple + Sep 27, 2006: Added boost::tuple support.
  • - Nov 17, 2006: Added boost::variant + Nov 17, 2006: Added boost::variant support.
  • @@ -49,7 +49,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/extension.html b/doc/html/fusion/extension.html index 711094bc..6187ce86 100644 --- a/doc/html/fusion/extension.html +++ b/doc/html/fusion/extension.html @@ -3,32 +3,32 @@ Extension - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    The Fusion library is designed to be extensible, new sequences types can easily - be added. In fact, the library support for std::pair, - boost::array and MPL + be added. In fact, the library support for std::pair, + boost::array and MPL sequences is entirely provided using the extension mechanism.

    @@ -48,7 +48,7 @@

- + Our example

@@ -73,14 +73,14 @@

We are going to pretend that this type has been provided by a 3rd party library, and therefore cannot be modified. We shall work through all the necessary steps - to enable example_struct to + to enable example_struct to serve as an Associative Sequence as described in the Quick Start guide.

- + Enabling Tag Dispatching

@@ -95,9 +95,9 @@ }

- Next we need to enable the traits::tag_of + Next we need to enable the traits::tag_of metafunction to return our newly chosen tag type for operations involving our - sequence. This is done by specializing traits::tag_of + sequence. This is done by specializing traits::tag_of for our sequence type.

@@ -112,8 +112,8 @@
 }}}
 

- traits::tag_of also has a second template argument, - that can be used in conjuction with boost::enable_if + traits::tag_of also has a second template argument, + that can be used in conjuction with boost::enable_if to provide tag support for groups of related types. This feature is not necessary for our sequence, but for an example see the code in:

@@ -121,7 +121,7 @@ #include <boost/fusion/sequence/adapted/mpl/tag_of.hpp>

- + Designing a suitable iterator

@@ -131,9 +131,9 @@ access iterator in our example.

- We will use a simple design, in which the 2 members of example_struct - are given numbered indices, 0 for name - and 1 for age respectively. + We will use a simple design, in which the 2 members of example_struct + are given numbered indices, 0 for name + and 1 for age respectively.

 template<typename Struct, int Pos>
@@ -160,37 +160,37 @@
         of the current element.
       
 
  • - The typedefs struct_type - and index provide convenient + The typedefs struct_type + and index provide convenient access to information we will need later in the implementation.
  • - The typedef category allows - the traits::category_of + The typedef category allows + the traits::category_of metafunction to establish the traversal category of the iterator.
  • - The constructor stores a reference to the example_struct + The constructor stores a reference to the example_struct being iterated over.
  • We also need to enable tag dispatching for our iterator type, with another specialization - of traits::tag_of. + of traits::tag_of.

    In isolation, the iterator implementation is pretty dry. Things should become clearer as we add features to our implementation.

    - + A first couple of instructive features

    - To start with, we will get the result_of::value_of metafunction working. To - do this, we provide a specialization of the boost::fusion::extension::value_of_impl + To start with, we will get the result_of::value_of metafunction working. To + do this, we provide a specialization of the boost::fusion::extension::value_of_impl template for our iterator's tag type.

    @@ -215,22 +215,22 @@
     

    The implementation itself is pretty simple, it just uses 2 partial specializations - to provide the type of the 2 different members of example_struct, + to provide the type of the 2 different members of example_struct, based on the index of the iterator.

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

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

    - So value_of + So value_of uses tag dispatching to select an MPL Metafunction Class to provide its functionality. You will notice this @@ -238,7 +238,7 @@

    Ok, lets enable dereferencing of our iterator. In this case we must provide - a suitable specialization of deref_impl. + a suitable specialization of deref_impl.

     template<>
    @@ -276,17 +276,17 @@
     }
     

    - The use of deref_impl is very - similar to that of value_of_impl, - but it also provides some runtime functionality this time via the call static member function. To see how - deref_impl is used, lets have - a look at the implementation of deref: + The use of deref_impl is very + similar to that of value_of_impl, + but it also provides some runtime functionality this time via the call static member function. To see how + deref_impl is used, lets have + a look at the implementation of deref:

     namespace result_of
     {
         template <typename Iterator>
    -    struct deref
    +    struct deref
             : extension::deref_impl<typename detail::tag_of<Iterator>::type>::
                 template apply<Iterator>
         {};
    @@ -294,54 +294,48 @@
     
     template <typename Iterator>
     typename result_of::deref<Iterator>::type
    -deref(Iterator const& i)
    +deref(Iterator const& i)
     {
         typedef result_of::deref<Iterator> deref_meta;
         return deref_meta::call(i);
     }
     

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

    - The actual implementation of deref_impl - is slightly more complex than that of value_of_impl. - We also need to implement the call + The actual implementation of deref_impl + is slightly more complex than that of value_of_impl. + We also need to implement the call function, which returns a reference to the appropriate member of the underlying - sequence. We also require a little bit of metaprogramming to return const references if the underlying sequence + sequence. We also require a little bit of metaprogramming to return const references if the underlying sequence is const.

    - + - +
    [Note][Note] Note
    -

    -

    -

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

    -

    -

    -

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

    - + Implementing the remaining iterator functionality

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

     template<>
    @@ -363,40 +357,40 @@
     };
     

    - This should be very familiar from our deref_impl + This should be very familiar from our deref_impl implementation, we will be using this approach again and again now. Our design - is simply to increment the index + is simply to increment the index counter to move on to the next element. The various other iterator manipulations - we need to perform will all just involve simple calculations with the index variables. + we need to perform will all just involve simple calculations with the index variables.

    - We also need to provide a suitable equal_to_impl + We also need to provide a suitable equal_to_impl so that iterators can be correctly compared. A Bidirectional - Iterator will also need an implementation of prior_impl. + Iterator will also need an implementation of prior_impl. For a Random - Access Iterator distance_impl - and advance_impl also need + Access Iterator distance_impl + and advance_impl also need to be provided in order to satisfy the necessary complexity guarantees. As our iterator is a Random Access Iterator we will have to implement all of these functions.

    - Full implementations of prior_impl, - advance_impl, distance_impl and equal_to_impl + Full implementations of prior_impl, + advance_impl, distance_impl and equal_to_impl are provided in the example code.

    - + Implementing the intrinsic functions of the sequence

    In order that Fusion can correctly identify our sequence as a Fusion sequence, - we need to enable is_sequence - for our sequence type. As usual we just create an impl + we need to enable is_sequence + for our sequence type. As usual we just create an impl type specialized for our sequence tag:

    @@ -408,14 +402,14 @@
     };
     

    - We've some similar formalities to complete, providing category_of_impl - so Fusion can correctly identify our sequence type, and is_view_impl + We've some similar formalities to complete, providing category_of_impl + so Fusion can correctly identify our sequence type, and is_view_impl so Fusion can correctly identify our sequence as not being a View type. Implementations are provide in the example code.

    Now we've completed some formalities, on to more interesting features. Lets - get begin working so that we can get an + get begin working so that we can get an iterator to start accessing the data in our sequence.

    @@ -438,32 +432,32 @@
     

    The implementation uses the same ideas we have applied throughout, in this case we are just creating one of the iterators we developed earlier, pointing - to the first element in the sequence. The implementation of end is very similar, and is provided + to the first element in the sequence. The implementation of end is very similar, and is provided in the example code.

    For our Random - Access Sequence we will also need to implement size_impl, - value_at_impl and at_impl. + Access Sequence we will also need to implement size_impl, + value_at_impl and at_impl.

    - + Enabling our type as an associative container

    - In order for example_struct + In order for example_struct to serve as an associative container, we need to enable 3 lookup features, - at_key, value_at_key and has_key. We also need to provide an - implementation of the is_associative + at_key, value_at_key and has_key. We also need to provide an + implementation of the is_associative trait so that our sequence can be correctly identified as an associative container.

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

    @@ -506,15 +500,15 @@
     

    Its all very similar to the implementations we've seen previously, such as - deref_impl and value_of_impl. Instead of identifying the - members by index or position, we are now selecting them using the types fields::name and fields::age. The - implementations of value_at_key_impl - and has_key_impl are equally + deref_impl and value_of_impl. Instead of identifying the + members by index or position, we are now selecting them using the types fields::name and fields::age. The + implementations of value_at_key_impl + and has_key_impl are equally straightforward, and are provided in the example code, along with an implementation - of is_associative_impl. + of is_associative_impl.

    - + Summary

    @@ -524,8 +518,8 @@ pattern.

    - The support for std::pair, MPL - sequences, and boost::array all use the same approach, and provide + The support for std::pair, MPL + sequences, and boost::array all use the same approach, and provide additional examples of the approach for a variety of types.

    @@ -536,7 +530,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional.html b/doc/html/fusion/functional.html index 025520fe..be17d634 100644 --- a/doc/html/fusion/functional.html +++ b/doc/html/fusion/functional.html @@ -3,24 +3,24 @@ Functional - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -62,14 +62,14 @@ through a function object interface.

    - + Header

     #include <boost/fusion/functional.hpp>
     

    - + Fused and unfused forms

    @@ -83,7 +83,7 @@ It is a name and a tuple written next to each other, left-to-right.

    - Although the C++ syntax does not allow to replace (a,b,c) + Although the C++ syntax does not allow to replace (a,b,c) with some Fusion Sequence, introducing yet another function provides a solution:

    @@ -91,22 +91,22 @@ invoke(f,my_sequence)

    - Alternatively it is possible to apply a simple transformation to f + Alternatively it is possible to apply a simple transformation to f in order to achieve the same effect:

     f tuple <=> f' (tuple)
     

    - Now, f' is an unary function that takes the arguments to - f as a tuple; f' - is the fused form of f. + Now, f' is an unary function that takes the arguments to + f as a tuple; f' + is the fused form of f. Reading the above equivalence right-to-left to get the inverse transformation, - f is the unfused - form of f'. + f is the unfused + form of f'.

    - + Calling functions and function objects

    @@ -134,7 +134,7 @@ instance for the given argument.

    - + Making Fusion code callable through a function object interface

    @@ -159,7 +159,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/adapters.html b/doc/html/fusion/functional/adapters.html index b435b48c..ae619462 100644 --- a/doc/html/fusion/functional/adapters.html +++ b/doc/html/fusion/functional/adapters.html @@ -3,7 +3,7 @@ Adapters - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -46,7 +46,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/adapters/fused.html b/doc/html/fusion/functional/adapters/fused.html index e5c75988..11971f4b 100644 --- a/doc/html/fusion/functional/adapters/fused.html +++ b/doc/html/fusion/functional/adapters/fused.html @@ -3,30 +3,30 @@ fused - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    @@ -41,29 +41,29 @@

    The type of the target function is allowed to be const qualified or a reference. Const qualification is preserved and propagated appropriately (in other - words, only const versions of operator() can be used + words, only const versions of operator() can be used for a target function object that is const or, if the target function object is held by value, the adapter is const - these semantics have nothing to do with the const qualification of a member function, which is referring - to the type of object pointed to by this which is specified + to the type of object pointed to by this which is specified with the first element in the sequence passed to the adapter).

    If the target function is a pointer to a class members, the corresponding object can be specified as a reference, pointer, or smart pointer. In case - of the latter, a freestanding get_pointer function must - be defined (Boost provides this function for std::auto_ptr - and boost::shared_ptr). + of the latter, a freestanding get_pointer function must + be defined (Boost provides this function for std::auto_ptr + and boost::shared_ptr).

    - + Header
     #include <boost/fusion/functional/adapter/fused.hpp>
     
    - + Synopsis
    @@ -71,7 +71,7 @@
     class fused;
     
    - + Template parameters
    @@ -101,7 +101,7 @@

    - Function + Function

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

    - + Model of
      @@ -132,29 +132,29 @@

      Notation

      -
      R
      -
      - A possibly const qualified R +

      + A possibly const qualified Deferred - Callable Object type or reference type thereof -

      -
      r
      -
      - An object convertible to R -
      -
      s
      -
      - A Sequence of arguments that - are accepted by r -
      -
      f
      -
      - An instance of fused<R> -
      + Callable Object type or reference type thereof +

      +
      r
      +

      + An object convertible to R +

      +
      s
      +

      + A Sequence of arguments that + are accepted by r +

      +
      f
      +

      + An instance of fused<R> +

      - + Expression Semantics
      @@ -179,38 +179,38 @@

      - fused<R>(r) + fused<R>(r)

      Creates a fused function as described above, initializes the target - function with r. + function with r.

      - fused<R>() + fused<R>()

      - Creates a fused function as described above, attempts to use R's default constructor. + Creates a fused function as described above, attempts to use R's default constructor.

      - f(s) + f(s)

      - Calls r with the - elements in s as + Calls r with the + elements in s as its arguments.

      @@ -218,22 +218,22 @@
    - + Example
    -fused< std::plus<long> > f;
    -assert(f(make_vector(1,2l)) == 3l);
    +fused< std::plus<long> > f;
    +assert(f(make_vector(1,2l)) == 3l);
     
    - + See also
    @@ -243,7 +243,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/adapters/fused_function_object.html b/doc/html/fusion/functional/adapters/fused_function_object.html index 765cbc65..29f32254 100644 --- a/doc/html/fusion/functional/adapters/fused_function_object.html +++ b/doc/html/fusion/functional/adapters/fused_function_object.html @@ -3,30 +3,30 @@ fused_function_object - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    @@ -41,19 +41,19 @@

    The type of the target function is allowed to be const qualified or a reference. Const qualification is preserved and propagated appropriately (in other - words, only const versions of operator() can be used + words, only const versions of operator() can be used for an target function object that is const or, if the target function object is held by value, the adapter is const).

    - + Header
     #include <boost/fusion/functional/adapter/fused_function_object.hpp>
     
    - + Synopsis
    @@ -61,7 +61,7 @@
     class fused_function_object;
     
    - + Template parameters
    @@ -91,7 +91,7 @@

    - Function + Function

    @@ -108,7 +108,7 @@
    - + Model of
    @@ -123,29 +123,29 @@

    Notation

    -
    R
    -
    - A possibly const qualified R +

    + A possibly const qualified Polymorphic - Function Object type or reference type thereof -

    -
    r
    -
    - An object convertible to R -
    -
    s
    -
    - A Sequence of arguments that - are accepted by r -
    -
    f
    -
    - An instance of fused<R> -
    + Function Object type or reference type thereof +

    +
    r
    +

    + An object convertible to R +

    +
    s
    +

    + A Sequence of arguments that + are accepted by r +

    +
    f
    +

    + An instance of fused<R> +

    - + Expression Semantics
    @@ -170,38 +170,38 @@

    - fused_function_object<R>(r) + fused_function_object<R>(r)

    Creates a fused function as described above, initializes the target - function with r. + function with r.

    - fused_function_object<R>() + fused_function_object<R>()

    - Creates a fused function as described above, attempts to use R's default constructor. + Creates a fused function as described above, attempts to use R's default constructor.

    - f(s) + f(s)

    - Calls r with the - elements in s as + Calls r with the + elements in s as its arguments.

    @@ -209,16 +209,16 @@
    - + Example
     template<class SeqOfSeqs, class Func>
    -typename result_of::transform< zip_view<SeqOfSeqs> const,
    +typename result_of::transform< zip_view<SeqOfSeqs> const,
         fused_function_object<Func const &> >::type
     n_ary_transform(SeqOfSeqs const & s, Func const & f)
     {
    -    return transform(zip_view<SeqOfSeqs>(s), 
    +    return transform(zip_view<SeqOfSeqs>(s), 
             fused_function_object<Func const &>(f));
     } 
     
    @@ -240,23 +240,23 @@
     
     void try_it()
     {
    -    vector<int,float> a(2,2.0f);
    -    vector<int,float> b(1,1.5f);
    -    vector<int,float> c(1,0.5f);
    -    assert(c == n_ary_transform(vector_tie(a,b), sub()));
    +    vector<int,float> a(2,2.0f);
    +    vector<int,float> b(1,1.5f);
    +    vector<int,float> c(1,0.5f);
    +    assert(c == n_ary_transform(vector_tie(a,b), sub()));
     }
     
    - + See also
    @@ -266,7 +266,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/adapters/fused_procedure.html b/doc/html/fusion/functional/adapters/fused_procedure.html index 49f24708..d8a83368 100644 --- a/doc/html/fusion/functional/adapters/fused_procedure.html +++ b/doc/html/fusion/functional/adapters/fused_procedure.html @@ -3,30 +3,30 @@ fused_procedure - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    @@ -38,24 +38,24 @@ Sequence that contains the arguments for the target function.

    - The result is discared and the adapter's return type is void. + The result is discared and the adapter's return type is void.

    The type of the target function is allowed to be const qualified or a reference. Const qualification is preserved and propagated appropriately (in other - words, only const versions of operator() can be used + words, only const versions of operator() can be used for a target function object that is const or, if the target function object is held by value, the adapter is const - these semantics have nothing to do with the const qualification of a member function, which is referring - to the type of object pointed to by this which is specified + to the type of object pointed to by this which is specified with the first element in the sequence passed to the adapter).

    If the target function is a pointer to a members function, the corresponding object can be specified as a reference, pointer, or smart pointer. In case - of the latter, a freestanding get_pointer function must - be defined (Boost provides this function for std::auto_ptr - and boost::shared_ptr). + of the latter, a freestanding get_pointer function must + be defined (Boost provides this function for std::auto_ptr + and boost::shared_ptr).

    The target function must not be a pointer to a member object (dereferencing @@ -63,14 +63,14 @@ case is not implemented).

    - + Header
     #include <boost/fusion/functional/adapter/fused_procedure.hpp>
     
    - + Synopsis
    @@ -78,7 +78,7 @@
     class fused_procedure;
     
    - + Template parameters
    @@ -108,7 +108,7 @@

    - Function + Function

    @@ -124,7 +124,7 @@
    - + Model of
    @@ -139,28 +139,28 @@

    Notation

    -
    R
    -
    - A possibly const qualified Callable - Object type or reference type thereof -
    -
    r
    -
    - An object convertible to R -
    -
    s
    -
    - A Sequence of arguments that - are accepted by r -
    -
    f
    -
    - An instance of fused<R> -
    +
    R
    +

    + A possibly const qualified Callable + Object type or reference type thereof +

    +
    r
    +

    + An object convertible to R +

    +
    s
    +

    + A Sequence of arguments that + are accepted by r +

    +
    f
    +

    + An instance of fused<R> +

    - + Expression Semantics
    @@ -185,38 +185,38 @@

    - fused_procedure<R>(r) + fused_procedure<R>(r)

    Creates a fused function as described above, initializes the target - function with r. + function with r.

    - fused_procedure<R>() + fused_procedure<R>()

    - Creates a fused function as described above, attempts to use R's default constructor. + Creates a fused function as described above, attempts to use R's default constructor.

    - f(s) + f(s)

    - Calls r with the - elements in s as + Calls r with the + elements in s as its arguments.

    @@ -224,36 +224,36 @@
    - + Example
     template<class SequenceOfSequences, class Func>
     void n_ary_for_each(SequenceOfSequences const & s, Func const & f)
     {
    -    for_each(zip_view<SequenceOfSequences>(s), 
    +    for_each(zip_view<SequenceOfSequences>(s), 
             fused_procedure<Func const &>(f));
     } 
     
     void try_it()
     {
    -    vector<int,float> a(2,2.0f);
    -    vector<int,float> b(1,1.5f);
    +    vector<int,float> a(2,2.0f);
    +    vector<int,float> b(1,1.5f);
         using namespace boost::lambda;
    -    n_ary_for_each(vector_tie(a,b), _1 -= _2);
    -    assert(a == make_vector(1,0.5f));
    +    n_ary_for_each(vector_tie(a,b), _1 -= _2);
    +    assert(a == make_vector(1,0.5f));
     }
     
    - + See also
    @@ -263,7 +263,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/adapters/unfused_generic.html b/doc/html/fusion/functional/adapters/unfused_generic.html index 6a9a3b56..cb2e3738 100644 --- a/doc/html/fusion/functional/adapters/unfused_generic.html +++ b/doc/html/fusion/functional/adapters/unfused_generic.html @@ -3,30 +3,30 @@ unfused_generic - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    @@ -45,24 +45,24 @@ tip Detecting mutable LValues on a per-argument basis is currently a compile time expensive operation (see The Forwarding Problem for details). Therefore, there are two, lightweight - and more restricted variants of this class template, unfused_lvalue_args and unfused_rvalue_args. + and more restricted variants of this class template, unfused_lvalue_args and unfused_rvalue_args.

    The type of the target function is allowed to be const qualified or a reference. Const qualification is preserved and propagated appropriately (in other - words, only const versions of operator() can be used + words, only const versions of operator() can be used if the target function object is const - or, in case the target function object is held by value, the adapter is const).

    - + Header
     #include <boost/fusion/functional/adapter/unfused_generic.hpp>
     
    - + Synopsis
    @@ -70,7 +70,7 @@
     class unfused_generic;
     
    - + Template parameters
    @@ -100,7 +100,7 @@

    - Function + Function

    @@ -117,7 +117,7 @@
    - + Model of
    @@ -132,33 +132,33 @@

    Notation

    -
    F
    -
    - A possibly const qualified, unary F +

    + A possibly const qualified, unary Polymorphic - Function Object type or reference type thereof -

    -
    f
    -
    - An object convertible to F -
    -
    UG
    -
    - The type unfused_generic<F> -
    -
    ug
    -
    - An instance of UG, initialized - with f -
    -
    a0...aN
    -
    - Arguments to ug -
    + Function Object type or reference type thereof +

    +
    f
    +

    + An object convertible to F +

    +
    UG
    +

    + The type unfused_generic<F> +

    +
    ug
    +

    + An instance of UG, + initialized with f +

    +
    a0...aN
    +

    + Arguments to ug +

    - + Expression Semantics
    @@ -183,46 +183,46 @@

    - UG(f) + UG(f)

    Creates a fused function as described above, initializes the target - function with f. + function with f.

    - UG() + UG()

    - Creates a fused function as described above, attempts to use F's default constructor. + Creates a fused function as described above, attempts to use F's default constructor.

    - ug(a0...aN) + ug(a0...aN)

    - Calls f with a + Calls f with a Sequence that contains - references to the arguments a0...aN. + references to the arguments a0...aN.

    - + Example
    @@ -273,16 +273,16 @@
     }
     
    - + See also
    @@ -292,7 +292,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/adapters/unfused_lvalue_args.html b/doc/html/fusion/functional/adapters/unfused_lvalue_args.html index d78a7649..af36414c 100644 --- a/doc/html/fusion/functional/adapters/unfused_lvalue_args.html +++ b/doc/html/fusion/functional/adapters/unfused_lvalue_args.html @@ -3,30 +3,30 @@ unfused_lvalue_args - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    @@ -43,19 +43,19 @@

    The type of the target function is allowed to be const qualified or a reference. Const qualification is preserved and propagated appropriately (in other - words, only const versions of operator() can be used + words, only const versions of operator() can be used if the target function object is const - or, in case the target function object is held by value, the adapter is const).

    - + Header
     #include <boost/fusion/functional/adapter/unfused_lvalue_args.hpp>
     
    - + Synopsis
    @@ -63,7 +63,7 @@
     class unfused_lvalue_args;
     
    - + Template parameters
    @@ -93,7 +93,7 @@

    - Function + Function

    @@ -110,7 +110,7 @@
    - + Model of
    @@ -125,33 +125,33 @@

    Notation

    -
    F
    -
    - A possibly const qualified, unary F +

    + A possibly const qualified, unary Polymorphic - Function Object type or reference type thereof -

    -
    f
    -
    - An object convertible to F -
    -
    UL
    -
    - The type unfused_lvalue_args<F> -
    -
    ul
    -
    - An instance of UL, initialized - with f -
    -
    a0...aN
    -
    - Arguments to ul -
    + Function Object type or reference type thereof +

    +
    f
    +

    + An object convertible to F +

    +
    UL
    +

    + The type unfused_lvalue_args<F> +

    +
    ul
    +

    + An instance of UL, + initialized with f +

    +
    a0...aN
    +

    + Arguments to ul +

    - + Expression Semantics
    @@ -176,46 +176,46 @@

    - UL(f) + UL(f)

    Creates a fused function as described above, initializes the target - function with f. + function with f.

    - UL() + UL()

    - Creates a fused function as described above, attempts to use F's default constructor. + Creates a fused function as described above, attempts to use F's default constructor.

    - ul(a0...aN) + ul(a0...aN)

    - Calls f with a + Calls f with a Sequence that contains - references to the arguments a0...aN. + references to the arguments a0...aN.

    - + Example
    @@ -230,7 +230,7 @@
         template <class Seq>
         void operator()(Seq const & s) const
         {
    -        for_each(s,++boost::lambda::_1);
    +        for_each(s,++boost::lambda::_1);
         }
     };
     
    @@ -243,14 +243,14 @@
     }
     
    - + See also
    @@ -260,7 +260,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/adapters/unfused_rvalue_args.html b/doc/html/fusion/functional/adapters/unfused_rvalue_args.html index 0975ce97..c7a3dedc 100644 --- a/doc/html/fusion/functional/adapters/unfused_rvalue_args.html +++ b/doc/html/fusion/functional/adapters/unfused_rvalue_args.html @@ -3,30 +3,30 @@ unfused_rvalue_args - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    @@ -43,19 +43,19 @@

    The type of the target function is allowed to be const qualified or a reference. Const qualification is preserved and propagated appropriately (in other - words, only const versions of operator() can be used + words, only const versions of operator() can be used if the target function object is const - or, in case the target function object is held by value, the adapter is const).

    - + Header
     #include <boost/fusion/functional/adapter/unfused_rvalue_args.hpp>
     
    - + Synopsis
    @@ -63,7 +63,7 @@
     class unfused_rvalue_args;
     
    - + Template parameters
    @@ -93,7 +93,7 @@

    - Function + Function

    @@ -110,7 +110,7 @@
    - + Model of
    @@ -125,33 +125,33 @@

    Notation

    -
    F
    -
    - A possibly const qualified, unary F +

    + A possibly const qualified, unary Polymorphic - Function Object type or reference type thereof -

    -
    f
    -
    - An object convertible to F -
    -
    UR
    -
    - The type unfused_rvalue_args<F> -
    -
    ur
    -
    - An instance of UR, initialized - with f -
    -
    a0...aN
    -
    - Arguments to ur -
    + Function Object type or reference type thereof +

    +
    f
    +

    + An object convertible to F +

    +
    UR
    +

    + The type unfused_rvalue_args<F> +

    +
    ur
    +

    + An instance of UR, + initialized with f +

    +
    a0...aN
    +

    + Arguments to ur +

    - + Expression Semantics
    @@ -176,46 +176,46 @@

    - UR(f) + UR(f)

    Creates a fused function as described above, initializes the target - function with f. + function with f.

    - UR() + UR()

    - Creates a fused function as described above, attempts to use F's default constructor. + Creates a fused function as described above, attempts to use F's default constructor.

    - ur(a0...aN) + ur(a0...aN)

    - Calls f with a + Calls f with a Sequence that contains - references to the arguments a0...aN. + references to the arguments a0...aN.

    - + Example
    @@ -241,16 +241,16 @@
     }
     
    - + See also
    @@ -260,7 +260,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/adapters/unfused_typed.html b/doc/html/fusion/functional/adapters/unfused_typed.html index 0c9badef..22c18ac2 100644 --- a/doc/html/fusion/functional/adapters/unfused_typed.html +++ b/doc/html/fusion/functional/adapters/unfused_typed.html @@ -3,30 +3,30 @@ unfused_typed - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    @@ -46,7 +46,7 @@

    The type of the target function is allowed to be const qualified or a reference. Const qualification is preserved and propagated appropriately (in other - words, only const versions of operator() can be used + words, only const versions of operator() can be used if the target function object is const - or, in case the target function object is held by value, the adapter is const).

    @@ -62,14 +62,14 @@ signature is optimized automatically to avoid by-value parameters.

    - + Header
     #include <boost/fusion/functional/adapter/unfused_typed.hpp>
     
    - + Synopsis
    @@ -77,7 +77,7 @@
     class unfused_typed;
     
    - + Template parameters
    @@ -108,7 +108,7 @@

    - Function + Function

    @@ -126,7 +126,7 @@

    - Sequence + Sequence

    @@ -142,7 +142,7 @@
    - + Model of
    @@ -157,38 +157,38 @@

    Notation

    -
    F
    -
    - A possibly const qualified, unary F +

    + A possibly const qualified, unary Polymorphic - Function Object type or reference type thereof -

    -
    f
    -
    - An object convertible to F -
    -
    S
    -
    - A Sequence of parameter types -
    -
    UT
    -
    - The type unfused_typed<F,S> -
    -
    ut
    -
    - An instance of UT, initialized - with f -
    -
    a0...aN
    -
    - Arguments to ut, convertible - to the types in S -
    + Function Object type or reference type thereof +

    +
    f
    +

    + An object convertible to F +

    +
    S
    +

    + A Sequence of parameter types +

    +
    UT
    +

    + The type unfused_typed<F,S> +

    +
    ut
    +

    + An instance of UT, + initialized with f +

    +
    a0...aN
    +

    + Arguments to ut, convertible + to the types in S +

    - + Expression Semantics
    @@ -213,48 +213,48 @@

    - UT(f) + UT(f)

    Creates a fused function as described above, initializes the target - function with f. + function with f.

    - UT() + UT()

    - Creates a fused function as described above, attempts to use F's default constructor. + Creates a fused function as described above, attempts to use F's default constructor.

    - ut(a0...aN) + ut(a0...aN)

    - Calls f with an - instance of S (or - a subsequence of S + Calls f with an + instance of S (or + a subsequence of S starting at the first element, if fewer arguments are given and - the overload hasn't been disabled) initialized with a0...aN. + the overload hasn't been disabled) initialized with a0...aN.

    - + Example
    @@ -323,15 +323,15 @@
     }
     
    - + See also
    @@ -341,7 +341,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/concepts.html b/doc/html/fusion/functional/concepts.html index 5d37381f..57f2d4ec 100644 --- a/doc/html/fusion/functional/concepts.html +++ b/doc/html/fusion/functional/concepts.html @@ -3,24 +3,24 @@ Concepts - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -42,7 +42,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/concepts/callable.html b/doc/html/fusion/functional/concepts/callable.html index bf26f10a..7173fa39 100644 --- a/doc/html/fusion/functional/concepts/callable.html +++ b/doc/html/fusion/functional/concepts/callable.html @@ -3,7 +3,7 @@ Callable Object - + @@ -11,23 +11,23 @@ Object"> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

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

    - + Models
      @@ -58,7 +58,7 @@
      -PrevUpHomeNext +PrevUpHomeNext
      diff --git a/doc/html/fusion/functional/concepts/def_callable.html b/doc/html/fusion/functional/concepts/def_callable.html index 379490a5..3b1dcfea 100644 --- a/doc/html/fusion/functional/concepts/def_callable.html +++ b/doc/html/fusion/functional/concepts/def_callable.html @@ -4,7 +4,7 @@ Deferred Callable Object - + - +
      -
      Boost C++ Libraries Home Libraries People FAQ More
      +
      -PrevUpHomeNext +PrevUpHomeNext

      @@ -31,7 +31,7 @@ Callable Object"> Deferred Callable Object

      - + Description

      @@ -40,49 +40,48 @@ to determine the result of a call.

      - + Refinement of

      Notation

      -
      F
      -
      - A possibly const qualified Deferred Callable Object type -
      -
      A1 - ...AN
      -
      - Argument types -
      -
      a1 - ...aN
      -
      - Objects or references to objects with types A1 - ...AN -
      -
      T1 - ...TN
      -
      -Ti is Ai - & if ai - is an LValue, same as Ai, - otherwise -
      +
      F
      +

      + A possibly const qualified Deferred Callable Object type +

      +
      A1 + ...AN
      +

      + Argument types +

      +
      a1 + ...aN
      +

      + Objects or references to objects with types A1 + ...AN +

      +
      T1 + ...TN
      +

      + Ti is Ai & + if ai is an LValue, + same as Ai, otherwise +

      - + Expression requirements
      @@ -106,21 +105,21 @@

      - boost::result_of< F(T1 - ...TN) >::type + boost::result_of< F(T1 + ...TN) >::type

      - Result of a call with A1 - ...AN-typed + Result of a call with A1 + ...AN-typed arguments

      - + Models
        @@ -141,7 +140,7 @@
        -PrevUpHomeNext +PrevUpHomeNext
        diff --git a/doc/html/fusion/functional/concepts/poly.html b/doc/html/fusion/functional/concepts/poly.html index 685fa1f2..51d40c94 100644 --- a/doc/html/fusion/functional/concepts/poly.html +++ b/doc/html/fusion/functional/concepts/poly.html @@ -4,7 +4,7 @@ Polymorphic Function Object - + - +
        -
        Boost C++ Libraries Home Libraries People FAQ More
        +
        -PrevUpHomeNext +PrevUpHomeNext

        @@ -30,7 +30,7 @@ Object"> Polymorphic Function Object

        - + Description

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

        - + Refinement of
        @@ -54,37 +54,36 @@

        Notation

        -
        F
        -
        - A possibly const-qualified Polymorphic Function Object type -
        -
        f
        -
        - An object or reference to an object of type F -
        -
        A1 - ...AN
        -
        - Argument types -
        -
        a1 - ...aN
        -
        - Objects or references to objects with types A1 - ...AN -
        -
        T1 - ...TN
        -
        -Ti is Ai - & if ai - is an LValue, same as Ai, - otherwise -
        +
        F
        +

        + A possibly const-qualified Polymorphic Function Object type +

        +
        f
        +

        + An object or reference to an object of type F +

        +
        A1 + ...AN
        +

        + Argument types +

        +
        a1 + ...aN
        +

        + Objects or references to objects with types A1 + ...AN +

        +
        T1 + ...TN
        +

        + Ti is Ai & + if ai is an LValue, + same as Ai, otherwise +

        - + Expression requirements
        @@ -114,15 +113,15 @@

        - f(a1, - ...aN) + f(a1, + ...aN)

        - result_of< + result_of< F(T1, - ...TN) >::type + ...TN) >::type

        @@ -133,7 +132,7 @@
        - + Models
          @@ -155,7 +154,7 @@
          -PrevUpHomeNext +PrevUpHomeNext
          diff --git a/doc/html/fusion/functional/concepts/reg_callable.html b/doc/html/fusion/functional/concepts/reg_callable.html new file mode 100644 index 00000000..9c77799e --- /dev/null +++ b/doc/html/fusion/functional/concepts/reg_callable.html @@ -0,0 +1,141 @@ + + + + Regular Callable + Object + + + + + + + + + + + + + + + +
          Boost C++ LibrariesHomeLibrariesPeopleFAQMore
          +
          +
          +PrevUpHomeNext +
          +
          + +
          + + Description +
          +

          + A non-member-pointer Callable + Object type: A pointer to a function or a class type whose objects + can appear immediately to the left of a function call operator. +

          +
          + + Refinement + of +
          + +
          +

          Notation

          +
          +
          F
          +

          + A possibly const qualified Deferred Callable Object type +

          +
          f
          +

          + An object or reference to an object of type F +

          +
          A1 + ...AN
          +

          + Argument types +

          +
          a1 + ...aN
          +

          + Objects or references to objects with types A1 + ...AN +

          +
          +
          +
          + + Expression + requirements +
          +
          +++++ + + + + + + + + + + +
          +

          + Expression +

          +
          +

          + Return Type +

          +
          +

          + Runtime Complexity +

          +
          +

          + f(a1, + ...aN) +

          +
          +

          + Unspecified +

          +
          +

          + Unspecified +

          +
          +
          + + Models +
          +
            +
          • + function pointer types +
          • +
          • + all kinds of function objects +
          • +
          +
          + + + +
          Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias + Schwinger
          +
          +
          +PrevUpHomeNext +
          + + diff --git a/doc/html/fusion/functional/generation.html b/doc/html/fusion/functional/generation.html index 42593339..e1357a8f 100644 --- a/doc/html/fusion/functional/generation.html +++ b/doc/html/fusion/functional/generation.html @@ -3,24 +3,24 @@ Generation - + - +
          -
          Boost C++ Libraries Home Libraries People FAQ More
          +
          -PrevUpHomeNext +PrevUpHomeNext

          @@ -37,7 +37,7 @@
          -PrevUpHomeNext +PrevUpHomeNext
          diff --git a/doc/html/fusion/functional/generation/functions.html b/doc/html/fusion/functional/generation/functions.html index 116327be..34884793 100644 --- a/doc/html/fusion/functional/generation/functions.html +++ b/doc/html/fusion/functional/generation/functions.html @@ -3,7 +3,7 @@ Functions - + @@ -11,17 +11,17 @@ make_fused"> - +
          -
          Boost C++ Libraries Home Libraries People FAQ More
          +
          -PrevUpHomeNext +PrevUpHomeNext

          @@ -48,7 +48,7 @@
          -PrevUpHomeNext +PrevUpHomeNext
          diff --git a/doc/html/fusion/functional/generation/functions/mk_fused.html b/doc/html/fusion/functional/generation/functions/mk_fused.html index 4d2001b2..90d094bd 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused.html @@ -4,7 +4,7 @@ make_fused - + @@ -12,17 +12,17 @@ make_fused_procedure"> - +
          -
          Boost C++ Libraries Home Libraries People FAQ More
          +
          -PrevUpHomeNext +PrevUpHomeNext
          @@ -30,27 +30,27 @@ make_fused"> make_fused
          - + Description

          - Creates a fused adapter for a given fused adapter for a given Deferred Callable Object. The usual element conversion is applied to the target function.

          - + Synopsis
           template <typename F>
           inline typename make_fused<F>::type
          +          make_fused">make_fused<F>::type
           make_fused(F const & f);
           
          - + Parameters
          @@ -79,7 +79,7 @@

          - f + f

          @@ -97,7 +97,7 @@
          - + Expression Semantics
          @@ -105,20 +105,20 @@ make_fused(f);

    - Return type: A specialization of fused. + Return type: A specialization of fused.

    - Semantics: Returns a fused adapter for f. + Semantics: Returns a fused adapter for f.

    - + Header
     #include <boost/fusion/functional/generation/make_fused.hpp>
     
    - + Example
    @@ -126,23 +126,23 @@
     
     void try_it()
     {
    -    vector<int,float> a(2,2.0f);
    -    vector<int,float> b(1,1.5f);
    -    vector<float,float> c(1.0f,0.5f);
    -    assert(c == transform(zip(a,b), make_fused(& sub)));
    -    assert(c == transform(zip(a,b), make_fused(std::minus<float>())));
    +    vector<int,float> a(2,2.0f);
    +    vector<int,float> b(1,1.5f);
    +    vector<float,float> c(1.0f,0.5f);
    +    assert(c == transform(zip(a,b), make_fused(& sub)));
    +    assert(c == transform(zip(a,b), make_fused(std::minus<float>())));
     }
     
    - + See also
    @@ -152,7 +152,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    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 253671e5..ce3e0273 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html @@ -4,7 +4,7 @@ make_fused_function_object - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -31,28 +31,28 @@ make_fused_function_object"> make_fused_function_object
    - + Description

    - Creates a fused_function_object adapter + Creates a fused_function_object adapter for a given Deferred Callable Object. The usual element conversion is applied to the target function.

    - + Synopsis
     template <typename F>
     inline typename make_fused_function_object<F>::type
    +          make_fused_function_object">make_fused_function_object<F>::type
     make_fused_function_object(F const & f);
     
    - + Parameters
    @@ -81,7 +81,7 @@

    - f + f

    @@ -99,7 +99,7 @@
    - + Expression Semantics
    @@ -107,21 +107,21 @@ make_fused_function_object(f);

    - Return type: A specialization of fused_function_object. + Return type: A specialization of fused_function_object.

    - Semantics: Returns a fused_function_object adapter - for f. + Semantics: Returns a fused_function_object adapter + for f.

    - + Header
     #include <boost/fusion/functional/generation/make_fused_function_object.hpp>
     
    - + Example
    @@ -143,22 +143,22 @@
     
     void try_it()
     {
    -    vector<int,float> a(2,2.0f);
    -    vector<int,float> b(1,1.5f);
    -    vector<int,float> c(1,0.5f);
    -    assert(c == transform(zip(a,b), make_fused_function_object(sub())));
    +    vector<int,float> a(2,2.0f);
    +    vector<int,float> b(1,1.5f);
    +    vector<int,float> c(1,0.5f);
    +    assert(c == transform(zip(a,b), make_fused_function_object(sub())));
     }
     
    - + See also
    @@ -168,7 +168,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    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 d63a85d1..595d4989 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_proc.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_proc.html @@ -4,7 +4,7 @@ make_fused_procedure - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -31,28 +31,28 @@ make_fused_procedure"> make_fused_procedure
    - + Description

    - Creates a fused_procedure adapter for + Creates a fused_procedure adapter for a given Deferred Callable Object. The usual element conversion applied to the target function.

    - + Synopsis
     template <typename F>
     inline typename make_fused_procedure<F>::type
    +          make_fused_procedure">make_fused_procedure<F>::type
     make_fused_procedure(F const & f);
     
    - + Parameters
    @@ -81,7 +81,7 @@

    - f + f

    @@ -98,7 +98,7 @@
    - + Expression Semantics
    @@ -106,39 +106,39 @@ make_fused_procedure(f);

    - Return type: A specialization of fused_procedure. + Return type: A specialization of fused_procedure.

    - Semantics: Returns a fused_procedure adapter for - f. + Semantics: Returns a fused_procedure adapter for + f.

    - + Header
     #include <boost/fusion/functional/generation/make_fused_procedure.hpp>
     
    - + Example
    -vector<int,int,int> v(1,2,3);
    +vector<int,int,int> v(1,2,3);
     using namespace boost::lambda;
     make_fused_procedure(_1 += _2 - _3)(v);
    -assert(front(v) == 0);
    +assert(front(v) == 0);
     
    - + See also
    @@ -148,7 +148,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/generation/functions/mk_unfused_genrc.html b/doc/html/fusion/functional/generation/functions/mk_unfused_genrc.html index ed66d70b..80bbc223 100644 --- a/doc/html/fusion/functional/generation/functions/mk_unfused_genrc.html +++ b/doc/html/fusion/functional/generation/functions/mk_unfused_genrc.html @@ -4,7 +4,7 @@ make_unfused_generic - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -31,28 +31,28 @@ make_unfused_generic"> make_unfused_generic
    - + Description

    - Creates a unfused_generic adapter for + Creates a unfused_generic adapter for a given, unary Polymorphic Function Object. The usual element conversion is applied to the target function.

    - + Synopsis
     template <typename F>
     inline typename make_unfused_generic<F>::type
    +          make_unfused_generic">make_unfused_generic<F>::type
     make_unfused_generic(F const & f);
     
    - + Parameters
    @@ -81,7 +81,7 @@

    - f + f

    @@ -99,7 +99,7 @@
    - + Expression Semantics
    @@ -107,21 +107,21 @@ make_unfused_generic(f);

    - Return type: A specialization of unfused_generic. + Return type: A specialization of unfused_generic.

    - Semantics: Returns a unfused_generic adapter for - f. + Semantics: Returns a unfused_generic adapter for + f.

    - + Header
     #include <boost/fusion/functional/generation/make_unfused_generic.hpp>
     
    - + Example
    @@ -157,15 +157,15 @@
     }
     
    - + See also
    @@ -175,7 +175,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/generation/functions/mk_unfused_lvargs.html b/doc/html/fusion/functional/generation/functions/mk_unfused_lvargs.html index fba0fb6b..52a2e9ab 100644 --- a/doc/html/fusion/functional/generation/functions/mk_unfused_lvargs.html +++ b/doc/html/fusion/functional/generation/functions/mk_unfused_lvargs.html @@ -4,7 +4,7 @@ make_unfused_lvalue_args - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -31,28 +31,28 @@ make_unfused_lvalue_args"> make_unfused_lvalue_args
    - + Description

    - Creates a unfused_lvalue_args adapter + Creates a unfused_lvalue_args adapter for a given, unary Polymorphic Function Object. The usual element conversion is applied to the target function.

    - + Synopsis
     template <typename F>
     inline typename make_unfused_lvalue_args<F>::type
    +          make_unfused_lvalue_args">make_unfused_lvalue_args<F>::type
     make_unfused_lvalue_args(F const & f);
     
    - + Parameters
    @@ -81,7 +81,7 @@

    - f + f

    @@ -99,7 +99,7 @@
    - + Expression Semantics
    @@ -107,21 +107,21 @@ make_unfused_lvalue_args(f);

    - Return type: A specialization of unfused_lvalue_args. + Return type: A specialization of unfused_lvalue_args.

    - Semantics: Returns a unfused_lvalue_args adapter - for f. + Semantics: Returns a unfused_lvalue_args adapter + for f.

    - + Header
     #include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp>
     
    - + Example
    @@ -136,7 +136,7 @@
         template <class Seq>
         void operator()(Seq const & s) const
         {
    -        for_each(s,++boost::lambda::_1);
    +        for_each(s,++boost::lambda::_1);
         }
     };
     
    @@ -148,15 +148,15 @@
     }
     
    - + See also
    @@ -166,7 +166,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/generation/functions/mk_unfused_rvargs.html b/doc/html/fusion/functional/generation/functions/mk_unfused_rvargs.html index 8ac6bb87..81f544ec 100644 --- a/doc/html/fusion/functional/generation/functions/mk_unfused_rvargs.html +++ b/doc/html/fusion/functional/generation/functions/mk_unfused_rvargs.html @@ -4,7 +4,7 @@ make_unfused_rvalue_args - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -30,28 +30,28 @@ make_unfused_rvalue_args"> make_unfused_rvalue_args
    - + Description

    - Creates a unfused_rvalue_args adapter + Creates a unfused_rvalue_args adapter for a given, unary Polymorphic Function Object. The usual element conversion is applied to the target function.

    - + Synopsis
     template <typename F>
     inline typename make_unfused_rvalue_args<F>::type
    +          make_unfused_rvalue_args">make_unfused_rvalue_args<F>::type
     make_unfused_rvalue_args(F const & f);
     
    - + Parameters
    @@ -80,7 +80,7 @@

    - f + f

    @@ -98,7 +98,7 @@
    - + Expression Semantics
    @@ -106,21 +106,21 @@ make_unfused_rvalue_args(f);

    - Return type: A specialization of unfused_rvalue_args. + Return type: A specialization of unfused_rvalue_args.

    - Semantics: Returns a unfused_rvalue_args adapter - for f. + Semantics: Returns a unfused_rvalue_args adapter + for f.

    - + Header
     #include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp>
     
    - + Example
    @@ -146,15 +146,15 @@
     }
     
    - + See also
    @@ -164,7 +164,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/generation/metafunctions.html b/doc/html/fusion/functional/generation/metafunctions.html index a7afa343..affc3033 100644 --- a/doc/html/fusion/functional/generation/metafunctions.html +++ b/doc/html/fusion/functional/generation/metafunctions.html @@ -3,7 +3,7 @@ Metafunctions - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -49,7 +49,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html index 40139391..783bf3f4 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html @@ -4,7 +4,7 @@ make_fused - + @@ -12,17 +12,17 @@ make_fused_procedure"> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -30,22 +30,22 @@ make_fused"> make_fused
    - + Description

    Returns the result type of make_fused. + make_fused">make_fused.

    - + Header
     #include <boost/fusion/functional/generation/make_fused.hpp>
     
    - + Synopsis
    @@ -59,12 +59,12 @@
     }
     
    - + See also
    + make_fused">make_fused

    @@ -73,7 +73,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    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 e44bf15e..dc086afa 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html @@ -4,7 +4,7 @@ make_fused_function_object - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -31,22 +31,22 @@ make_fused_function_object"> make_fused_function_object
    - + Description

    Returns the result type of make_fused_function_object. + make_fused_function_object">make_fused_function_object.

    - + Header
     #include <boost/fusion/functional/generation/make_fused_function_object.hpp>
     
    - + Synopsis
    @@ -60,12 +60,12 @@
     }
     
    - + See also
    + make_fused_function_object">make_fused_function_object
    @@ -74,7 +74,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    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 b920ac1e..311b2e53 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused_proc.html @@ -4,7 +4,7 @@ make_fused_procedure - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -31,22 +31,22 @@ make_fused_procedure"> make_fused_procedure
    - + Description

    Returns the result type of make_fused_procedure. + make_fused_procedure">make_fused_procedure.

    - + Header
     #include <boost/fusion/functional/generation/make_fused_procedure.hpp>
     
    - + Synopsis
    @@ -60,12 +60,12 @@
     }
     
    - + See also
    + make_fused_procedure">make_fused_procedure
    @@ -74,7 +74,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_unfused_genrc.html b/doc/html/fusion/functional/generation/metafunctions/mk_unfused_genrc.html index ad0cb762..22902a51 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_unfused_genrc.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_unfused_genrc.html @@ -4,7 +4,7 @@ make_unfused_generic - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -31,22 +31,22 @@ make_unfused_generic"> make_unfused_generic
    - + Description

    Returns the result type of make_unfused_generic. + make_unfused_generic">make_unfused_generic.

    - + Header
     #include <boost/fusion/functional/generation/make_unfused_generic.hpp>
     
    - + Synopsis
    @@ -60,12 +60,12 @@
     }
     
    - + See also
    + make_unfused_generic">make_unfused_generic
    @@ -74,7 +74,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_unfused_lvargs.html b/doc/html/fusion/functional/generation/metafunctions/mk_unfused_lvargs.html index 8bd81bd2..e4f19295 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_unfused_lvargs.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_unfused_lvargs.html @@ -4,7 +4,7 @@ make_unfused_lvalue_args - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -31,22 +31,22 @@ make_unfused_lvalue_args"> make_unfused_lvalue_args
    - + Description

    Returns the result type of make_unfused_lvalue_args. + make_unfused_lvalue_args">make_unfused_lvalue_args.

    - + Header
     #include <boost/fusion/functional/generation/make_unfused_lvalue_args.hpp>
     
    - + Synopsis
    @@ -60,12 +60,12 @@
     }
     
    - + See also
    + make_unfused_lvalue_args">make_unfused_lvalue_args
    @@ -74,7 +74,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_unfused_rvargs.html b/doc/html/fusion/functional/generation/metafunctions/mk_unfused_rvargs.html index 5d5983a4..ea4497e6 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_unfused_rvargs.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_unfused_rvargs.html @@ -4,7 +4,7 @@ make_unfused_rvalue_args - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -30,22 +30,22 @@ make_unfused_rvalue_args"> make_unfused_rvalue_args
    - + Description

    Returns the result type of make_unfused_rvalue_args. + make_unfused_rvalue_args">make_unfused_rvalue_args.

    - + Header
     #include <boost/fusion/functional/generation/make_unfused_rvalue_args.hpp>
     
    - + Synopsis
    @@ -59,12 +59,12 @@
     }
     
    - + See also
    + make_unfused_rvalue_args">make_unfused_rvalue_args
    @@ -73,7 +73,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/invocation.html b/doc/html/fusion/functional/invocation.html index f3ed7372..8c6f38ef 100644 --- a/doc/html/fusion/functional/invocation.html +++ b/doc/html/fusion/functional/invocation.html @@ -3,7 +3,7 @@ Invocation - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -38,7 +38,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/invocation/functions.html b/doc/html/fusion/functional/invocation/functions.html index 1a440dc9..c7abfbba 100644 --- a/doc/html/fusion/functional/invocation/functions.html +++ b/doc/html/fusion/functional/invocation/functions.html @@ -3,24 +3,24 @@ Functions - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -40,7 +40,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/invocation/functions/invoke.html b/doc/html/fusion/functional/invocation/functions/invoke.html index 53c4281b..8c5f16a7 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke.html +++ b/doc/html/fusion/functional/invocation/functions/invoke.html @@ -3,7 +3,7 @@ invoke - + @@ -11,23 +11,23 @@ invoke_procedure"> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    @@ -42,12 +42,12 @@

    If the target function is a pointer to a class members, the corresponding object can be specified as a reference, pointer, or smart pointer. In - case of the latter, a freestanding get_pointer function - must be defined (Boost provides this function for std::auto_ptr - and boost::shared_ptr). + case of the latter, a freestanding get_pointer function + must be defined (Boost provides this function for std::auto_ptr + and boost::shared_ptr).

    - + Synopsis
    @@ -55,18 +55,18 @@
         typename Function, 
         class Sequence
         >
    -typename result_of::invoke<Function, Sequence>::type
    +typename result_of::invoke<Function, Sequence>::type
     invoke(Function f, Sequence & s);
     
     template<
         typename Function, 
         class Sequence
         >
    -typename result_of::invoke<Function, Sequence const>::type 
    +typename result_of::invoke<Function, Sequence const>::type 
     invoke(Function f, Sequence const & s);
     
    - + Parameters
    @@ -96,7 +96,7 @@

    - f + f

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

    - s + s

    @@ -134,7 +134,7 @@
    - + Expression Semantics
    @@ -142,41 +142,41 @@ invoke(f,s);

    - Return type: Return type of f when invoked with the elements in - s as its arguments. + Return type: Return type of f when invoked with the elements in + s as its arguments.

    - Semantics: Invokes f - with the elements in s + Semantics: Invokes f + with the elements in s 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);
    +std::plus<int> add;
    +assert(invoke(add,make_vector(1,1)) == 2);
     
    - + See also
    @@ -186,7 +186,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/invocation/functions/invoke_fobj.html b/doc/html/fusion/functional/invocation/functions/invoke_fobj.html index 4de4083e..6df89ed8 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke_fobj.html +++ b/doc/html/fusion/functional/invocation/functions/invoke_fobj.html @@ -4,7 +4,7 @@ invoke_function_object - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -30,7 +30,7 @@ invoke_function_object"> invoke_function_object
    - + Description

    @@ -43,7 +43,7 @@ and/or to control the const qualification of a function object.

    - + Synopsis
    @@ -52,7 +52,7 @@
         class Sequence
         >
     typename result_of::invoke_function_object<Function, Sequence>::type
    +          invoke_function_object">result_of::invoke_function_object<Function, Sequence>::type
     invoke_function_object(Function f, Sequence & s);
     
     template<
    @@ -60,11 +60,11 @@
         class Sequence
         >
     typename result_of::invoke_function_object<Function, Sequence const>::type
    +          invoke_function_object">result_of::invoke_function_object<Function, Sequence const>::type
     invoke_function_object(Function f, Sequence const & s);
     
    - + Parameters
    @@ -94,7 +94,7 @@

    - f + f

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

    - s + s

    @@ -132,7 +132,7 @@
    - + Expression Semantics
    @@ -140,23 +140,23 @@ invoke_function_object(f,s);

    - Return type: Return type of f when invoked with the elements in - s as its arguments. + Return type: Return type of f when invoked with the elements in + s as its arguments.

    - Semantics: Invokes f - with the elements in s + Semantics: Invokes f + with the elements in s as arguments and returns the result of the call expression.

    - + Header
     #include <boost/fusion/functional/invocation/invoke_function_object.hpp>
     
    - + Example
    @@ -179,21 +179,21 @@
     void try_it()
     {
         sub f;
    -    assert(f(2,1) == invoke_function_object(f,make_vector(2,1)));
    +    assert(f(2,1) == invoke_function_object(f,make_vector(2,1)));
     }
     
    - + See also
    @@ -203,7 +203,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/invocation/functions/invoke_proc.html b/doc/html/fusion/functional/invocation/functions/invoke_proc.html index b3b80e45..aa841307 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/functions/invoke_proc.html @@ -4,7 +4,7 @@ invoke_procedure - + @@ -12,17 +12,17 @@ invoke_function_object"> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -30,7 +30,7 @@ invoke_procedure"> invoke_procedure
    - + Description

    @@ -45,8 +45,8 @@

    For pointers to class members corresponding object can be specified as a reference, pointer, or smart pointer. In case of the latter, a freestanding - get_pointer function must be defined (Boost provides - this function for std::auto_ptr and boost::shared_ptr). + get_pointer function must be defined (Boost provides + this function for std::auto_ptr and boost::shared_ptr).

    The target function must not be a pointer to a member object (dereferencing @@ -54,7 +54,7 @@ isn't implemented).

    - + Synopsis
    @@ -63,7 +63,7 @@
         class Sequence
         >
     typename result_of::invoke_procedure<Function, Sequence>::type
    +          invoke_procedure">result_of::invoke_procedure<Function, Sequence>::type
     invoke_procedure(Function f, Sequence & s);
     
     template<
    @@ -71,11 +71,11 @@
         class Sequence
         >
     typename result_of::invoke_procedure<Function, Sequence const>::type
    +          invoke_procedure">result_of::invoke_procedure<Function, Sequence const>::type
     invoke_procedure(Function f, Sequence const & s);
     
    - + Parameters
    @@ -105,7 +105,7 @@

    - f + f

    @@ -123,7 +123,7 @@

    - s + s

    @@ -142,7 +142,7 @@
    - + Expression Semantics
    @@ -150,42 +150,42 @@ invoke_procedure(f,s);

    - Return type: void + Return type: void

    - Semantics: Invokes f - with the elements in s + Semantics: Invokes f + with the elements in s as arguments.

    - + Header
     #include <boost/fusion/functional/invocation/invoke_procedure.hpp>
     
    - + Example
    -vector<int,int> v(1,2);
    +vector<int,int> v(1,2);
     using namespace boost::lambda;
     invoke_procedure(_1 += _2, v);
    -assert(front(v) == 3);
    +assert(front(v) == 3);
     
    - + See also
    @@ -195,7 +195,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/invocation/metafunctions.html b/doc/html/fusion/functional/invocation/metafunctions.html index 44c33781..e9df0740 100644 --- a/doc/html/fusion/functional/invocation/metafunctions.html +++ b/doc/html/fusion/functional/invocation/metafunctions.html @@ -3,7 +3,7 @@ Metafunctions - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -41,7 +41,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke.html b/doc/html/fusion/functional/invocation/metafunctions/invoke.html index 603abc43..b50b8089 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke.html @@ -3,7 +3,7 @@ invoke - + @@ -11,30 +11,30 @@ invoke_procedure"> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of invoke. + Returns the result type of invoke.

    - + Synopsis
    @@ -51,13 +51,13 @@
     }
     
    - + See also
    @@ -67,7 +67,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html b/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html index eac2912f..e1e7a2a4 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html @@ -4,7 +4,7 @@ invoke_function_object - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -30,15 +30,15 @@ invoke_function_object"> invoke_function_object
    - + Description

    Returns the result type of invoke_function_object. + invoke_function_object">invoke_function_object.

    - + Synopsis
    @@ -55,14 +55,14 @@
     }
     
    - + See also
    @@ -72,7 +72,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html b/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html index 149b5acf..cf9a65ef 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html @@ -4,7 +4,7 @@ invoke_procedure - + @@ -12,17 +12,17 @@ invoke_function_object"> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -30,15 +30,15 @@ invoke_procedure"> invoke_procedure
    - + Description

    Returns the result type of invoke_procedure. + invoke_procedure">invoke_procedure.

    - + Synopsis
    @@ -55,14 +55,14 @@
     }
     
    - + See also
    @@ -72,7 +72,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/introduction.html b/doc/html/fusion/introduction.html index 40b58039..ec7fdb70 100644 --- a/doc/html/fusion/introduction.html +++ b/doc/html/fusion/introduction.html @@ -3,24 +3,24 @@ Introduction - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -29,9 +29,9 @@ An advantage other languages such as Python and Lisp/ Scheme, ML and Haskell, etc., over C++ is the ability to have heterogeneous containers that can hold arbitrary element types. All the containers in the standard library can only - hold a specific type. A vector<int> - can only hold ints. A list<X> can - only hold elements of type X, + hold a specific type. A vector<int> + can only hold ints. A list<X> can + only hold elements of type X, and so on.

    @@ -41,8 +41,8 @@ on virtual functions to provide polymorphic behavior since the actual type is erased as soon as you store a pointer to a derived class to a pointer to its base. The held objects must be related: you cannot hold objects of unrelated - types such as char, int, class - X, float, + types such as char, int, class + X, float, etc. Oh sure you can use something like Boost.Any to hold arbitrary types, but then you pay more in terms of runtime costs and due to the fact that you practically erased all type information, you'll have @@ -51,7 +51,7 @@

    The Boost.Tuple library written by Jaakko - Jarvi provides heterogeneous containers in C++. The tuple + Jarvi provides heterogeneous containers in C++. The tuple is a basic data structure that can hold heterogeneous types. It's a good first step, but it's not complete. What's missing are the algorithms. It's nice that we can store and retrieve data to and from tuples, pass them around as arguments @@ -89,23 +89,23 @@ fusion algorithms are functional in nature such that algorithms are non mutating (no side effects). However, due to the high cost of returning full sequences such as vectors and lists, Views are returned from Fusion - algorithms instead. For example, the transform algorithm does not actually - return a transformed version of the original sequence. transform returns a transform_view. This view holds a + algorithms instead. For example, the transform algorithm does not actually + return a transformed version of the original sequence. transform returns a transform_view. This view holds a reference to the original sequence plus the transform function. Iteration over - the transform_view + the transform_view will apply the transform function over the sequence elements on demand. This lazy evaluation scheme allows us to chain as many algorithms as we want without incurring a high runtime penalty.

    The lazy evaluation scheme where algorithms return views - allows operations such as push_back to be totally generic. In - Fusion, push_back is actually a generic algorithm - that works on all sequences. Given an input sequence s - and a value x, Fusion's push_back algorithm simply returns - a joint_view: - a view that holds a reference to the original sequence s - and the value x. Functions + allows operations such as push_back to be totally generic. In + Fusion, push_back is actually a generic algorithm + that works on all sequences. Given an input sequence s + and a value x, Fusion's push_back algorithm simply returns + a joint_view: + a view that holds a reference to the original sequence s + and the value x. Functions that were once sequence specific and need to be implemented N times over N different sequences are now implemented only once.

    @@ -135,7 +135,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators.html b/doc/html/fusion/iterators.html index ec1ea8d1..48583fa5 100644 --- a/doc/html/fusion/iterators.html +++ b/doc/html/fusion/iterators.html @@ -3,24 +3,24 @@ Iterators - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -74,7 +74,7 @@ Sequence.

    - + Header

    @@ -88,7 +88,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/concepts.html b/doc/html/fusion/iterators/concepts.html index 71fa0586..2ec27b7e 100644 --- a/doc/html/fusion/iterators/concepts.html +++ b/doc/html/fusion/iterators/concepts.html @@ -3,7 +3,7 @@ Concepts - + @@ -11,17 +11,17 @@ Iterator"> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -55,7 +55,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/concepts/bidirectional_iterator.html b/doc/html/fusion/iterators/concepts/bidirectional_iterator.html index 31e8d406..d0331405 100644 --- a/doc/html/fusion/iterators/concepts/bidirectional_iterator.html +++ b/doc/html/fusion/iterators/concepts/bidirectional_iterator.html @@ -4,7 +4,7 @@ Bidirectional Iterator - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -31,7 +31,7 @@ Iterator">Bidirectional Iterator

    - + Description

    @@ -41,27 +41,27 @@

    Notation

    -
    i
    -
    - A Bidirectional Iterator -
    -
    I
    -
    - A Bidirectional Iterator type -
    -
    M
    -
    - An MPL - integral constant -
    -
    N
    -
    - An integral constant -
    +
    i
    +

    + A Bidirectional Iterator +

    +
    I
    +

    + A Bidirectional Iterator type +

    +
    M
    +

    + An MPL + integral constant +

    +
    N
    +

    + An integral constant +

    - + Refinement of
    @@ -70,7 +70,7 @@ Iterator">Forward Iterator

    - + Expression requirements
    @@ -106,7 +106,7 @@

    - next(i) + next(i)

    @@ -125,7 +125,7 @@

    - prior(i) + prior(i)

    @@ -144,7 +144,7 @@

    - advance_c<N>(i) + advance_c<N>(i)

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

    - advance<M>(i) + advance<M>(i)

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

    - + Meta Expressions
    @@ -206,7 +206,7 @@

    - result_of::prior<I>::type + result_of::prior<I>::type

    @@ -217,7 +217,7 @@
    - + Expression Semantics
    @@ -247,18 +247,18 @@

    - prior(i) + prior(i)

    - An iterator to the element preceding i + An iterator to the element preceding i

    - + Invariants

    @@ -267,44 +267,44 @@ Iterator, the following invariants always hold:

    - + Models
    @@ -314,7 +314,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/concepts/forward_iterator.html b/doc/html/fusion/iterators/concepts/forward_iterator.html index 83c845a3..428c454e 100644 --- a/doc/html/fusion/iterators/concepts/forward_iterator.html +++ b/doc/html/fusion/iterators/concepts/forward_iterator.html @@ -4,7 +4,7 @@ Forward Iterator - + @@ -12,17 +12,17 @@ Iterator"> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -30,7 +30,7 @@ Iterator">Forward Iterator

    - + Description

    @@ -41,29 +41,29 @@

    Notation

    -
    i, - j
    -
    - Forward Iterators -
    -
    I, - J
    -
    - Forward Iterator types -
    -
    M
    -
    - An MPL - integral constant -
    -
    N
    -
    - An integral constant -
    +
    i, + j
    +

    + Forward Iterators +

    +
    I, + J
    +

    + Forward Iterator types +

    +
    M
    +

    + An MPL + integral constant +

    +
    N
    +

    + An integral constant +

    - + Expression requirements
    @@ -98,7 +98,7 @@

    - next(i) + next(i)

    @@ -117,8 +117,8 @@

    - i == - j + i == + j

    @@ -135,8 +135,8 @@

    - i != - j + i != + j

    @@ -153,7 +153,7 @@

    - advance_c<N>(i) + advance_c<N>(i)

    @@ -172,7 +172,7 @@

    - advance<M>(i) + advance<M>(i)

    @@ -191,14 +191,14 @@

    - distance(i, - j) + distance(i, + j)

    - result_of::distance<I, - J>::type + result_of::distance<I, + J>::type

    @@ -210,12 +210,12 @@

    - deref(i) + deref(i)

    - result_of::deref<I>::type + result_of::deref<I>::type

    @@ -227,12 +227,12 @@

    - *i + *i

    - result_of::deref<I>::type + result_of::deref<I>::type

    @@ -244,7 +244,7 @@
    - + Meta Expressions
    @@ -269,7 +269,7 @@

    - result_of::next<I>::type + result_of::next<I>::type

    @@ -281,8 +281,8 @@

    - result_of::equal_to<I, - J>::type + result_of::equal_to<I, + J>::type

    @@ -294,8 +294,8 @@

    - result_of::advance_c<I, - N>::type + result_of::advance_c<I, + N>::type

    @@ -307,7 +307,7 @@

    - result_of::advance<I ,M>::type + result_of::advance<I ,M>::type

    @@ -319,7 +319,7 @@

    - result_of::distance<I ,J>::type + result_of::distance<I ,J>::type

    @@ -331,7 +331,7 @@

    - result_of::deref<I>::type + result_of::deref<I>::type

    @@ -343,7 +343,7 @@

    - result_of::value_of<I>::type + result_of::value_of<I>::type

    @@ -355,7 +355,7 @@
    - + Expression Semantics
    @@ -380,20 +380,20 @@

    - next(i) + next(i)

    - An iterator to the element following i + An iterator to the element following i

    - i == - j + i == + j

    @@ -405,8 +405,8 @@

    - i != - j + i != + j

    @@ -418,12 +418,12 @@

    - advance_c<N>(i) + advance_c<N>(i)

    - An iterator n elements after i + An iterator n elements after i in the sequence

    @@ -431,135 +431,135 @@

    - advance<M>(i) + advance<M>(i)

    - Equivalent to advance_c<M::value>(i) + Equivalent to advance_c<M::value>(i)

    - distance(i, - j) + distance(i, + j)

    - The number of elements between i - and j + The number of elements between i + and j

    - deref(i) + deref(i)

    - The element at positioni + The element at positioni

    - *i + *i

    - Equivalent to deref(i) + Equivalent to deref(i)

    - + Invariants

    The following invariants always hold:

      -
    • !(i - == j) == (i != j)
    • -
    • next(i) == advance_c<1>(i)
    • -
    • distance(i, advance_c<N>(i)) == N
    • +
    • !(i + == j) == (i != j)
    • +
    • next(i) == advance_c<1>(i)
    • +
    • distance(i, advance_c<N>(i)) == N
    • - Using next to traverse the + Using next to traverse the sequence will never return to a previously seen position
    • -deref(i) - is equivalent to *i +deref(i) + is equivalent to *i
    • - If i == - j then *i is equivalent to *j + If i == + j then *i is equivalent to *j
    - + Models
    @@ -571,7 +571,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/concepts/random_access_iterator.html b/doc/html/fusion/iterators/concepts/random_access_iterator.html index e355e36d..ce0ebfe2 100644 --- a/doc/html/fusion/iterators/concepts/random_access_iterator.html +++ b/doc/html/fusion/iterators/concepts/random_access_iterator.html @@ -4,7 +4,7 @@ Random Access Iterator - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -30,7 +30,7 @@ Access Iterator">Random Access Iterator

    - + Description

    @@ -41,29 +41,29 @@

    Notation

    -
    i, - j
    -
    - Random Access Iterators -
    -
    I, - J
    -
    - Random Access Iterator types -
    -
    M
    -
    - An MPL - integral constant -
    -
    N
    -
    - An integral constant -
    +
    i, + j
    +

    + Random Access Iterators +

    +
    I, + J
    +

    + Random Access Iterator types +

    +
    M
    +

    + An MPL + integral constant +

    +
    N
    +

    + An integral constant +

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

    - + Expression requirements
    @@ -109,7 +109,7 @@

    - next(i) + next(i)

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

    - prior(i) + prior(i)

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

    - advance_c<N>(i) + advance_c<N>(i)

    @@ -166,7 +166,7 @@

    - advance<M>(i) + advance<M>(i)

    @@ -185,7 +185,7 @@
    - + Meta Expressions
    @@ -210,8 +210,8 @@

    - result_of::advance_c<I, - N>::type + result_of::advance_c<I, + N>::type

    @@ -223,8 +223,8 @@

    - result_of::advance<I, - M>::type + result_of::advance<I, + M>::type

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

    - result_of::distance<I ,J>::type + result_of::distance<I ,J>::type

    @@ -248,36 +248,36 @@
    - + Models
    • -vector +vector iterator
    • -std::pair +std::pair iterator
    • -boost::array +boost::array iterator
    • -iterator_range +iterator_range iterator (where adapted sequence is a Random Access Sequence)
    • -transform_view +transform_view iterator (where adapted sequence is a Random Access Sequence)
    • -reverse_view +reverse_view iterator (where adapted sequence is a Random Access Sequence) @@ -291,7 +291,7 @@
      -PrevUpHomeNext +PrevUpHomeNext
      diff --git a/doc/html/fusion/iterators/functions.html b/doc/html/fusion/iterators/functions.html index 2456ca31..773ec877 100644 --- a/doc/html/fusion/iterators/functions.html +++ b/doc/html/fusion/iterators/functions.html @@ -3,7 +3,7 @@ Functions - + - +
      -
      Boost C++ Libraries Home Libraries People FAQ More
      +
      -PrevUpHomeNext +PrevUpHomeNext

      @@ -47,7 +47,7 @@
      -PrevUpHomeNext +PrevUpHomeNext
      diff --git a/doc/html/fusion/iterators/functions/advance.html b/doc/html/fusion/iterators/functions/advance.html index 1290ec3b..dc7ee092 100644 --- a/doc/html/fusion/iterators/functions/advance.html +++ b/doc/html/fusion/iterators/functions/advance.html @@ -3,37 +3,37 @@ advance - + - +
      -
      Boost C++ Libraries Home Libraries People FAQ More
      +
      -PrevUpHomeNext +PrevUpHomeNext
      - + Description

      Moves an iterator by a specified distance.

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

      Table 1.6. Parameters

      +

      Table 1.6. Parameters

      @@ -72,7 +72,7 @@

      - i + i

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

      - N + N

      @@ -110,42 +110,42 @@
      - + Expression Semantics
      -advance<M>(i);
      +advance<M>(i);
       

      - Return type: A model of the same iterator - concept as i. + Return type: A model of the same iterator + concept as i.

      - Semantics: Returns an iterator to the - element M positions from - i. If i + Semantics: Returns an iterator to the + element M positions from + i. If i is a Bidirectional - Iterator then M + Iterator then M may be negative.

      - + Header
       #include <boost/fusion/iterator/advance.hpp>
       
      - + Example
      -typedef vector<int,int,int> vec;
      +typedef vector<int,int,int> vec;
       
       vec v(1,2,3);
      -assert(deref(advance<mpl::int_<2> >(begin(v))) == 3);
      +assert(deref(advance<mpl::int_<2> >(begin(v))) == 3);
       
      @@ -155,7 +155,7 @@

      -PrevUpHomeNext +PrevUpHomeNext
      diff --git a/doc/html/fusion/iterators/functions/advance_c.html b/doc/html/fusion/iterators/functions/advance_c.html index 27994e78..f4f402ce 100644 --- a/doc/html/fusion/iterators/functions/advance_c.html +++ b/doc/html/fusion/iterators/functions/advance_c.html @@ -3,37 +3,37 @@ advance_c - + - +
      -
      Boost C++ Libraries Home Libraries People FAQ More
      +
      -PrevUpHomeNext +PrevUpHomeNext
      - + Description

      Moves an iterator by a specified distance.

      - + Synopsis
      @@ -41,10 +41,10 @@
           typename I,
           int N
           >
      -typename result_of::advance_c<I, N>::type advance_c(I const& i); 
      +typename result_of::advance_c<I, N>::type advance_c(I const& i); 
       
      -

      Table 1.7. Parameters

      +

      Table 1.7. Parameters

      @@ -72,7 +72,7 @@

      - i + i

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

      - N + N

      @@ -109,42 +109,42 @@
      - + Expression Semantics
      -advance_c<N>(i);
      +advance_c<N>(i);
       

      - Return type: A model of the same iterator - concept as i. + Return type: A model of the same iterator + concept as i.

      - Semantics: Returns an iterator to the - element N positions from - i. If i + Semantics: Returns an iterator to the + element N positions from + i. If i is a Bidirectional - Iterator then N + Iterator then N may be negative.

      - + Header
       #include <boost/fusion/iterator/advance.hpp>
       
      - + Example
      -typedef vector<int,int,int> vec;
      +typedef vector<int,int,int> vec;
       
       vec v(1,2,3);
      -assert(deref(advance_c<2>(begin(v))) == 3);
      +assert(deref(advance_c<2>(begin(v))) == 3);
       
      @@ -154,7 +154,7 @@

      -PrevUpHomeNext +PrevUpHomeNext
      diff --git a/doc/html/fusion/iterators/functions/deref.html b/doc/html/fusion/iterators/functions/deref.html index 7e53a07f..10629ccb 100644 --- a/doc/html/fusion/iterators/functions/deref.html +++ b/doc/html/fusion/iterators/functions/deref.html @@ -3,47 +3,47 @@ deref - + - +
      -
      Boost C++ Libraries Home Libraries People FAQ More
      +
      -PrevUpHomeNext +PrevUpHomeNext
      - + Description

      Deferences an iterator.

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

      Table 1.2. Parameters

      +

      Table 1.2. Parameters

      @@ -70,7 +70,7 @@

      - i + i

      @@ -89,39 +89,39 @@
      - + Expression Semantics
      -deref(i);
      +deref(i);
       

      - Return type: result_of::deref<I>::type + Return type: result_of::deref<I>::type

      - Semantics: Dereferences the iterator - i. + Semantics: Dereferences the iterator + i.

      - + Header
       #include <boost/fusion/iterator/deref.hpp>
       
      - + Example
      -typedef vector<int,int&> vec;
      +typedef vector<int,int&> vec;
       
       int i(0);
       vec v(1,i);
      -assert(deref(begin(v)) == 1);
      -assert(deref(next(begin(v))) == 0);
      -assert(&(deref(next(begin(v)))) == &i);
      +assert(deref(begin(v)) == 1);
      +assert(deref(next(begin(v))) == 0);
      +assert(&(deref(next(begin(v)))) == &i);
       
      @@ -131,7 +131,7 @@

      -PrevUpHomeNext +PrevUpHomeNext
      diff --git a/doc/html/fusion/iterators/functions/distance.html b/doc/html/fusion/iterators/functions/distance.html index 48c9c217..df606479 100644 --- a/doc/html/fusion/iterators/functions/distance.html +++ b/doc/html/fusion/iterators/functions/distance.html @@ -3,37 +3,37 @@ distance - + - +
      -
      Boost C++ Libraries Home Libraries People FAQ More
      +
      -PrevUpHomeNext +PrevUpHomeNext
      - + Description

      Returns the distance between 2 iterators.

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

      Table 1.5. Parameters

      +

      Table 1.5. Parameters

      @@ -71,7 +71,7 @@

      - i, j + i, j

      @@ -90,36 +90,36 @@
      - + Expression Semantics
      -distance(i,j);
      +distance(i,j);
       

      - Return type: int + Return type: int

      - Semantics: Returns the distance between - iterators i and j. + Semantics: Returns the distance between + iterators i and j.

      - + Header
       #include <boost/fusion/iterator/distance.hpp>
       
      - + Example
      -typedef vector<int,int,int> vec;
      +typedef vector<int,int,int> vec;
       
       vec v(1,2,3);
      -assert(distance(begin(v), next(next(begin(v)))) == 2);
      +assert(distance(begin(v), next(next(begin(v)))) == 2);
       
      @@ -129,7 +129,7 @@

      -PrevUpHomeNext +PrevUpHomeNext
      diff --git a/doc/html/fusion/iterators/functions/next.html b/doc/html/fusion/iterators/functions/next.html index 13a97c83..b4dc0827 100644 --- a/doc/html/fusion/iterators/functions/next.html +++ b/doc/html/fusion/iterators/functions/next.html @@ -3,47 +3,47 @@ next - + - +
      -
      Boost C++ Libraries Home Libraries People FAQ More
      +
      -PrevUpHomeNext +PrevUpHomeNext
      - + Description

      Moves an iterator 1 position forwards.

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

      Table 1.3. Parameters

      +

      Table 1.3. Parameters

      @@ -70,7 +70,7 @@

      - i + i

      @@ -89,7 +89,7 @@
      - + Expression Semantics
      @@ -97,31 +97,31 @@ next(i);

    - Return type: A model of the same iterator - concept as i. + Return type: A model of the same iterator + concept as i.

    - Semantics: Returns an iterator to the - next element after i. + Semantics: Returns an iterator to the + next element after i.

    - + Header
     #include <boost/fusion/iterator/next.hpp>
     
    - + Example
    -typedef vector<int,int,int> vec;
    +typedef vector<int,int,int> vec;
     
     vec v(1,2,3);
    -assert(deref(begin(v)) == 1);
    -assert(deref(next(begin(v))) == 2);
    -assert(deref(next(next(begin(v)))) == 3);
    +assert(deref(begin(v)) == 1);
    +assert(deref(next(begin(v))) == 2);
    +assert(deref(next(next(begin(v)))) == 3);
     
    @@ -131,7 +131,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/functions/prior.html b/doc/html/fusion/iterators/functions/prior.html index b4f33bba..9eaba7b7 100644 --- a/doc/html/fusion/iterators/functions/prior.html +++ b/doc/html/fusion/iterators/functions/prior.html @@ -3,47 +3,47 @@ prior - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    Moves an iterator 1 position backwards.

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

    Table 1.4. Parameters

    +

    Table 1.4. Parameters

    @@ -70,7 +70,7 @@

    - i + i

    @@ -89,38 +89,38 @@
    - + Expression Semantics
    -prior(i);
    +prior(i);
     

    - Return type: A model of the same iterator - concept as i. + Return type: A model of the same iterator + concept as i.

    - Semantics: Returns an iterator to the - element prior to i. + Semantics: Returns an iterator to the + element prior to i.

    - + Header
     #include <boost/fusion/iterator/prior.hpp>
     
    - + Example
    -typedef vector<int,int> vec;
    +typedef vector<int,int> vec;
     
     vec v(1,2);
    -assert(deref(next(begin(v))) == 2);
    -assert(deref(prior(next(begin(v)))) == 1);
    +assert(deref(next(begin(v))) == 2);
    +assert(deref(prior(next(begin(v)))) == 1);
     
    @@ -130,7 +130,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/metafunctions.html b/doc/html/fusion/iterators/metafunctions.html index 246bd1ae..22b175b9 100644 --- a/doc/html/fusion/iterators/metafunctions.html +++ b/doc/html/fusion/iterators/metafunctions.html @@ -3,7 +3,7 @@ Metafunctions - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -44,7 +44,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/metafunctions/advance.html b/doc/html/fusion/iterators/metafunctions/advance.html index caf22919..00b4468f 100644 --- a/doc/html/fusion/iterators/metafunctions/advance.html +++ b/doc/html/fusion/iterators/metafunctions/advance.html @@ -3,37 +3,37 @@ advance - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    Moves an iterator a specified distance.

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

    Table 1.17. Parameters

    +

    Table 1.17. Parameters

    @@ -75,7 +75,7 @@

    - I + I

    @@ -94,7 +94,7 @@

    - M + M

    @@ -113,43 +113,43 @@
    - + Expression Semantics
    -result_of::advance<I,M>::type
    +result_of::advance<I,M>::type
     

    - Return type: A model of the same iterator - concept as I. + Return type: A model of the same iterator + concept as I.

    - Semantics: Returns an iterator a distance - M from I. - If I is a Semantics: Returns an iterator a distance + M from I. + If I is a Bidirectional - Iterator then M + Iterator then M may be negative.

    - + Header
     #include <boost/fusion/iterator/advance.hpp>
     
    - + Example
    -typedef vector<int,double,char> vec;
    -typedef result_of::begin<vec>::type first;
    -typedef result_of::next<first>::type second;
    -typedef result_of::next<second>::type third;
    +typedef vector<int,double,char> vec;
    +typedef result_of::begin<vec>::type first;
    +typedef result_of::next<first>::type second;
    +typedef result_of::next<second>::type third;
     
    -BOOST_MPL_ASSERT((result_of::equal_to<result_of::advance<first, boost::mpl::int_<2> >::type, third>));
    +BOOST_MPL_ASSERT((result_of::equal_to<result_of::advance<first, boost::mpl::int_<2> >::type, third>));
     
    @@ -159,7 +159,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/metafunctions/advance_c.html b/doc/html/fusion/iterators/metafunctions/advance_c.html index 1b866e2c..0f174158 100644 --- a/doc/html/fusion/iterators/metafunctions/advance_c.html +++ b/doc/html/fusion/iterators/metafunctions/advance_c.html @@ -3,37 +3,37 @@ advance_c - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    Moves an iterator by a specified distance.

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

    Table 1.18. Parameters

    +

    Table 1.18. Parameters

    @@ -75,7 +75,7 @@

    - I + I

    @@ -94,7 +94,7 @@

    - N + N

    @@ -112,43 +112,43 @@
    - + Expression Semantics
    -result_of::advance_c<I, N>::type
    +result_of::advance_c<I, N>::type
     

    - Return type: A model of the same iterator - concept as I. + Return type: A model of the same iterator + concept as I.

    - Semantics: Returns an iterator a distance - N from I. - If I is a Semantics: Returns an iterator a distance + N from I. + If I is a Bidirectional - Iterator then N - may be negative. Equivalent to result_of::advance<I, boost::mpl::int_<N> >::type. + Iterator then N + may be negative. Equivalent to result_of::advance<I, boost::mpl::int_<N> >::type.

    - + Header
     #include <boost/fusion/iterator/advance.hpp>
     
    - + Example
    -typedef vector<int,double,char> vec;
    -typedef result_of::begin<vec>::type first;
    -typedef result_of::next<first>::type second;
    -typedef result_of::next<second>::type third;
    +typedef vector<int,double,char> vec;
    +typedef result_of::begin<vec>::type first;
    +typedef result_of::next<first>::type second;
    +typedef result_of::next<second>::type third;
     
    -BOOST_MPL_ASSERT((result_of::equal_to<result_of::advance_c<first, 2>::type, third>));
    +BOOST_MPL_ASSERT((result_of::equal_to<result_of::advance_c<first, 2>::type, third>));
     
    @@ -158,7 +158,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/metafunctions/deref.html b/doc/html/fusion/iterators/metafunctions/deref.html index 31a47bf9..b8d9b5b7 100644 --- a/doc/html/fusion/iterators/metafunctions/deref.html +++ b/doc/html/fusion/iterators/metafunctions/deref.html @@ -3,37 +3,37 @@ deref - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

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

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

    Table 1.12. Parameters

    +

    Table 1.12. Parameters

    @@ -73,7 +73,7 @@

    - I + I

    @@ -92,42 +92,42 @@
    - + Expression Semantics
    -result_of::deref<I>::type
    +result_of::deref<I>::type
     

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

    - Semantics: Returns the result of dereferencing - an iterator of type I. + Semantics: Returns the result of dereferencing + an iterator of type I.

    - + Header
     #include <boost/fusion/iterator/deref.hpp>
     
    - + Example
    -typedef vector<int,int&> vec;
    +typedef vector<int,int&> vec;
     typedef const vec const_vec;
    -typedef result_of::begin<vec>::type first;
    -typedef result_of::next<first>::type second;
    +typedef result_of::begin<vec>::type first;
    +typedef result_of::next<first>::type second;
     
    -typedef result_of::begin<const_vec>::type const_first;
    -typedef result_of::next<const_first>::type const_second;
    +typedef result_of::begin<const_vec>::type const_first;
    +typedef result_of::next<const_first>::type const_second;
     
    -BOOST_MPL_ASSERT((boost::is_same<result_of::deref<first>::type, int&>));
    -BOOST_MPL_ASSERT((boost::is_same<result_of::deref<second>::type, int&>));
    +BOOST_MPL_ASSERT((boost::is_same<result_of::deref<first>::type, int&>));
    +BOOST_MPL_ASSERT((boost::is_same<result_of::deref<second>::type, int&>));
     
    @@ -137,7 +137,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/metafunctions/distance.html b/doc/html/fusion/iterators/metafunctions/distance.html index 92b6448b..743318e8 100644 --- a/doc/html/fusion/iterators/metafunctions/distance.html +++ b/doc/html/fusion/iterators/metafunctions/distance.html @@ -3,37 +3,37 @@ distance - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    Returns the distance between two iterators.

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

    Table 1.16. Parameters

    +

    Table 1.16. Parameters

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

    - I, J + I, J

    @@ -93,39 +93,39 @@
    - + Expression Semantics
    -result_of::distance<I, J>::type
    +result_of::distance<I, J>::type
     

    - Return type: A model of MPL + Return type: A model of MPL Integral Constant.

    - Semantics: Returns the distance between - iterators of types I and - J. + Semantics: Returns the distance between + iterators of types I and + J.

    - + Header
     #include <boost/fusion/iterator/distance.hpp>
     
    - + Example
    -typedef vector<int,double,char> vec;
    -typedef result_of::begin<vec>::type first;
    -typedef result_of::next<first>::type second;
    -typedef result_of::next<second>::type third;
    -typedef result_of::distance<first,third>::type dist;
    +typedef vector<int,double,char> vec;
    +typedef result_of::begin<vec>::type first;
    +typedef result_of::next<first>::type second;
    +typedef result_of::next<second>::type third;
    +typedef result_of::distance<first,third>::type dist;
     
     BOOST_MPL_ASSERT_RELATION(dist::value, ==, 2);
     
    @@ -137,7 +137,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/metafunctions/equal_to.html b/doc/html/fusion/iterators/metafunctions/equal_to.html index 2c6c1000..a79af3d5 100644 --- a/doc/html/fusion/iterators/metafunctions/equal_to.html +++ b/doc/html/fusion/iterators/metafunctions/equal_to.html @@ -3,39 +3,39 @@ equal_to - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    Returns a true-valued MPL - Integral Constant if I - and J are equal. + Integral Constant if I + and J are equal.

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

    Table 1.15. Parameters

    +

    Table 1.15. Parameters

    @@ -76,7 +76,7 @@

    - I, J + I, J

    @@ -93,39 +93,39 @@
    - + Expression Semantics
    -result_of::equal_to<I, J>::type
    +result_of::equal_to<I, J>::type
     

    - Return type: A model of MPL + Return type: A model of MPL Integral Constant.

    - Semantics: Returns boost::mpl::true_ - if I and J are iterators to the same position. - Returns boost::mpl::false_ otherwise. + Semantics: Returns boost::mpl::true_ + if I and J are iterators to the same position. + Returns boost::mpl::false_ otherwise.

    - + Header
     #include <boost/fusion/iterator/equal_to.hpp>
     
    - + Example
    -typedef vector<int,double> vec;
    -typedef result_of::begin<vec>::type first;
    -typedef result_of::end<vec>::type last;
    -BOOST_MPL_ASSERT((result_of::equal_to<first, first>));
    -BOOST_MPL_ASSERT_NOT((result_of::equal_to<first,last>));
    +typedef vector<int,double> vec;
    +typedef result_of::begin<vec>::type first;
    +typedef result_of::end<vec>::type last;
    +BOOST_MPL_ASSERT((result_of::equal_to<first, first>));
    +BOOST_MPL_ASSERT_NOT((result_of::equal_to<first,last>));
     
    @@ -135,7 +135,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/metafunctions/next.html b/doc/html/fusion/iterators/metafunctions/next.html index 2aa6e18a..14873188 100644 --- a/doc/html/fusion/iterators/metafunctions/next.html +++ b/doc/html/fusion/iterators/metafunctions/next.html @@ -3,37 +3,37 @@ next - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    Returns the type of the next iterator in a sequence.

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

    Table 1.13. Parameters

    +

    Table 1.13. Parameters

    @@ -73,7 +73,7 @@

    - I + I

    @@ -92,37 +92,37 @@
    - + Expression Semantics
    -result_of::next<I>::type
    +result_of::next<I>::type
     

    - Return type: A model of the same iterator - concept as I. + Return type: A model of the same iterator + concept as I.

    - Semantics: Returns an iterator to the - next element in the sequence after I. + Semantics: Returns an iterator to the + next element in the sequence after I.

    - + Header
     #include <boost/fusion/iterator/next.hpp>
     
    - + Example
    -typedef vector<int,double> vec;
    -typedef result_of::next<result_of::begin<vec>::type>::type second;
    +typedef vector<int,double> vec;
    +typedef result_of::next<result_of::begin<vec>::type>::type second;
     
    -BOOST_MPL_ASSERT((boost::is_same<result_of::value_of<second>::type, double>));
    +BOOST_MPL_ASSERT((boost::is_same<result_of::value_of<second>::type, double>));
     
    @@ -132,7 +132,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/metafunctions/prior.html b/doc/html/fusion/iterators/metafunctions/prior.html index 98437f28..108996d0 100644 --- a/doc/html/fusion/iterators/metafunctions/prior.html +++ b/doc/html/fusion/iterators/metafunctions/prior.html @@ -3,37 +3,37 @@ prior - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    Returns the type of the previous iterator in a sequence.

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

    Table 1.14. Parameters

    +

    Table 1.14. Parameters

    @@ -73,7 +73,7 @@

    - I + I

    @@ -92,40 +92,40 @@
    - + Expression Semantics
    -result_of::prior<I>::type
    +result_of::prior<I>::type
     

    - Return type: A model of the same iterator - concept as I. + Return type: A model of the same iterator + concept as I.

    - Semantics: Returns an iterator to the - previous element in the sequence before I. + Semantics: Returns an iterator to the + previous element in the sequence before I.

    - + Header
     #include <boost/fusion/iterator/prior.hpp>
     
    - + Example
    -typedef vector<int,double> vec;
    -typedef result_of::next<result_of::begin<vec>::type>::type second;
    +typedef vector<int,double> vec;
    +typedef result_of::next<result_of::begin<vec>::type>::type second;
     
    -BOOST_MPL_ASSERT((boost::is_same<result_of::value_of<second>::type, double>));
    +BOOST_MPL_ASSERT((boost::is_same<result_of::value_of<second>::type, double>));
     
    -typedef result_of::prior<second>::type first;
    -BOOST_MPL_ASSERT((boost::is_same<result_of::value_of<first>::type, int>));
    +typedef result_of::prior<second>::type first;
    +BOOST_MPL_ASSERT((boost::is_same<result_of::value_of<first>::type, int>));
     
    @@ -135,7 +135,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/metafunctions/value_of.html b/doc/html/fusion/iterators/metafunctions/value_of.html index 0a430352..43183877 100644 --- a/doc/html/fusion/iterators/metafunctions/value_of.html +++ b/doc/html/fusion/iterators/metafunctions/value_of.html @@ -3,37 +3,37 @@ value_of - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    Returns the type stored at the position of an iterator.

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

    Table 1.11. Parameters

    +

    Table 1.11. Parameters

    @@ -73,7 +73,7 @@

    - I + I

    @@ -92,40 +92,40 @@
    - + Expression Semantics
    -result_of::value_of<I>::type
    +result_of::value_of<I>::type
     

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

    - Semantics: Returns the type stored in - a sequence at iterator position I. + Semantics: Returns the type stored in + a sequence at iterator position I.

    - + Header
     #include <boost/fusion/iterator/value_of.hpp>
     
    - + Example
    -typedef vector<int,int&,const int&> vec;
    -typedef result_of::begin<vec>::type first;
    -typedef result_of::next<first>::type second;
    -typedef result_of::next<second>::type third;
    +typedef vector<int,int&,const int&> vec;
    +typedef result_of::begin<vec>::type first;
    +typedef result_of::next<first>::type second;
    +typedef result_of::next<second>::type third;
     
    -BOOST_MPL_ASSERT((boost::is_same<result_of::value_of<first>::type, int>));
    -BOOST_MPL_ASSERT((boost::is_same<result_of::value_of<second>::type, int&>));
    -BOOST_MPL_ASSERT((boost::is_same<result_of::value_of<third>::type, const int&>));
    +BOOST_MPL_ASSERT((boost::is_same<result_of::value_of<first>::type, int>));
    +BOOST_MPL_ASSERT((boost::is_same<result_of::value_of<second>::type, int&>));
    +BOOST_MPL_ASSERT((boost::is_same<result_of::value_of<third>::type, const int&>));
     
    @@ -135,7 +135,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/operators.html b/doc/html/fusion/iterators/operators.html index 8abfbd6c..5b4fff25 100644 --- a/doc/html/fusion/iterators/operators.html +++ b/doc/html/fusion/iterators/operators.html @@ -3,7 +3,7 @@ Operators - + @@ -11,17 +11,17 @@ *"> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -46,7 +46,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/operators/operator_equality.html b/doc/html/fusion/iterators/operators/operator_equality.html index 3279bad6..11217f05 100644 --- a/doc/html/fusion/iterators/operators/operator_equality.html +++ b/doc/html/fusion/iterators/operators/operator_equality.html @@ -4,7 +4,7 @@ Operator == - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -31,14 +31,14 @@ =="> Operator ==

    - + Description

    Compares 2 iterators for equality.

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

    Table 1.9. Parameters

    +

    Table 1.9. Parameters

    @@ -76,7 +76,7 @@

    - i, j + i, j

    @@ -93,7 +93,7 @@
    - + Expression Semantics
    @@ -101,15 +101,15 @@ i == j

    - Return type: Convertible to bool. + Return type: Convertible to bool.

    - Semantics: Equivalent to result_of::equal_to<I,J>::value - where I and J are the types of i - and j respectively. + Semantics: Equivalent to result_of::equal_to<I,J>::value + where I and J are the types of i + and j respectively.

    - + Header
    @@ -123,7 +123,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/operators/operator_inequality.html b/doc/html/fusion/iterators/operators/operator_inequality.html index 7485a5e2..b45b56c0 100644 --- a/doc/html/fusion/iterators/operators/operator_inequality.html +++ b/doc/html/fusion/iterators/operators/operator_inequality.html @@ -4,7 +4,7 @@ Operator != - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -30,14 +30,14 @@ !="> Operator !=

    - + Description

    Compares 2 iterators for inequality.

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

    Table 1.10. Parameters

    +

    Table 1.10. Parameters

    @@ -75,7 +75,7 @@

    - i, j + i, j

    @@ -92,20 +92,20 @@
    - + Expression Semantics

    - Return type: Convertible to bool. + Return type: Convertible to bool.

    - Semantics: Equivalent to !result_of::equal_to<I,J>::value - where I and J are the types of i - and j respectively. + Semantics: Equivalent to !result_of::equal_to<I,J>::value + where I and J are the types of i + and j respectively.

    - + Header
    @@ -119,7 +119,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterators/operators/operator_unary_star.html b/doc/html/fusion/iterators/operators/operator_unary_star.html index c1574731..e662dc4b 100644 --- a/doc/html/fusion/iterators/operators/operator_unary_star.html +++ b/doc/html/fusion/iterators/operators/operator_unary_star.html @@ -4,7 +4,7 @@ Operator * - + @@ -12,17 +12,17 @@ =="> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -30,24 +30,24 @@ *"> Operator *

    - + Description

    Dereferences an iterator.

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

    Table 1.8. Parameters

    +

    Table 1.8. Parameters

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

    - i + i

    @@ -93,7 +93,7 @@
    - + Expression Semantics
    @@ -101,31 +101,31 @@ *i

    - Return type: Equivalent to the return - type of deref(i). + Return type: Equivalent to the return + type of deref(i).

    - Semantics: Equivalent to deref(i). + Semantics: Equivalent to deref(i).

    - + Header
     #include <boost/fusion/iterator/deref.hpp>
     
    - + Example
    -typedef vector<int,int&> vec;
    +typedef vector<int,int&> vec;
     
     int i(0);
     vec v(1,i);
    -assert(*begin(v) == 1);
    -assert(*next(begin(v)) == 0);
    -assert(&(*next(begin(v))) == &i);
    +assert(*begin(v) == 1);
    +assert(*next(begin(v)) == 0);
    +assert(&(*next(begin(v))) == &i);
     
    @@ -135,7 +135,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/notes.html b/doc/html/fusion/notes.html index e46e0dc6..cdb87296 100644 --- a/doc/html/fusion/notes.html +++ b/doc/html/fusion/notes.html @@ -3,7 +3,7 @@ Notes - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - + Recursive Inlined Functions

    - An interesting peculiarity of functions like at when applied to a at when applied to a Forward - Sequence like list is that what could have been + Sequence like list is that what could have been linear runtime complexity effectively becomes constant O(1) due to compiler optimization of C++ inlined functions, however deeply recursive (up to a certain compiler limit of course). Compile time complexity remains linear.

    - + Overloaded Functions

    Associative sequences use function overloading to implement membership testing and type associated key lookup. This amounts to constant runtime and amortized - constant compile time complexities. There is an overloaded function, f(k), for each key type k. The compiler chooses the appropriate function - given a key, k. + constant compile time complexities. There is an overloaded function, f(k), for each key type k. The compiler chooses the appropriate function + given a key, k.

    - + Tag Dispatching

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

    - For example, the fusion result_of::begin metafunction + For example, the fusion result_of::begin metafunction is implemented as follows:

    @@ -87,22 +87,22 @@
         

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

    - + Extensibility

    @@ -114,13 +114,13 @@ and MPL on account of the lazy nature of fusion Algorithms. STL - containers extend themselves in place though member functions such as push_back and insert. MPL + containers extend themselves in place though member functions such as push_back and insert. MPL sequences, on the other hand, are extended through "intrinsic" functions that actually return whole sequences. MPL is purely functional and can not have side effects. For example, MPL's - push_back does not actually - mutate an mpl::vector. It can't do that. Instead, it returns - an extended mpl::vector. + push_back does not actually + mutate an mpl::vector. It can't do that. Instead, it returns + an extended mpl::vector.

    Like MPL, Fusion @@ -130,51 +130,51 @@ are sequences that do not actually contain data, but instead impart an alternative presentation over the data from one or more underlying sequences. Views are proxies. They provide an efficient yet purely functional way to work on - potentially expensive sequence operations. For example, given a vector, Fusion's push_back returns a joint_view, instead of an actual extended - vector. - A joint_view + potentially expensive sequence operations. For example, given a vector, Fusion's push_back returns a joint_view, instead of an actual extended + vector. + A joint_view holds a reference to the original sequence plus the appended data --making it very cheap to pass around.

    - + Element Conversion

    - Functions that take in elemental values to form sequences (e.g. make_list) convert their arguments + Functions that take in elemental values to form sequences (e.g. make_list) convert their arguments to something suitable to be stored as a sequence element. In general, the element types are stored as plain values. Example:

    -make_list(1, 'x')
    +make_list(1, 'x')
     

    - returns a list<int, - char>. + returns a list<int, + char>.

    There are a few exceptions, however.

    - Arrays: + Arrays:

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

    -make_list("Donald", "Daisy")
    +make_list("Donald", "Daisy")
     

    - creates a list + creates a list of type

    -list<const char (&)[7], const char (&)[6]>
    +list<const char (&)[7], const char (&)[6]>
     

    - Function pointers: + Function pointers:

    Function pointers are deduced to the plain non-reference type (i.e. to plain @@ -183,38 +183,38 @@

     void f(int i);
       ...
    -make_list(&f);
    +make_list(&f);
     

    - creates a list + creates a list of type

    -list<void (*)(int)>
    +list<void (*)(int)>
     

    - + boost::ref

    - Fusion's generation functions (e.g. make_list) by default stores the element + Fusion's generation functions (e.g. make_list) by default stores the element types as plain non-reference types. Example:

     void foo(const A& a, B& b) {
         ...
    -    make_list(a, b)
    +    make_list(a, b)
     

    - creates a list + creates a list of type

    -list<A, B>
    +list<A, B>
     

    - Sometimes the plain non-reference type is not desired. You can use boost::ref - and boost::cref to store references or const references + Sometimes the plain non-reference type is not desired. You can use boost::ref + and boost::cref to store references or const references (respectively) instead. The mechanism does not compromise const correctness since a const object wrapped with ref results in a tuple element with const reference type (see the fifth code line below). Examples: @@ -224,11 +224,11 @@

     A a; B b; const A ca = a;
    -make_list(cref(a), b);          // creates list<const A&, B>
    -make_list(ref(a), b);           // creates list<A&, B>
    -make_list(ref(a), cref(b));     // creates list<A&, const B&>
    -make_list(cref(ca));            // creates list<const A&>
    -make_list(ref(ca));             // creates list<const A&>
    +make_list(cref(a), b);          // creates list<const A&, B>
    +make_list(ref(a), b);           // creates list<A&, B>
    +make_list(ref(a), cref(b));     // creates list<A&, const B&>
    +make_list(cref(ca));            // creates list<const A&>
    +make_list(ref(ca));             // creates list<const A&>
     

    See Boost.Ref for @@ -236,11 +236,11 @@



    -

    [14] +

    [14] Note that the type of a string literal is an array of const characters, - not const char*. To get make_list to create a list with an element of a non-const - array type one must use the ref - wrapper (see boost::ref). + not const char*. To get make_list to create a list with an element of a non-const + array type one must use the ref + wrapper (see boost::ref).

    @@ -251,7 +251,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/organization.html b/doc/html/fusion/organization.html index 650b4ee2..71cb47b9 100644 --- a/doc/html/fusion/organization.html +++ b/doc/html/fusion/organization.html @@ -3,24 +3,24 @@ Organization - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -34,7 +34,7 @@ The library is organized in three layers:

    - + Layers

    @@ -56,7 +56,7 @@ against.

    - + Directory

      @@ -82,7 +82,7 @@
      • adapted -
          +
          • array
          • @@ -99,7 +99,7 @@
          • container -
              +
              • list
              • @@ -131,7 +131,7 @@
              • view -
                  +
                  • filter_view
                  • @@ -165,11 +165,11 @@

                  - + Example

                  - If, for example, you want to use list, + If, for example, you want to use list, depending on the granularity that you desire, you may do so by including one of

                  @@ -180,13 +180,13 @@

    The first includes all sequences. The second includes all of sequence containers. - The third includes only list - [3] + The third includes only list + [3] .



    -

    [3] +

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

    @@ -199,7 +199,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/preface.html b/doc/html/fusion/preface.html index 44f6ffbc..889a4b5e 100644 --- a/doc/html/fusion/preface.html +++ b/doc/html/fusion/preface.html @@ -3,24 +3,24 @@ Preface - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -38,13 +38,13 @@

    - --Niklaus Wirth + --Niklaus Wirth

    - + Description

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

    - + Motivation

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

    - + How to use this manual

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

    -

    Table 1.1. Icons

    +

    Table 1.1. Icons

    @@ -199,7 +199,7 @@ Tools.

    - + Support

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


    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/quick_start.html b/doc/html/fusion/quick_start.html index 52894bea..f3ca0949 100644 --- a/doc/html/fusion/quick_start.html +++ b/doc/html/fusion/quick_start.html @@ -3,63 +3,63 @@ Quick Start - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    I assume the reader is already familiar with tuples (Boost.Tuple) - and its ancestor std::pair. The tuple is a generalization of std::pair + and its ancestor std::pair. The tuple is a generalization of std::pair for multiple heterogeneous elements (triples, quadruples, etc.). The tuple - is more or less a synonym for fusion's vector. + is more or less a synonym for fusion's vector.

    For starters, we shall include all of Fusion's _sequence_s - [1] + [1] :

     #include <boost/fusion/sequence.hpp>
     

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

    -vector<int, char, std::string> stuff(1, 'x', "howdy");
    -int i = at_c<0>(stuff);
    -char ch = at_c<1>(stuff);
    -std::string s = at_c<2>(stuff);
    +vector<int, char, std::string> stuff(1, 'x', "howdy");
    +int i = at_c<0>(stuff);
    +char ch = at_c<1>(stuff);
    +std::string s = at_c<2>(stuff);
     

    - Just replace tuple for vector - and get for at_c and this is exactly like + Just replace tuple for vector + and get for at_c and this is exactly like Boost.Tuple. Actually, either names can be used interchangeably. Yet, the similarity ends - there. You can do a lot more with Fusion vector or tuple. + there. You can do a lot more with Fusion vector or tuple. Let's see some examples.

    - + Print the vector as XML

    @@ -91,44 +91,38 @@ Now, finally:

    -for_each(stuff, print_xml());
    +for_each(stuff, print_xml());
     

    - That's it! for_each is a fusion algorithm. + That's it! for_each is a fusion algorithm. It is a generic algorithm similar to STL's. It iterates over the sequence and calls a user supplied function. In our case, - it calls print_xml's operator() for - each element in stuff. + it calls print_xml's operator() for + each element in stuff.

    - + - +
    [Caution][Caution] Caution
    -

    -

    -

    - The result of typeid(x).name() is platform specific. The code here is - just for exposition. Of course you already know that :-) -

    -

    -

    -

    + The result of typeid(x).name() is platform specific. The code here is + just for exposition. Of course you already know that :-) +

    - for_each is generic. With - print_xml, you can use it to + for_each is generic. With + print_xml, you can use it to print just about any Fusion Sequence.

    - + Print only pointers

    Let's get a little cleverer. Say we wish to write a generic function that takes in an arbitrary sequence and XML prints only those elements - which are pointers. Ah, easy. First, let's include the is_pointer + which are pointers. Ah, easy. First, let's include the is_pointer boost type trait:

    @@ -141,36 +135,36 @@
     template <typename Sequence>
     void xml_print_pointers(Sequence const& seq)
     {
    -    for_each(filter_if<boost::is_pointer<_> >(seq), print_xml());
    +    for_each(filter_if<boost::is_pointer<_> >(seq), print_xml());
     }
     

    - filter_if is another Fusion - algorithm. It returns a filter_view, a conforming Fusion sequence. + filter_if is another Fusion + algorithm. It returns a filter_view, a conforming Fusion sequence. This view reflects only those elements that pass the given predicate. In this - case, the predicate is boost::is_pointer<_>. - This "filtered view" is then passed to the for_each algorithm, which then prints + case, the predicate is boost::is_pointer<_>. + This "filtered view" is then passed to the for_each algorithm, which then prints the "filtered view" as XML.

    Easy, right?

    - + Associative tuples

    Ok, moving on...

    - Apart from vector, fusion has a couple + Apart from vector, fusion has a couple of other sequence types to choose from. Each sequence has its own characteristics. - We have list, set, map, plus a multitude of views that provide various ways to present + We have list, set, map, plus a multitude of views that provide various ways to present the sequences.

    - Fusion's map associate types with elements. - It can be used as a cleverer replacement of the struct. + Fusion's map associate types with elements. + It can be used as a cleverer replacement of the struct. Example:

    @@ -180,32 +174,32 @@
         struct age;
     }
     
    -typedef map<
    -    fusion::pair<fields::name, std::string>
    -  , fusion::pair<fields::age, int> > 
    +typedef map<
    +    fusion::pair<fields::name, std::string>
    +  , fusion::pair<fields::age, int> > 
     person;
     

    - map + map is an associative sequence. Its elements are Fusion pairs which differ somewhat - from std::pair. Fusion pairs only contain one member, + from std::pair. Fusion pairs only contain one member, with the type of their second template parameter. The first type parameter of the pair is used as an index to the associated element in the sequence. - For example, given a a_person - of type, person, you can do: + For example, given a a_person + of type, person, you can do:

     using namespace fields;
    -std::string person_name = at_key<name>(a_person);
    -int person_age = at_key<age>(a_person);
    +std::string person_name = at_key<name>(a_person);
    +int person_age = at_key<age>(a_person);
     

    - Why go through all this trouble, you say? Well, for one, unlike the struct, we are dealing with a generic data structure. + Why go through all this trouble, you say? Well, for one, unlike the struct, we are dealing with a generic data structure. There are a multitude of facilities available at your disposal provided out of the box with fusion or written by others. With these facilities, introspection comes for free, for example. We can write one serialization function (well, two, if you consider loading and saving) that will work for all your fusion - maps. + maps. Example:

    @@ -221,17 +215,17 @@
     template <typename Stuff>
     void save(Stuff const& stuff)
     {
    -    for_each(stuff, saver());
    +    for_each(stuff, saver());
     }
     

    - The save function is generic - and will work for all types of stuff - regardless if it is a person, - a dog or a whole alternate_universe. + The save function is generic + and will work for all types of stuff + regardless if it is a person, + a dog or a whole alternate_universe.

    - + Tip of the Iceberg

    @@ -242,14 +236,14 @@



    -

    [1] +

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

    -

    [2] - 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 +

    [2] + 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.

    @@ -261,7 +255,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/references.html b/doc/html/fusion/references.html index c4c9c77c..452b9622 100644 --- a/doc/html/fusion/references.html +++ b/doc/html/fusion/references.html @@ -3,23 +3,23 @@ References - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHome +PrevUpHome

    @@ -62,7 +62,7 @@
    -PrevUpHome +PrevUpHome
    diff --git a/doc/html/fusion/sequences.html b/doc/html/fusion/sequences.html index 6888e96f..8401c4a8 100644 --- a/doc/html/fusion/sequences.html +++ b/doc/html/fusion/sequences.html @@ -3,24 +3,24 @@ Sequences - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

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

    - + Header

    @@ -109,7 +109,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/adapted.html b/doc/html/fusion/sequences/adapted.html index 061b7d2e..a9c16943 100644 --- a/doc/html/fusion/sequences/adapted.html +++ b/doc/html/fusion/sequences/adapted.html @@ -3,24 +3,24 @@ Adapted - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -33,18 +33,18 @@
    boost::variant

    - Fusion provides a couple of adapters for other sequences such as std::pair, + Fusion provides a couple of adapters for other sequences such as std::pair, MPL sequences, - and boost::array. These adapters are written using + and boost::array. These adapters are written using Fusion's non-intrusive Extension mechanism. If you wish to use these sequences with fusion, simply include the necessary files and they will be regarded as first-class, fully conforming fusion sequences - [4] + [4] .

    - + Header

    @@ -52,7 +52,7 @@
     


    -

    [4] +

    [4] Fusion sequences may also be adapted as fully conforming MPL sequences (see Intrinsics). That way, we can have 2-way adaptation to and from MPL @@ -67,7 +67,7 @@


    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/adapted/boost__array.html b/doc/html/fusion/sequences/adapted/boost__array.html index f7c44a17..7a5ceae1 100644 --- a/doc/html/fusion/sequences/adapted/boost__array.html +++ b/doc/html/fusion/sequences/adapted/boost__array.html @@ -3,64 +3,64 @@ boost::array - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - This module provides adapters for boost::array. - Including the module header makes boost::array + This module provides adapters for boost::array. + Including the module header makes boost::array a fully conforming Random Access Sequence.

    - + Header
     #include <boost/fusion/sequence/adapted/array.hpp>
     
    - + Model of
    - + Example
     boost::array<int,3> arr = {{1,2,3}};
     
    -std::cout << *begin(arr) << std::endl;
    -std::cout << *next(begin(arr)) << std::endl;
    -std::cout << *advance_c<2>(begin(arr)) << std::endl;
    -std::cout << *prior(end(arr)) << std::endl;
    -std::cout << at_c<2>(arr) << std::endl;
    +std::cout << *begin(arr) << std::endl;
    +std::cout << *next(begin(arr)) << std::endl;
    +std::cout << *advance_c<2>(begin(arr)) << std::endl;
    +std::cout << *prior(end(arr)) << std::endl;
    +std::cout << at_c<2>(arr) << std::endl;
     
    - + See also

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


    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/adapted/boost__tuple.html b/doc/html/fusion/sequences/adapted/boost__tuple.html index 938bac68..18d00ad5 100644 --- a/doc/html/fusion/sequences/adapted/boost__tuple.html +++ b/doc/html/fusion/sequences/adapted/boost__tuple.html @@ -3,50 +3,50 @@ boost::tuple - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - This module provides adapters for boost::tuple. - Including the module header makes boost::tuple + This module provides adapters for boost::tuple. + Including the module header makes boost::tuple a fully conforming Forward Sequence.

    - + Header
     #include <boost/fusion/sequence/adapted/boost_tuple.hpp>
     
    - + Model of
    - + Example
    @@ -55,7 +55,7 @@
     std::cout << *boost::fusion::next(boost::fusion::begin(example_tuple)) << '\n';
     
    - + See also

    @@ -70,7 +70,7 @@


    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/adapted/boost__variant.html b/doc/html/fusion/sequences/adapted/boost__variant.html index a99f9509..3f91a088 100644 --- a/doc/html/fusion/sequences/adapted/boost__variant.html +++ b/doc/html/fusion/sequences/adapted/boost__variant.html @@ -3,31 +3,31 @@ boost::variant - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - This module provides adapters for boost::variant. - Including the module header makes boost::variant + This module provides adapters for boost::variant. + Including the module header makes boost::variant a fully conforming Forward Sequence. The variant acts as a sequence of the types that can be @@ -36,21 +36,21 @@ value of that type.

    - + Header
     #include <boost/fusion/sequence/adapted/variant.hpp>
     
    - + Model of
    - + Example
    @@ -60,7 +60,7 @@
     std::cout << example_variant << '\n';
     
    - + See also

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


    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/adapted/mpl_sequence.html b/doc/html/fusion/sequences/adapted/mpl_sequence.html index f9e1f6e6..4a2245ef 100644 --- a/doc/html/fusion/sequences/adapted/mpl_sequence.html +++ b/doc/html/fusion/sequences/adapted/mpl_sequence.html @@ -3,24 +3,24 @@ mpl sequence - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -31,14 +31,14 @@ sequences fully conforming fusion sequences.

    - + Header
     #include <boost/fusion/sequence/adapted/mpl.hpp>
     
    - + Model of
      @@ -62,21 +62,21 @@
    - + Example
     mpl::vector_c<int, 123, 456> vec_c;
     fusion::vector2<int, long> v(vec_c);
    -std::cout << at_c<0>(v) << std::endl;
    -std::cout << at_c<1>(v) << std::endl;
    +std::cout << at_c<0>(v) << std::endl;
    +std::cout << at_c<1>(v) << std::endl;
     
     v = mpl::vector_c<int, 456, 789>();
    -std::cout << at_c<0>(v) << std::endl;
    -std::cout << at_c<1>(v) << std::endl;
    +std::cout << at_c<0>(v) << std::endl;
    +std::cout << at_c<1>(v) << std::endl;
     
    - + See also

    @@ -90,7 +90,7 @@


    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/adapted/std__pair.html b/doc/html/fusion/sequences/adapted/std__pair.html index fe7f5696..33e23443 100644 --- a/doc/html/fusion/sequences/adapted/std__pair.html +++ b/doc/html/fusion/sequences/adapted/std__pair.html @@ -3,67 +3,67 @@ std::pair - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - This module provides adapters for std::pair. - Including the module header makes std::pair + This module provides adapters for std::pair. + Including the module header makes std::pair a fully conforming Random Access Sequence.

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

    - std::pair, - TR1 - and std::pair + std::pair, + TR1 + and std::pair

    @@ -73,7 +73,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/concepts.html b/doc/html/fusion/sequences/concepts.html index f87f6f03..82fea73a 100644 --- a/doc/html/fusion/sequences/concepts.html +++ b/doc/html/fusion/sequences/concepts.html @@ -3,7 +3,7 @@ Concepts - + @@ -11,17 +11,17 @@ Sequence"> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -40,7 +40,7 @@ Fusion Sequences are organized into a hierarchy of concepts.

    - + Traversal

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

    - + Associativity

    @@ -75,7 +75,7 @@


    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/concepts/associative_sequence.html b/doc/html/fusion/sequences/concepts/associative_sequence.html index 13f2d6d5..90c5b78f 100644 --- a/doc/html/fusion/sequences/concepts/associative_sequence.html +++ b/doc/html/fusion/sequences/concepts/associative_sequence.html @@ -4,7 +4,7 @@ Associative Sequence - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -30,7 +30,7 @@ Sequence">Associative Sequence

    - + Description

    @@ -48,30 +48,30 @@

    Notation

    -
    s
    -
    - An Associative Sequence -
    -
    S
    -
    - An Associative Sequence type -
    -
    K
    -
    - An arbitrary key type -
    -
    o
    -
    - An arbitrary object -
    -
    e
    -
    - A Sequence element -
    +
    s
    +

    + An Associative Sequence +

    +
    S
    +

    + An Associative Sequence type +

    +
    K
    +

    + An arbitrary key type +

    +
    o
    +

    + An arbitrary object +

    +
    e
    +

    + A Sequence element +

    - + Valid Expressions
    @@ -111,7 +111,7 @@

    - has_key<K>(s) + has_key<K>(s)

    @@ -133,7 +133,7 @@

    - at_key<K>(s) + at_key<K>(s)

    @@ -154,8 +154,8 @@

    - at_key<K>(s) - = o + at_key<K>(s) + = o

    @@ -165,9 +165,9 @@

    - s is mutable and - e = - o, where e is the first element in the + s is mutable and + e = + o, where e is the first element in the sequence, is a valid expression.

    @@ -180,7 +180,7 @@
    - + Result Type Expressions
    @@ -205,8 +205,8 @@

    - result_of::has_key<S, - K>::type + result_of::has_key<S, + K>::type

    @@ -218,8 +218,8 @@

    - result_of::at_key<S, - K>::type + result_of::at_key<S, + K>::type

    @@ -231,8 +231,8 @@

    - result_of::value_at_key<S, - K>::type + result_of::value_at_key<S, + K>::type

    @@ -244,15 +244,15 @@
    - + Expression Semantics
    @@ -277,42 +277,42 @@

    - has_key<K>(s) + has_key<K>(s)

    - A boolean Integral Constant c - such that c::value == - true if and only if there - is one or more elements with the key k - in s; see has_key. + A boolean Integral Constant c + such that c::value == + true if and only if there + is one or more elements with the key k + in s; see has_key.

    - at_key<K>(s) + at_key<K>(s)

    - The element associated with the key K - in the sequence s; - see at. + The element associated with the key K + in the sequence s; + see at.

    - + Models
    @@ -322,7 +322,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/concepts/bidirectional_sequence.html b/doc/html/fusion/sequences/concepts/bidirectional_sequence.html index 02db76e5..ec2bcca6 100644 --- a/doc/html/fusion/sequences/concepts/bidirectional_sequence.html +++ b/doc/html/fusion/sequences/concepts/bidirectional_sequence.html @@ -4,7 +4,7 @@ Bidirectional Sequence - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -31,7 +31,7 @@ Sequence">Bidirectional Sequence

    - + Description

    @@ -42,7 +42,7 @@ Iterator.

    - + Refinement of
    @@ -53,26 +53,26 @@

    Notation

    -
    s
    -
    - A Forward Sequence -
    -
    S
    -
    - A Forward Sequence type -
    -
    o
    -
    - An arbitrary object -
    -
    e
    -
    - A Sequence element -
    +
    s
    +

    + A Forward Sequence +

    +
    S
    +

    + A Forward Sequence type +

    +
    o
    +

    + An arbitrary object +

    +
    e
    +

    + A Sequence element +

    - + Valid Expressions
    @@ -114,7 +114,7 @@

    - begin(s) + begin(s)

    @@ -137,7 +137,7 @@

    - end(s) + end(s)

    @@ -160,7 +160,7 @@

    - back(s) + back(s)

    @@ -181,8 +181,8 @@

    - back(s) - = o + back(s) + = o

    @@ -192,9 +192,9 @@

    - s is mutable and - e = - o, where e is the first element in the + s is mutable and + e = + o, where e is the first element in the sequence, is a valid expression.

    @@ -207,7 +207,7 @@
    - + Result Type Expressions
    @@ -232,7 +232,7 @@

    - result_of::begin<S>::type + result_of::begin<S>::type

    @@ -244,7 +244,7 @@

    - result_of::end<S>::type + result_of::end<S>::type

    @@ -256,7 +256,7 @@

    - result_of::back<S>::type + result_of::back<S>::type

    @@ -268,7 +268,7 @@
    - + Expression Semantics
    @@ -298,35 +298,35 @@

    - back(s) + back(s)

    - The last element in the sequence; see back. + The last element in the sequence; see back.

    - + Models
    @@ -338,7 +338,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/concepts/forward_sequence.html b/doc/html/fusion/sequences/concepts/forward_sequence.html index 87b1b377..6c6f1912 100644 --- a/doc/html/fusion/sequences/concepts/forward_sequence.html +++ b/doc/html/fusion/sequences/concepts/forward_sequence.html @@ -4,7 +4,7 @@ Forward Sequence - + @@ -12,17 +12,17 @@ Sequence"> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -30,7 +30,7 @@ Sequence">Forward Sequence

    - + Description

    @@ -43,26 +43,26 @@

    Notation

    -
    s
    -
    - A Forward Sequence -
    -
    S
    -
    - A Forward Sequence type -
    -
    o
    -
    - An arbitrary object -
    -
    e
    -
    - A Sequence element -
    +
    s
    +

    + A Forward Sequence +

    +
    S
    +

    + A Forward Sequence type +

    +
    o
    +

    + An arbitrary object +

    +
    e
    +

    + A Sequence element +

    - + Valid Expressions
    @@ -102,7 +102,7 @@

    - begin(s) + begin(s)

    @@ -125,7 +125,7 @@

    - end(s) + end(s)

    @@ -148,7 +148,7 @@

    - size(s) + size(s)

    @@ -170,7 +170,7 @@

    - empty(s) + empty(s)

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

    - front(s) + front(s)

    @@ -213,8 +213,8 @@

    - front(s) - = o + front(s) + = o

    @@ -224,9 +224,9 @@

    - s is mutable and - e = - o, where e is the first element in the + s is mutable and + e = + o, where e is the first element in the sequence, is a valid expression.

    @@ -239,7 +239,7 @@
    - + Result Type Expressions
    @@ -264,7 +264,7 @@

    - result_of::begin<S>::type + result_of::begin<S>::type

    @@ -276,7 +276,7 @@

    - result_of::end<S>::type + result_of::end<S>::type

    @@ -288,7 +288,7 @@

    - result_of::size<S>::type + result_of::size<S>::type

    @@ -300,7 +300,7 @@

    - result_of::empty<S>::type + result_of::empty<S>::type

    @@ -312,7 +312,7 @@

    - result_of::front<S>::type + result_of::front<S>::type

    @@ -324,7 +324,7 @@
    - + Expression Semantics
    @@ -349,70 +349,70 @@

    - begin(s) + begin(s)

    - An iterator to the first element of the sequence; see begin. + An iterator to the first element of the sequence; see begin.

    - end(s) + end(s)

    - A past-the-end iterator to the sequence; see end. + A past-the-end iterator to the sequence; see end.

    - size(s) + size(s)

    - The size of the sequence; see size. + The size of the sequence; see size.

    - empty(s) + empty(s)

    - A boolean Integral Constant c - such that c::value == - true if and only if the - sequence is empty; see empty. + A boolean Integral Constant c + such that c::value == + true if and only if the + sequence is empty; see empty.

    - front(s) + front(s)

    - The first element in the sequence; see front. + The first element in the sequence; see front.

    - + Invariants

    @@ -420,42 +420,42 @@

    • -[begin(s), end(s)) is always a valid range. +[begin(s), end(s)) is always a valid range.
    • An Algorithm that iterates through - the range [begin(s), end(s)) will pass through every element of - s exactly once. + the range [begin(s), end(s)) will pass through every element of + s exactly once.
    • -begin(s) - is identical to end(s)) - if and only if s is empty. +begin(s) + is identical to end(s)) + if and only if s is empty.
    • - Two different iterations through s + Two different iterations through s will access its elements in the same order.
    - + Models
    @@ -465,7 +465,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/concepts/random_access_sequence.html b/doc/html/fusion/sequences/concepts/random_access_sequence.html index 34dd60ab..284cdab5 100644 --- a/doc/html/fusion/sequences/concepts/random_access_sequence.html +++ b/doc/html/fusion/sequences/concepts/random_access_sequence.html @@ -4,7 +4,7 @@ Random Access Sequence - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -31,7 +31,7 @@ Access Sequence">Random Access Sequence

    - + Description

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

    - + Refinement of
    @@ -55,31 +55,31 @@

    Notation

    -
    s
    -
    - A Random Access Sequence -
    -
    S
    -
    - A Random Access Sequence type -
    -
    N
    -
    - An MPL - Integral Constant -
    -
    o
    -
    - An arbitrary object -
    -
    e
    -
    - A Sequence element -
    +
    s
    +

    + A Random Access Sequence +

    +
    S
    +

    + A Random Access Sequence type +

    +
    N
    +

    + An MPL + Integral Constant +

    +
    o
    +

    + An arbitrary object +

    +
    e
    +

    + A Sequence element +

    - + Valid Expressions
    @@ -121,7 +121,7 @@

    - begin(s) + begin(s)

    @@ -144,7 +144,7 @@

    - end(s) + end(s)

    @@ -167,7 +167,7 @@

    - at<N>(s) + at<N>(s)

    @@ -188,8 +188,8 @@

    - at<N>(s) - = o + at<N>(s) + = o

    @@ -199,9 +199,9 @@

    - s is mutable and - e = - o, where e is the first element in the + s is mutable and + e = + o, where e is the first element in the sequence, is a valid expression.

    @@ -214,7 +214,7 @@
    - + Result Type Expressions
    @@ -239,7 +239,7 @@

    - result_of::begin<S>::type + result_of::begin<S>::type

    @@ -251,7 +251,7 @@

    - result_of::end<S>::type + result_of::end<S>::type

    @@ -263,8 +263,8 @@

    - result_of::at<S, - N>::type + result_of::at<S, + N>::type

    @@ -276,8 +276,8 @@

    - result_of::value_at<S, - N>::type + result_of::value_at<S, + N>::type

    @@ -289,15 +289,15 @@
    - + Expression Semantics
    @@ -327,35 +327,35 @@

    - at<N>(s) + at<N>(s)

    - The Nth element from the beginning of the sequence; see at. + The Nth element from the beginning of the sequence; see at.

    - + Models
    @@ -367,7 +367,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/containers.html b/doc/html/fusion/sequences/containers.html index bc863188..3aaeab63 100644 --- a/doc/html/fusion/sequences/containers.html +++ b/doc/html/fusion/sequences/containers.html @@ -3,7 +3,7 @@ Containers - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -39,7 +39,7 @@ These containers are more or less counterparts of those in STL.

    - + Header

    @@ -53,7 +53,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/containers/cons.html b/doc/html/fusion/sequences/containers/cons.html index 562e566d..2cfb5359 100644 --- a/doc/html/fusion/sequences/containers/cons.html +++ b/doc/html/fusion/sequences/containers/cons.html @@ -3,52 +3,52 @@ cons - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - cons is a simple cons is a simple Forward Sequence. - It is a lisp style recursive list structure where car - is the head and cdr - is the tail: usually another cons structure or nil: the empty list. Fusion's list is built on top of this more - primitive data structure. It is more efficient than vector when the target sequence + It is a lisp style recursive list structure where car + is the head and cdr + is the tail: usually another cons structure or nil: the empty list. Fusion's list is built on top of this more + primitive data structure. It is more efficient than vector when the target sequence is constructed piecemeal (a data at a time). The runtime cost of access to each element is peculiarly constant (see Recursive Inlined Functions).

    - + Header
     #include <boost/fusion/sequence/container/list/cons.hpp>
     
    - + Synopsis
    @@ -56,7 +56,7 @@
     struct cons;
     
    - + Template parameters
    @@ -87,7 +87,7 @@

    - Car + Car

    @@ -103,7 +103,7 @@

    - Cdr + Cdr

    @@ -113,14 +113,14 @@

    - nil + nil

    - + Model of
    - + Expression Semantics
    @@ -194,7 +194,7 @@

    - nil() + nil()

    @@ -206,7 +206,7 @@

    - C() + C()

    @@ -218,12 +218,12 @@

    - C(car) + C(car)

    - Creates a cons with car + Creates a cons with car head and default constructed tail.

    @@ -231,81 +231,81 @@

    - C(car, - cdr) + C(car, + cdr)

    - Creates a cons with car - head and cdr tail. + Creates a cons with car + head and cdr tail.

    - C(s) + C(s)

    Copy constructs a cons from a Forward - Sequence, s. + Sequence, s.

    - l = - s + l = + s

    - Assigns to a cons, l, + Assigns to a cons, l, from a Forward - Sequence, s. + Sequence, s.

    - at<N>(l) + at<N>(l)

    - The Nth element from the beginning of the sequence; see at. + The Nth element from the beginning of the sequence; see at.

    - + Example
     cons<int, cons<float> > l(12, cons<float>(5.5f));
    -std::cout << at_c<0>(l) << std::endl;
    -std::cout << at_c<1>(l) << std::endl;
    +std::cout << at_c<0>(l) << std::endl;
    +std::cout << at_c<1>(l) << std::endl;
     
    @@ -315,7 +315,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/containers/list.html b/doc/html/fusion/sequences/containers/list.html index d2a8b965..53979305 100644 --- a/doc/html/fusion/sequences/containers/list.html +++ b/doc/html/fusion/sequences/containers/list.html @@ -3,42 +3,42 @@ list - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - list is a list is a Forward - Sequence of heterogenous typed data built on top of cons. It is more efficient than - vector + Sequence of heterogenous typed data built on top of cons. It is more efficient than + vector when the target sequence is constructed piecemeal (a data at a time). The runtime cost of access to each element is peculiarly constant (see Recursive Inlined Functions).

    - + Header
    @@ -46,7 +46,7 @@
     #include <boost/fusion/sequence/container/list/list_forward.hpp>
     
    - + Synopsis
    @@ -60,24 +60,24 @@
     struct list;
     

    - The variadic class interface accepts 0 - to FUSION_MAX_LIST_SIZE - elements, where FUSION_MAX_LIST_SIZE - is a user definable predefined maximum that defaults to 10. + The variadic class interface accepts 0 + to FUSION_MAX_LIST_SIZE + elements, where FUSION_MAX_LIST_SIZE + is a user definable predefined maximum that defaults to 10. Example:

     list<int, char, double>
     

    - You may define the preprocessor constant FUSION_MAX_LIST_SIZE + You may define the preprocessor constant FUSION_MAX_LIST_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_LIST_SIZE 20
     
    - + Template parameters
    @@ -107,7 +107,7 @@

    - T0...TN + T0...TN

    @@ -123,7 +123,7 @@
    - + Model of
    - + Expression Semantics
    @@ -188,7 +188,7 @@

    - L() + L()

    @@ -200,80 +200,80 @@

    - L(e0, + L(e0, e1,... - en) + en)

    - Creates a list with elements e0...en. + Creates a list with elements e0...en.

    - L(s) + L(s)

    Copy constructs a list from a Forward - Sequence, s. + Sequence, s.

    - l = - s + l = + s

    - Assigns to a list, l, + Assigns to a list, l, from a Forward - Sequence, s. + Sequence, s.

    - at<N>(l) + at<N>(l)

    - The Nth element from the beginning of the sequence; see at. + The Nth element from the beginning of the sequence; see at.

    - + Example
     list<int, float> l(12, 5.5f);
    -std::cout << at_c<0>(l) << std::endl;
    -std::cout << at_c<1>(l) << std::endl;
    +std::cout << at_c<0>(l) << std::endl;
    +std::cout << at_c<1>(l) << std::endl;
     
    @@ -283,7 +283,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/containers/map.html b/doc/html/fusion/sequences/containers/map.html index 8edce548..aa008e09 100644 --- a/doc/html/fusion/sequences/containers/map.html +++ b/doc/html/fusion/sequences/containers/map.html @@ -3,37 +3,37 @@ map - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    map is an Associative Sequence of heteregenous typed data elements. Each element is a - key/data pair (see fusion::pair) + key/data pair (see fusion::pair) where the key has no data (type only). Type identity is used to impose an equivalence relation on keys. A map may contain at most one element for each key. Membership testing and element key lookup has constant runtime @@ -41,14 +41,14 @@ Functions).

    - + Header
     #include <boost/fusion/sequence/container/map.hpp>
     
    - + Synopsis
    @@ -62,24 +62,24 @@
     struct map;
     

    - The variadic class interface accepts 0 - to FUSION_MAX_MAP_SIZE - elements, where FUSION_MAX_MAP_SIZE - is a user definable predefined maximum that defaults to 10. + The variadic class interface accepts 0 + to FUSION_MAX_MAP_SIZE + elements, where FUSION_MAX_MAP_SIZE + is a user definable predefined maximum that defaults to 10. Example:

    -map<pair<int, char>, pair<char, char>, pair<double, char> >
    +map<pair<int, char>, pair<char, char>, pair<double, char> >
     

    - You may define the preprocessor constant FUSION_MAX_MAP_SIZE + You may define the preprocessor constant FUSION_MAX_MAP_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_MAP_SIZE 20
     
    - + Template parameters
    @@ -109,7 +109,7 @@

    - T0...TN + T0...TN

    @@ -125,7 +125,7 @@
    - + Model of
    - + Example
     typedef map<
    -    pair<int, char>
    -  , pair<double, std::string> >
    +    pair<int, char>
    +  , pair<double, std::string> >
     map_type;
     
     map_type m(
    -    make_pair<int>('X')
    -  , make_pair<double>("Men"));
    +    make_pair<int>('X')
    +  , make_pair<double>("Men"));
     
    -std::cout << at_key<int>(m) << std::endl;
    -std::cout << at_key<double>(m) << std::endl;
    +std::cout << at_key<int>(m) << std::endl;
    +std::cout << at_key<double>(m) << std::endl;
     
    @@ -272,7 +272,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/containers/set.html b/doc/html/fusion/sequences/containers/set.html index 43b641fb..27a4d5a1 100644 --- a/doc/html/fusion/sequences/containers/set.html +++ b/doc/html/fusion/sequences/containers/set.html @@ -3,30 +3,30 @@ set - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

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

    - + Header
     #include <boost/fusion/sequence/container/set.hpp>
     
    - + Synopsis
    @@ -60,24 +60,24 @@
     struct set;
     

    - The variadic class interface accepts 0 - to FUSION_MAX_SET_SIZE - elements, where FUSION_MAX_SET_SIZE - is a user definable predefined maximum that defaults to 10. + The variadic class interface accepts 0 + to FUSION_MAX_SET_SIZE + elements, where FUSION_MAX_SET_SIZE + is a user definable predefined maximum that defaults to 10. Example:

     set<int, char, double>
     

    - You may define the preprocessor constant FUSION_MAX_SET_SIZE + You may define the preprocessor constant FUSION_MAX_SET_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_SET_SIZE 20
     
    - + Template parameters
    @@ -107,7 +107,7 @@

    - T0...TN + T0...TN

    @@ -123,7 +123,7 @@
    - + Model of
    - + Example
     typedef set<int, float> S;
     S s(12, 5.5f);
    -std::cout << at_key<int>(s) << std::endl;
    -std::cout << at_key<float>(s) << std::endl;
    -std::cout << result_of::has_key<S, double>::value << std::endl;
    +std::cout << at_key<int>(s) << std::endl;
    +std::cout << at_key<float>(s) << std::endl;
    +std::cout << result_of::has_key<S, double>::value << std::endl;
     
    @@ -264,7 +264,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/containers/vector.html b/doc/html/fusion/sequences/containers/vector.html index f28757ac..3171d7da 100644 --- a/doc/html/fusion/sequences/containers/vector.html +++ b/doc/html/fusion/sequences/containers/vector.html @@ -3,43 +3,43 @@ vector - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - vector is a vector is a Random Access Sequence of heterogenous typed data structured as a simple - struct where each element - is held as a member variable. vector + struct where each element + is held as a member variable. vector is the simplest of the Fusion sequence container, and in many cases the most efficient.

    - + Header
    @@ -54,11 +54,11 @@
     #include <boost/fusion/sequence/container/vector/vector50.hpp>
     
    - + Synopsis

    - Numbered forms + Numbered forms

     template <>
    @@ -79,7 +79,7 @@
     struct vectorN;
     

    - Variadic form + Variadic form

     template <
    @@ -98,24 +98,24 @@
     vector3<int, char, double>
     

    - The variadic form accepts 0 - to FUSION_MAX_VECTOR_SIZE - elements, where FUSION_MAX_VECTOR_SIZE - is a user definable predefined maximum that defaults to 10. + The variadic form accepts 0 + to FUSION_MAX_VECTOR_SIZE + elements, where FUSION_MAX_VECTOR_SIZE + is a user definable predefined maximum that defaults to 10. Example:

     vector<int, char, double>
     

    - You may define the preprocessor constant FUSION_MAX_VECTOR_SIZE + You may define the preprocessor constant FUSION_MAX_VECTOR_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_VECTOR_SIZE 20
     
    - + Template parameters
    @@ -145,7 +145,7 @@

    - T0...TN + T0...TN

    @@ -161,7 +161,7 @@
    - + Model of
    - + Expression Semantics
    @@ -222,7 +222,7 @@

    - V() + V()

    @@ -234,57 +234,57 @@

    - V(e0, + V(e0, e1,... - en) + en)

    - Creates a vector with elements e0...en. + Creates a vector with elements e0...en.

    - V(s) + V(s)

    Copy constructs a vector from a Forward - Sequence, s. + Sequence, s.

    - v = - s + v = + s

    - Assigns to a vector, v, + Assigns to a vector, v, from a Forward - Sequence, s. + Sequence, s.

    - + Example
     vector<int, float> v(12, 5.5f);
    -std::cout << at_c<0>(v) << std::endl;
    -std::cout << at_c<1>(v) << std::endl;
    +std::cout << at_c<0>(v) << std::endl;
    +std::cout << at_c<1>(v) << std::endl;
     
    @@ -294,7 +294,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/conversion.html b/doc/html/fusion/sequences/conversion.html index dc3da6a4..16a57f79 100644 --- a/doc/html/fusion/sequences/conversion.html +++ b/doc/html/fusion/sequences/conversion.html @@ -3,24 +3,24 @@ Conversion - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -34,7 +34,7 @@ types using one of these conversion functions.

    - + Header

    @@ -48,7 +48,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/conversion/functions.html b/doc/html/fusion/sequences/conversion/functions.html index fc595a49..9f4b7851 100644 --- a/doc/html/fusion/sequences/conversion/functions.html +++ b/doc/html/fusion/sequences/conversion/functions.html @@ -3,24 +3,24 @@ Functions - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -39,7 +39,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/conversion/functions/as_list.html b/doc/html/fusion/sequences/conversion/functions/as_list.html index e10bbfa1..5f215095 100644 --- a/doc/html/fusion/sequences/conversion/functions/as_list.html +++ b/doc/html/fusion/sequences/conversion/functions/as_list.html @@ -3,37 +3,37 @@ as_list - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Convert a fusion sequence to a list. + Convert a fusion sequence to a list.

    - + Synopsis
    @@ -46,7 +46,7 @@
     as_list(Sequence const& seq);
     
    - + Parameters
    @@ -75,7 +75,7 @@

    - seq + seq

    @@ -91,7 +91,7 @@
    - + Expression Semantics
    @@ -99,25 +99,25 @@ as_list(seq);

    - Return type: result_of::as_list<Sequence>::type + Return type: result_of::as_list<Sequence>::type

    - Semantics: Convert a fusion sequence, - seq, to a list. + Semantics: Convert a fusion sequence, + seq, to a list.

    - + Header
     #include <boost/fusion/sequence/conversion/as_list.hpp>
     
    - + Example
    -as_list(make_vector('x', 123, "hello"))
    +as_list(make_vector('x', 123, "hello"))
     
    @@ -127,7 +127,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/conversion/functions/as_map.html b/doc/html/fusion/sequences/conversion/functions/as_map.html index 4a2b0fa9..01786405 100644 --- a/doc/html/fusion/sequences/conversion/functions/as_map.html +++ b/doc/html/fusion/sequences/conversion/functions/as_map.html @@ -3,37 +3,37 @@ as_map - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Convert a fusion sequence to a map. + Convert a fusion sequence to a map.

    - + Synopsis
    @@ -46,7 +46,7 @@
     as_map(Sequence const& seq);
     
    - + Parameters
    @@ -75,7 +75,7 @@

    - seq + seq

    @@ -91,7 +91,7 @@
    - + Expression Semantics
    @@ -99,32 +99,32 @@ as_map(seq);

    - Return type: result_of::as_map<Sequence>::type + Return type: result_of::as_map<Sequence>::type

    - Semantics: Convert a fusion sequence, - seq, to a map. + Semantics: Convert a fusion sequence, + seq, to a map.

    - Precondition: The elements of the sequence + Precondition: The elements of the sequence are assumed to be __fusionpair_s. - There may be no duplicate fusion::pair key types. + There may be no duplicate fusion::pair key types.

    - + Header
     #include <boost/fusion/sequence/conversion/as_map.hpp>
     
    - + Example
    -as_map(make_vector(
    -    make_pair<int>('X')
    -  , make_pair<double>("Men")))
    +as_map(make_vector(
    +    make_pair<int>('X')
    +  , make_pair<double>("Men")))
     
    @@ -134,7 +134,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/conversion/functions/as_set.html b/doc/html/fusion/sequences/conversion/functions/as_set.html index 9fd05e21..1c86ca46 100644 --- a/doc/html/fusion/sequences/conversion/functions/as_set.html +++ b/doc/html/fusion/sequences/conversion/functions/as_set.html @@ -3,37 +3,37 @@ as_set - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Convert a fusion sequence to a set. + Convert a fusion sequence to a set.

    - + Synopsis
    @@ -46,7 +46,7 @@
     as_set(Sequence const& seq);
     
    - + Parameters
    @@ -75,7 +75,7 @@

    - seq + seq

    @@ -91,7 +91,7 @@
    - + Expression Semantics
    @@ -99,29 +99,29 @@ as_set(seq);

    - Return type: result_of::as_set<Sequence>::type + Return type: result_of::as_set<Sequence>::type

    - Semantics: Convert a fusion sequence, - seq, to a set. + Semantics: Convert a fusion sequence, + seq, to a set.

    - Precondition: There may be no duplicate + Precondition: There may be no duplicate key types.

    - + Header
     #include <boost/fusion/sequence/conversion/as_set.hpp>
     
    - + Example
    -as_set(make_vector('x', 123, "hello"))
    +as_set(make_vector('x', 123, "hello"))
     
    @@ -131,7 +131,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/conversion/functions/as_vector.html b/doc/html/fusion/sequences/conversion/functions/as_vector.html index b04dc65f..56a15e55 100644 --- a/doc/html/fusion/sequences/conversion/functions/as_vector.html +++ b/doc/html/fusion/sequences/conversion/functions/as_vector.html @@ -3,37 +3,37 @@ as_vector - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Convert a fusion sequence to a vector. + Convert a fusion sequence to a vector.

    - + Synopsis
    @@ -46,7 +46,7 @@
     as_vector(Sequence const& seq);
     
    - + Parameters
    @@ -75,7 +75,7 @@

    - seq + seq

    @@ -91,7 +91,7 @@
    - + Expression Semantics
    @@ -99,25 +99,25 @@ as_vector(seq);

    - Return type: result_of::as_vector<Sequence>::type + Return type: result_of::as_vector<Sequence>::type

    - Semantics: Convert a fusion sequence, - seq, to a vector. + Semantics: Convert a fusion sequence, + seq, to a vector.

    - + Header
     #include <boost/fusion/sequence/conversion/as_vector.hpp>
     
    - + Example
    -as_vector(make_list('x', 123, "hello"))
    +as_vector(make_list('x', 123, "hello"))
     
    @@ -127,7 +127,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/conversion/metafunctions.html b/doc/html/fusion/sequences/conversion/metafunctions.html index 45706eba..52c1c0ae 100644 --- a/doc/html/fusion/sequences/conversion/metafunctions.html +++ b/doc/html/fusion/sequences/conversion/metafunctions.html @@ -3,24 +3,24 @@ Metafunctions - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -39,7 +39,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/conversion/metafunctions/as_list.html b/doc/html/fusion/sequences/conversion/metafunctions/as_list.html index 209732e7..b3f42288 100644 --- a/doc/html/fusion/sequences/conversion/metafunctions/as_list.html +++ b/doc/html/fusion/sequences/conversion/metafunctions/as_list.html @@ -3,37 +3,37 @@ as_list - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of as_list. + Returns the result type of as_list.

    - + Synopsis
    @@ -41,7 +41,7 @@
     struct as_list;
     
    - + Parameters
    @@ -70,7 +70,7 @@

    - Sequence + Sequence

    @@ -86,7 +86,7 @@
    - + Expression Semantics
    @@ -94,26 +94,26 @@ result_of::as_list<Sequence>::type;

    - Return type: A list with same elements as the - input sequence, Sequence. + Return type: A list with same elements as the + input sequence, Sequence.

    - Semantics: Convert a fusion sequence, - Sequence, to a list. + Semantics: Convert a fusion sequence, + Sequence, to a list.

    - + Header
     #include <boost/fusion/sequence/conversion/as_list.hpp>
     
    - + Example
    -result_of::as_list<vector<char, int> >::type
    +result_of::as_list<vector<char, int> >::type
     
    @@ -123,7 +123,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/conversion/metafunctions/as_map.html b/doc/html/fusion/sequences/conversion/metafunctions/as_map.html index 81624768..9d98539e 100644 --- a/doc/html/fusion/sequences/conversion/metafunctions/as_map.html +++ b/doc/html/fusion/sequences/conversion/metafunctions/as_map.html @@ -3,37 +3,37 @@ as_map - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of as_map. + Returns the result type of as_map.

    - + Synopsis
    @@ -41,7 +41,7 @@
     struct as_map;
     
    - + Parameters
    @@ -70,7 +70,7 @@

    - Sequence + Sequence

    @@ -86,7 +86,7 @@
    - + Expression Semantics
    @@ -94,33 +94,33 @@ result_of::as_map<Sequence>::type;

    - Return type: A map with same elements as the - input sequence, Sequence. + Return type: A map with same elements as the + input sequence, Sequence.

    - Semantics: Convert a fusion sequence, - Sequence, to a map. + Semantics: Convert a fusion sequence, + Sequence, to a map.

    - Precondition: The elements of the sequence + Precondition: The elements of the sequence are assumed to be __fusionpair_s. - There may be no duplicate fusion::pair key types. + There may be no duplicate fusion::pair key types.

    - + Header
     #include <boost/fusion/sequence/conversion/as_map.hpp>
     
    - + Example
    -result_of::as_map<vector<
    -    fusion::pair<int, char>
    -  , fusion::pair<double, std::string> > >::type
    +result_of::as_map<vector<
    +    fusion::pair<int, char>
    +  , fusion::pair<double, std::string> > >::type
     
    @@ -130,7 +130,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/conversion/metafunctions/as_set.html b/doc/html/fusion/sequences/conversion/metafunctions/as_set.html index 80b3c234..eb0bc404 100644 --- a/doc/html/fusion/sequences/conversion/metafunctions/as_set.html +++ b/doc/html/fusion/sequences/conversion/metafunctions/as_set.html @@ -3,37 +3,37 @@ as_set - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of as_set. + Returns the result type of as_set.

    - + Synopsis
    @@ -41,7 +41,7 @@
     struct as_set;
     
    - + Parameters
    @@ -70,7 +70,7 @@

    - Sequence + Sequence

    @@ -86,7 +86,7 @@
    - + Expression Semantics
    @@ -94,30 +94,30 @@ result_of::as_set<Sequence>::type;

    - Return type: A set with same elements as the - input sequence, Sequence. + Return type: A set with same elements as the + input sequence, Sequence.

    - Semantics: Convert a fusion sequence, - Sequence, to a set. + Semantics: Convert a fusion sequence, + Sequence, to a set.

    - Precondition: There may be no duplicate + Precondition: There may be no duplicate key types.

    - + Header
     #include <boost/fusion/sequence/conversion/as_set.hpp>
     
    - + Example
    -result_of::as_set<vector<char, int> >::type
    +result_of::as_set<vector<char, int> >::type
     
    @@ -127,7 +127,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/conversion/metafunctions/as_vector.html b/doc/html/fusion/sequences/conversion/metafunctions/as_vector.html index e8331588..289e9464 100644 --- a/doc/html/fusion/sequences/conversion/metafunctions/as_vector.html +++ b/doc/html/fusion/sequences/conversion/metafunctions/as_vector.html @@ -3,37 +3,37 @@ as_vector - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of as_vector. + Returns the result type of as_vector.

    - + Synopsis
    @@ -41,7 +41,7 @@
     struct as_vector;
     
    - + Parameters
    @@ -70,7 +70,7 @@

    - Sequence + Sequence

    @@ -86,7 +86,7 @@
    - + Expression Semantics
    @@ -94,26 +94,26 @@ result_of::as_vector<Sequence>::type;

    - Return type: A vector with same elements as - the input sequence, Sequence. + Return type: A vector with same elements as + the input sequence, Sequence.

    - Semantics: Convert a fusion sequence, - Sequence, to a vector. + Semantics: Convert a fusion sequence, + Sequence, to a vector.

    - + Header
     #include <boost/fusion/sequence/conversion/as_vector.hpp>
     
    - + Example
    -result_of::as_vector<list<char, int> >::type
    +result_of::as_vector<list<char, int> >::type
     
    @@ -123,7 +123,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation.html b/doc/html/fusion/sequences/generation.html index b1afe235..78b17c4f 100644 --- a/doc/html/fusion/sequences/generation.html +++ b/doc/html/fusion/sequences/generation.html @@ -3,24 +3,24 @@ Generation - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -33,7 +33,7 @@ These are the functions that you can use to generate various forms of Containers from elemental values.

    - + Header

    @@ -47,7 +47,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/functions.html b/doc/html/fusion/sequences/generation/functions.html index 7fa0f56c..e9bb2325 100644 --- a/doc/html/fusion/sequences/generation/functions.html +++ b/doc/html/fusion/sequences/generation/functions.html @@ -3,24 +3,24 @@ Functions - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -44,7 +44,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/functions/list_tie.html b/doc/html/fusion/sequences/generation/functions/list_tie.html index b5473b07..11fdf647 100644 --- a/doc/html/fusion/sequences/generation/functions/list_tie.html +++ b/doc/html/fusion/sequences/generation/functions/list_tie.html @@ -3,57 +3,57 @@ list_tie - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Constructs a tie using a list sequence. + Constructs a tie using a list sequence.

    - + Synopsis
     template <typename T0, typename T1,... typename TN>
    -list<T0&, T1&,... TN&>
    +list<T0&, T1&,... TN&>
     list_tie(T0& x0, T1& x1... TN& xN);
     

    - The variadic function accepts 0 - to FUSION_MAX_LIST_SIZE - elements, where FUSION_MAX_LIST_SIZE - is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant - FUSION_MAX_LIST_SIZE + The variadic function accepts 0 + to FUSION_MAX_LIST_SIZE + elements, where FUSION_MAX_LIST_SIZE + is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant + FUSION_MAX_LIST_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_LIST_SIZE 20
     
    - + Parameters
    @@ -82,25 +82,25 @@

    - x0, + x0, x1,... - xN + xN

    - Instances of T0, T1,... TN + Instances of T0, T1,... TN

    - The arguments to list_tie + The arguments to list_tie

    - + Expression Semantics
    @@ -108,21 +108,21 @@ list_tie(x0, x1,... xN);

    - Return type: list<T0&, T1&,... + Return type: list<T0&, T1&,... TN&>

    - Semantics: Create a list of references from x0, x1,... xN. + Semantics: Create a list of references from x0, x1,... xN.

    - + Header
     #include <boost/fusion/sequence/generation/list_tie.hpp>
     
    - + Example
    @@ -138,7 +138,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/functions/make_cons.html b/doc/html/fusion/sequences/generation/functions/make_cons.html index 36daf73f..e537943c 100644 --- a/doc/html/fusion/sequences/generation/functions/make_cons.html +++ b/doc/html/fusion/sequences/generation/functions/make_cons.html @@ -3,52 +3,52 @@ make_cons - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Create a cons from car - (head) and optional cdr + Create a cons from car + (head) and optional cdr (tail).

    - + Synopsis
     template <typename Car>
    -typename result_of::make_cons<Car>::type
    +typename result_of::make_cons<Car>::type
     make_cons(Car const& car);
     
     template <typename Car, typename Cdr>
    -typename result_of::make_cons<Car, Cdr>::type
    +typename result_of::make_cons<Car, Cdr>::type
     make_cons(Car const& car, Cdr const& cdr);
     
    - + Parameters
    @@ -78,12 +78,12 @@

    - car + car

    - Instance of Car + Instance of Car

    @@ -95,12 +95,12 @@

    - cdr + cdr

    - Instance of Cdr + Instance of Cdr

    @@ -112,7 +112,7 @@
    - + Expression Semantics
    @@ -120,34 +120,34 @@ make_cons(car, cdr);

    - Return type: result_of::make_cons<Car, Cdr>::type or result_of::make_cons<Car>::type + Return type: result_of::make_cons<Car, Cdr>::type or result_of::make_cons<Car>::type

    - Semantics: Create a cons from car - (head) and optional cdr + Semantics: Create a cons from car + (head) and optional cdr (tail).

    - + Header
     #include <boost/fusion/sequence/generation/make_cons.hpp>
     
    - + Example
     make_cons('x', make_cons(123))
     
    - + See also

    - boost::ref + boost::ref

    @@ -157,7 +157,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/functions/make_list.html b/doc/html/fusion/sequences/generation/functions/make_list.html index b336f818..af4a360d 100644 --- a/doc/html/fusion/sequences/generation/functions/make_list.html +++ b/doc/html/fusion/sequences/generation/functions/make_list.html @@ -3,57 +3,57 @@ make_list - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Create a list from one or more values. + Create a list from one or more values.

    - + Synopsis
     template <typename T0, typename T1,... typename TN>
    -typename result_of::make_list<T0, T1,... TN>::type
    +typename result_of::make_list<T0, T1,... TN>::type
     make_list(T0 const& x0, T1 const& x1... TN const& xN);
     

    - The variadic function accepts 0 - to FUSION_MAX_LIST_SIZE - elements, where FUSION_MAX_LIST_SIZE - is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant - FUSION_MAX_LIST_SIZE + The variadic function accepts 0 + to FUSION_MAX_LIST_SIZE + elements, where FUSION_MAX_LIST_SIZE + is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant + FUSION_MAX_LIST_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_LIST_SIZE 20
     
    - + Parameters
    @@ -82,25 +82,25 @@

    - x0, + x0, x1,... - xN + xN

    - Instances of T0, T1,... TN + Instances of T0, T1,... TN

    - The arguments to make_list + The arguments to make_list

    - + Expression Semantics
    @@ -108,32 +108,32 @@ make_list(x0, x1,... xN);

    - Return type: result_of::make_list<T0, T1,... TN>::type + Return type: result_of::make_list<T0, T1,... TN>::type

    - Semantics: Create a list from x0, x1,... xN. + Semantics: Create a list from x0, x1,... xN.

    - + Header
     #include <boost/fusion/sequence/generation/make_list.hpp>
     
    - + Example
     make_list(123, "hello", 12.5)
     
    - + See also

    - boost::ref + boost::ref

    @@ -143,7 +143,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/functions/make_map.html b/doc/html/fusion/sequences/generation/functions/make_map.html index b0ade1af..455a52e3 100644 --- a/doc/html/fusion/sequences/generation/functions/make_map.html +++ b/doc/html/fusion/sequences/generation/functions/make_map.html @@ -3,61 +3,61 @@ make_map - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Create a map from one or more key/data + Create a map from one or more key/data pairs.

    - + Synopsis
     template <
         typename K0, typename K1,... typename KN
       , typename T0, typename T1,... typename TN>
    -typename result_of::make_map<K0, K0,... KN, T0, T1,... TN>::type
    +typename result_of::make_map<K0, K0,... KN, T0, T1,... TN>::type
     make_map(T0 const& x0, T1 const& x1... TN const& xN);
     

    - The variadic function accepts 0 - to FUSION_MAX_VECTOR_SIZE - [10] - elements, where FUSION_MAX_VECTOR_SIZE - is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant - FUSION_MAX_VECTOR_SIZE + The variadic function accepts 0 + to FUSION_MAX_VECTOR_SIZE + [10] + elements, where FUSION_MAX_VECTOR_SIZE + is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant + FUSION_MAX_VECTOR_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_VECTOR_SIZE 20
     
    - + Parameters
    @@ -87,9 +87,9 @@

    - K0, + K0, K1,... - KN + KN

    @@ -99,33 +99,33 @@

    - Keys associated with x0, x1,... xN + Keys associated with x0, x1,... xN

    - x0, + x0, x1,... - xN + xN

    - Instances of T0, T1,... TN + Instances of T0, T1,... TN

    - The arguments to make_map + The arguments to make_map

    - + Expression Semantics
    @@ -133,48 +133,48 @@ make_map<K0, K1,... KN>(x0, x1,... xN);

    - Return type: result_of::make_map<K0, K0,... KN, T0, T1,... TN>::type + Return type: result_of::make_map<K0, K0,... KN, T0, T1,... TN>::type

    - Semantics: Create a map from K0, K1,... KN - keys and x0, + Semantics: Create a map from K0, K1,... KN + keys and x0, x1,... - xN data. + xN data.

    - Precondition: There may be no duplicate + Precondition: There may be no duplicate key types.

    - + Header
     #include <boost/fusion/sequence/generation/make_map.hpp>
     
    - + Example
     make_map(
    -    make_pair<int>('X')
    -  , make_pair<double>("Men"))
    +    make_pair<int>('X')
    +  , make_pair<double>("Men"))
     
    - + See also

    - boost::ref, - fusion::pair + boost::ref, + fusion::pair



    -

    [10] - map is implemented - in terms of the vector. That is why we reuse FUSION_MAX_VECTOR_SIZE +

    [10] + map is implemented + in terms of the vector. That is why we reuse FUSION_MAX_VECTOR_SIZE

    @@ -185,7 +185,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/functions/make_set.html b/doc/html/fusion/sequences/generation/functions/make_set.html index 45800668..9651d660 100644 --- a/doc/html/fusion/sequences/generation/functions/make_set.html +++ b/doc/html/fusion/sequences/generation/functions/make_set.html @@ -3,58 +3,58 @@ make_set - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Create a set from one or more values. + Create a set from one or more values.

    - + Synopsis
     template <typename T0, typename T1,... typename TN>
    -typename result_of::make_set<T0, T1,... TN>::type
    +typename result_of::make_set<T0, T1,... TN>::type
     make_set(T0 const& x0, T1 const& x1... TN const& xN);
     

    - The variadic function accepts 0 - to FUSION_MAX_VECTOR_SIZE - [9] - elements, where FUSION_MAX_VECTOR_SIZE - is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant - FUSION_MAX_VECTOR_SIZE + The variadic function accepts 0 + to FUSION_MAX_VECTOR_SIZE + [9] + elements, where FUSION_MAX_VECTOR_SIZE + is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant + FUSION_MAX_VECTOR_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_VECTOR_SIZE 20
     
    - + Parameters
    @@ -83,25 +83,25 @@

    - x0, + x0, x1,... - xN + xN

    - Instances of T0, T1,... TN + Instances of T0, T1,... TN

    - The arguments to make_set + The arguments to make_set

    - + Expression Semantics
    @@ -109,42 +109,42 @@ make_set(x0, x1,... xN);

    - Return type: result_of::make_set<T0, T1,... TN>::type + Return type: result_of::make_set<T0, T1,... TN>::type

    - Semantics: Create a set from x0, x1,... xN. + Semantics: Create a set from x0, x1,... xN.

    - Precondition: There may be no duplicate + Precondition: There may be no duplicate key types.

    - + Header
     #include <boost/fusion/sequence/generation/make_set.hpp>
     
    - + Example
     make_set(123, "hello", 12.5)
     
    - + See also

    - boost::ref + boost::ref



    -

    [9] - set is implemented - in terms of the vector. That is why we reuse FUSION_MAX_VECTOR_SIZE +

    [9] + set is implemented + in terms of the vector. That is why we reuse FUSION_MAX_VECTOR_SIZE

    @@ -155,7 +155,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/functions/make_vector.html b/doc/html/fusion/sequences/generation/functions/make_vector.html index 4c0fe78a..5e749791 100644 --- a/doc/html/fusion/sequences/generation/functions/make_vector.html +++ b/doc/html/fusion/sequences/generation/functions/make_vector.html @@ -3,57 +3,57 @@ make_vector - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Create a vector from one or more values. + Create a vector from one or more values.

    - + Synopsis
     template <typename T0, typename T1,... typename TN>
    -typename result_of::make_vector<T0, T1,... TN>::type
    +typename result_of::make_vector<T0, T1,... TN>::type
     make_vector(T0 const& x0, T1 const& x1... TN const& xN);
     

    - The variadic function accepts 0 - to FUSION_MAX_VECTOR_SIZE - elements, where FUSION_MAX_VECTOR_SIZE - is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant - FUSION_MAX_VECTOR_SIZE + The variadic function accepts 0 + to FUSION_MAX_VECTOR_SIZE + elements, where FUSION_MAX_VECTOR_SIZE + is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant + FUSION_MAX_VECTOR_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_VECTOR_SIZE 20
     
    - + Parameters
    @@ -82,25 +82,25 @@

    - x0, + x0, x1,... - xN + xN

    - Instances of T0, T1,... TN + Instances of T0, T1,... TN

    - The arguments to make_vector + The arguments to make_vector

    - + Expression Semantics
    @@ -108,32 +108,32 @@ make_vector(x0, x1,... xN);

    - Return type: result_of::make_vector<T0, T1,... TN>::type + Return type: result_of::make_vector<T0, T1,... TN>::type

    - Semantics: Create a vector from x0, x1,... xN. + Semantics: Create a vector from x0, x1,... xN.

    - + Header
     #include <boost/fusion/sequence/generation/make_vector.hpp>
     
    - + Example
     make_vector(123, "hello", 12.5)
     
    - + See also

    - boost::ref + boost::ref

    @@ -143,7 +143,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/functions/map_tie.html b/doc/html/fusion/sequences/generation/functions/map_tie.html new file mode 100644 index 00000000..1560fb6a --- /dev/null +++ b/doc/html/fusion/sequences/generation/functions/map_tie.html @@ -0,0 +1,170 @@ + + + +map_tie + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +
    +
    +PrevUpHomeNext +
    +
    + +
    + + Description +
    +

    + Constructs a tie using a map sequence. +

    +
    + + Synopsis +
    +
    +template <typename K0, typename K1,... typename KN, typename D0, typename D1,... typename DN>
    +map<pair<K0, D0&>, pair<K1, D1&>,... pair<KN, DN&> >
    +map_tie(D0& d0, D1& d1... DN& dN);
    +
    +

    + The variadic function accepts 0 + to FUSION_MAX_MAP_SIZE + elements, where FUSION_MAX_MAP_SIZE + is a user definable predefined maximum that defaults to 10, and a corresponding number of key types. + You may define the preprocessor constant FUSION_MAX_MAP_SIZE + before including any Fusion header to change the default. Example: +

    +
    +#define FUSION_MAX_MAP_SIZE 20
    +
    +
    + + Parameters +
    +
    +++++ + + + + + + + + + + + + + + + + + +
    +

    + Parameter +

    +
    +

    + Requirement +

    +
    +

    + Description +

    +
    +

    + K0, + K1,... + KN +

    +
    +

    + Any type +

    +
    +

    + The key types associated with each of the x1,x2,...,xN + values +

    +
    +

    + x0, + x1,... + xN +

    +
    +

    + Instances of T0, T1,... TN +

    +
    +

    + The arguments to map_tie +

    +
    +
    + + Expression + Semantics +
    +
    +map_tie<K0, K1,... KN>(x0, x1,... xN);
    +
    +

    + Return type: map<pair<K0, D0&>, pair<K1, + D1&>,... pair<KN, + DN&> > +

    +

    + Semantics: Create a map of references from x0, x1,... xN with keys K0, K1,... KN +

    +
    + + Header +
    +
    +#include <boost/fusion/sequence/generation/map_tie.hpp>
    +
    +
    + + Example +
    +
    +struct int_key;
    +struct double_key;
    +...
    +int i = 123;
    +double d = 123.456;
    +map_tie<int_key, double_key>(i, d)
    +
    +
    + + + +
    Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias + Schwinger
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/fusion/sequences/generation/functions/tiers.html b/doc/html/fusion/sequences/generation/functions/tiers.html index 4832ff8d..26fe3901 100644 --- a/doc/html/fusion/sequences/generation/functions/tiers.html +++ b/doc/html/fusion/sequences/generation/functions/tiers.html @@ -3,24 +3,24 @@ Tiers - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -32,9 +32,9 @@ flavors.

    Example: @@ -42,14 +42,14 @@

     int i; char c; double d;
       ...
    -vector_tie(i, c, a);
    +vector_tie(i, c, a);
     

    - 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)) - [11] + 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)) + [11] .

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

     int i; char c; double d;
    -vector_tie(i, c, d) = make_vector(1,'a', 5.5);
    +vector_tie(i, c, d) = make_vector(1,'a', 5.5);
     std::cout << i << " " <<  c << " " << d;
     

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

    - + Ignore

    @@ -78,13 +78,13 @@

     char c;
    -vector_tie(ignore, c) = make_vector(1, 'a');
    +vector_tie(ignore, c) = make_vector(1, 'a');
     


    -

    [11] +

    [11] see Boost.Ref - for details about ref + for details about ref

    @@ -95,7 +95,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/functions/vector_tie.html b/doc/html/fusion/sequences/generation/functions/vector_tie.html index a6d78cc8..f355a583 100644 --- a/doc/html/fusion/sequences/generation/functions/vector_tie.html +++ b/doc/html/fusion/sequences/generation/functions/vector_tie.html @@ -3,57 +3,57 @@ vector_tie - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Constructs a tie using a vector sequence. + Constructs a tie using a vector sequence.

    - + Synopsis
     template <typename T0, typename T1,... typename TN>
    -vector<T0&, T1&,... TN&>
    +vector<T0&, T1&,... TN&>
     vector_tie(T0& x0, T1& x1... TN& xN);
     

    - The variadic function accepts 0 - to FUSION_MAX_VECTOR_SIZE - elements, where FUSION_MAX_VECTOR_SIZE - is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant - FUSION_MAX_VECTOR_SIZE + The variadic function accepts 0 + to FUSION_MAX_VECTOR_SIZE + elements, where FUSION_MAX_VECTOR_SIZE + is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant + FUSION_MAX_VECTOR_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_VECTOR_SIZE 20
     
    - + Parameters
    @@ -82,25 +82,25 @@

    - x0, + x0, x1,... - xN + xN

    - Instances of T0, T1,... TN + Instances of T0, T1,... TN

    - The arguments to vector_tie + The arguments to vector_tie

    - + Expression Semantics
    @@ -108,21 +108,21 @@ vector_tie(x0, x1,... xN);

    - Return type: vector<T0&, T1&,... + Return type: vector<T0&, T1&,... TN&>

    - Semantics: Create a vector of references from x0, x1,... xN. + Semantics: Create a vector of references from x0, x1,... xN.

    - + Header
     #include <boost/fusion/sequence/generation/vector_tie.hpp>
     
    - + Example
    @@ -138,7 +138,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/metafunctions.html b/doc/html/fusion/sequences/generation/metafunctions.html index c645d2f2..a1372a3a 100644 --- a/doc/html/fusion/sequences/generation/metafunctions.html +++ b/doc/html/fusion/sequences/generation/metafunctions.html @@ -3,24 +3,24 @@ MetaFunctions - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -43,7 +43,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/metafunctions/list_tie.html b/doc/html/fusion/sequences/generation/metafunctions/list_tie.html index eed67106..c32664db 100644 --- a/doc/html/fusion/sequences/generation/metafunctions/list_tie.html +++ b/doc/html/fusion/sequences/generation/metafunctions/list_tie.html @@ -3,37 +3,37 @@ list_tie - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of list_tie. + Returns the result type of list_tie.

    - + Synopsis
    @@ -41,18 +41,18 @@
     struct list_tie;
     

    - The variadic function accepts 0 - to FUSION_MAX_LIST_SIZE - elements, where FUSION_MAX_LIST_SIZE - is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant - FUSION_MAX_LIST_SIZE + The variadic function accepts 0 + to FUSION_MAX_LIST_SIZE + elements, where FUSION_MAX_LIST_SIZE + is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant + FUSION_MAX_LIST_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_LIST_SIZE 20
     
    - + Parameters
    @@ -81,9 +81,9 @@

    - T0, + T0, T1,... - TN + TN

    @@ -93,13 +93,13 @@

    - The arguments to list_tie + The arguments to list_tie

    - + Expression Semantics
    @@ -107,21 +107,21 @@ result_of::list_tie<T0, T1,... TN>::type;

    - Return type: list<T0&, T1&,... + Return type: list<T0&, T1&,... TN&>

    - Semantics: Create a list of references from T0, T1,... TN. + Semantics: Create a list of references from T0, T1,... TN.

    - + Header
     #include <boost/fusion/sequence/generation/list_tie.hpp>
     
    - + Example
    @@ -135,7 +135,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/metafunctions/make_cons.html b/doc/html/fusion/sequences/generation/metafunctions/make_cons.html index f88a4af1..8bfb8183 100644 --- a/doc/html/fusion/sequences/generation/metafunctions/make_cons.html +++ b/doc/html/fusion/sequences/generation/metafunctions/make_cons.html @@ -3,37 +3,37 @@ make_cons - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of make_cons. + Returns the result type of make_cons.

    - + Synopsis
    @@ -41,7 +41,7 @@
     struct make_cons;
     
    - + Parameters
    @@ -71,7 +71,7 @@

    - Car + Car

    @@ -88,12 +88,12 @@

    - Cdr + Cdr

    - A cons + A cons

    @@ -105,7 +105,7 @@
    - + Expression Semantics
    @@ -113,24 +113,24 @@ result_of::make_cons<Car, Cdr>::type

    - Return type: A cons with head element, Car, of type converted following the + Return type: A cons with head element, Car, of type converted following the rules for element - conversion, and tail, Cdr. + conversion, and tail, Cdr.

    - Semantics: Create a cons from Car - (head) and optional Cdr + Semantics: Create a cons from Car + (head) and optional Cdr (tail).

    - + Header
     #include <boost/fusion/sequence/generation/make_cons.hpp>
     
    - + Example
    @@ -144,7 +144,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/metafunctions/make_list.html b/doc/html/fusion/sequences/generation/metafunctions/make_list.html index 82e36686..c74b05d0 100644 --- a/doc/html/fusion/sequences/generation/metafunctions/make_list.html +++ b/doc/html/fusion/sequences/generation/metafunctions/make_list.html @@ -3,37 +3,37 @@ make_list - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of make_list. + Returns the result type of make_list.

    - + Synopsis
    @@ -41,18 +41,18 @@
     struct make_list;
     

    - The variadic function accepts 0 - to FUSION_MAX_LIST_SIZE - elements, where FUSION_MAX_LIST_SIZE - is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant - FUSION_MAX_LIST_SIZE + The variadic function accepts 0 + to FUSION_MAX_LIST_SIZE + elements, where FUSION_MAX_LIST_SIZE + is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant + FUSION_MAX_LIST_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_LIST_SIZE 20
     
    - + Parameters
    @@ -81,9 +81,9 @@

    - T0, + T0, T1,... - TN + TN

    @@ -93,13 +93,13 @@

    - Template arguments to make_list + Template arguments to make_list

    - + Expression Semantics
    @@ -107,22 +107,22 @@ result_of::make_list<T0, T1,... TN>::type

    - Return type: A list with elements of types + Return type: A list with elements of types converted following the rules for element conversion.

    - Semantics: Create a list from T0, T1,... TN. + Semantics: Create a list from T0, T1,... TN.

    - + Header
     #include <boost/fusion/sequence/generation/make_list.hpp>
     
    - + Example
    @@ -136,7 +136,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/metafunctions/make_map.html b/doc/html/fusion/sequences/generation/metafunctions/make_map.html index 7203df5b..a563385b 100644 --- a/doc/html/fusion/sequences/generation/metafunctions/make_map.html +++ b/doc/html/fusion/sequences/generation/metafunctions/make_map.html @@ -3,37 +3,37 @@ make_map - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of make_map. + Returns the result type of make_map.

    - + Synopsis
    @@ -43,19 +43,19 @@
     struct make_map;
     

    - The variadic function accepts 0 - to FUSION_MAX_VECTOR_SIZE - [13] - elements, where FUSION_MAX_VECTOR_SIZE - is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant - FUSION_MAX_VECTOR_SIZE + The variadic function accepts 0 + to FUSION_MAX_VECTOR_SIZE + [13] + elements, where FUSION_MAX_VECTOR_SIZE + is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant + FUSION_MAX_VECTOR_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_VECTOR_SIZE 20
     
    - + Parameters
    @@ -85,9 +85,9 @@

    - K0, + K0, K1,... - KN + KN

    @@ -97,16 +97,16 @@

    - Keys associated with T0, T1,... TN + Keys associated with T0, T1,... TN

    - T0, + T0, T1,... - TN + TN

    @@ -116,14 +116,14 @@

    - Data associated with keys K0, K1,... KN + Data associated with keys K0, K1,... KN

    - + Expression Semantics
    @@ -131,44 +131,44 @@ resulf_of::make_map<K0, K1,... KN, T0, T1,... TN>::type;

    - Return type: result_of::make_map<K0, K0,... KN, T0, T1,... TN>::type + Return type: result_of::make_map<K0, K0,... KN, T0, T1,... TN>::type

    - Semantics: A map with fusion::pair elements where the second_type is converted following + Semantics: A map with fusion::pair elements where the second_type is converted following the rules for element conversion.

    - Precondition: There may be no duplicate + Precondition: There may be no duplicate key types.

    - + Header
     #include <boost/fusion/sequence/generation/make_map.hpp>
     
    - + Example
     result_of::make_map<int, double, char, double>::type
     
    - + See also

    - fusion::pair + fusion::pair



    -

    [13] - map is implemented - in terms of the vector. That is why we reuse FUSION_MAX_VECTOR_SIZE +

    [13] + map is implemented + in terms of the vector. That is why we reuse FUSION_MAX_VECTOR_SIZE

    @@ -179,7 +179,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/metafunctions/make_set.html b/doc/html/fusion/sequences/generation/metafunctions/make_set.html index 8bb799d9..a73414fe 100644 --- a/doc/html/fusion/sequences/generation/metafunctions/make_set.html +++ b/doc/html/fusion/sequences/generation/metafunctions/make_set.html @@ -3,37 +3,37 @@ make_set - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of make_set. + Returns the result type of make_set.

    - + Synopsis
    @@ -41,19 +41,19 @@
     struct make_set;
     

    - The variadic function accepts 0 - to FUSION_MAX_VECTOR_SIZE - [12] - elements, where FUSION_MAX_VECTOR_SIZE - is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant - FUSION_MAX_VECTOR_SIZE + The variadic function accepts 0 + to FUSION_MAX_VECTOR_SIZE + [12] + elements, where FUSION_MAX_VECTOR_SIZE + is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant + FUSION_MAX_VECTOR_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_VECTOR_SIZE 20
     
    - + Parameters
    @@ -82,9 +82,9 @@

    - T0, + T0, T1,... - TN + TN

    @@ -94,13 +94,13 @@

    - The arguments to make_set + The arguments to make_set

    - + Expression Semantics
    @@ -108,26 +108,26 @@ result_of::make_set<T0, T1,... TN>::type

    - Return type: A set with elements of types converted + Return type: A set with elements of types converted following the rules for element conversion.

    - Semantics: Create a set from T0, T1,... TN. + Semantics: Create a set from T0, T1,... TN.

    - Precondition: There may be no duplicate + Precondition: There may be no duplicate key types.

    - + Header
     #include <boost/fusion/sequence/generation/make_set.hpp>
     
    - + Example
    @@ -135,9 +135,9 @@
     


    -

    [12] - set is implemented - in terms of the vector. That is why we reuse FUSION_MAX_VECTOR_SIZE +

    [12] + set is implemented + in terms of the vector. That is why we reuse FUSION_MAX_VECTOR_SIZE

    @@ -148,7 +148,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/metafunctions/make_vector.html b/doc/html/fusion/sequences/generation/metafunctions/make_vector.html index b694e98f..31b4b56f 100644 --- a/doc/html/fusion/sequences/generation/metafunctions/make_vector.html +++ b/doc/html/fusion/sequences/generation/metafunctions/make_vector.html @@ -3,37 +3,37 @@ make_vector - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of make_vector. + Returns the result type of make_vector.

    - + Synopsis
    @@ -41,18 +41,18 @@
     struct make_vector;
     

    - The variadic function accepts 0 - to FUSION_MAX_VECTOR_SIZE - elements, where FUSION_MAX_VECTOR_SIZE - is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant - FUSION_MAX_VECTOR_SIZE + The variadic function accepts 0 + to FUSION_MAX_VECTOR_SIZE + elements, where FUSION_MAX_VECTOR_SIZE + is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant + FUSION_MAX_VECTOR_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_VECTOR_SIZE 20
     
    - + Parameters
    @@ -81,9 +81,9 @@

    - T0, + T0, T1,... - TN + TN

    @@ -93,13 +93,13 @@

    - Template arguments to make_vector + Template arguments to make_vector

    - + Expression Semantics
    @@ -107,22 +107,22 @@ result_of::make_vector<T0, T1,... TN>::type

    - Return type: A vector with elements of types + Return type: A vector with elements of types converted following the rules for element conversion.

    - Semantics: Create a vector from T0, T1,... TN. + Semantics: Create a vector from T0, T1,... TN.

    - + Header
     #include <boost/fusion/sequence/generation/make_list.hpp>
     
    - + Example
    @@ -136,7 +136,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/generation/metafunctions/map_tie.html b/doc/html/fusion/sequences/generation/metafunctions/map_tie.html new file mode 100644 index 00000000..d1276f4c --- /dev/null +++ b/doc/html/fusion/sequences/generation/metafunctions/map_tie.html @@ -0,0 +1,166 @@ + + + +map_tie + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +
    +
    +PrevUpHomeNext +
    +
    + +
    + + Description +
    +

    + Returns the result type of map_tie. +

    +
    + + Synopsis +
    +
    +template <typename K0, typename K1,... typename KN, typename D0, typename D1,... typename DN>
    +struct map_tie;
    +
    +

    + The variadic function accepts 0 + to FUSION_MAX_MAP_SIZE + elements, where FUSION_MAX_MAP_SIZE + is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant + FUSION_MAX_MAP_SIZE before + including any Fusion header to change the default. Example: +

    +
    +#define FUSION_MAX_MAP_SIZE 20
    +
    +
    + + Parameters +
    +
    +++++ + + + + + + + + + + + + + + + + + +
    +

    + Parameter +

    +
    +

    + Requirement +

    +
    +

    + Description +

    +
    +

    + K0, + K1,... + KN +

    +
    +

    + Any type +

    +
    +

    + The key types for map_tie +

    +
    +

    + D0, + D1,... + DN +

    +
    +

    + Any type +

    +
    +

    + The arguments types for map_tie +

    +
    +
    + + Expression + Semantics +
    +
    +result_of::map_tie<K0, K1,... KN, D0, D1,... DN>::type;
    +
    +

    + Return type: map<pair<K0, D0&>, pair<K1, + D1&>,... pair<KN, + DN&> > +

    +

    + Semantics: Create a map of references from D0, D1,... DN with keys K0, K1,... KN +

    +
    + + Header +
    +
    +#include <boost/fusion/sequence/generation/map_tie.hpp>
    +
    +
    + + Example +
    +
    +struct int_key;
    +struct double_key;
    +...
    +result_of::map_tie<int_key, double_key, int, double>::type
    +
    +
    + + + +
    Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias + Schwinger
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/fusion/sequences/generation/metafunctions/vector_tie.html b/doc/html/fusion/sequences/generation/metafunctions/vector_tie.html index 1f7d8bf1..2e1fbf21 100644 --- a/doc/html/fusion/sequences/generation/metafunctions/vector_tie.html +++ b/doc/html/fusion/sequences/generation/metafunctions/vector_tie.html @@ -3,37 +3,37 @@ vector_tie - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of vector_tie. + Returns the result type of vector_tie.

    - + Synopsis
    @@ -41,18 +41,18 @@
     struct vector_tie;
     

    - The variadic function accepts 0 - to FUSION_MAX_VECTOR_SIZE - elements, where FUSION_MAX_VECTOR_SIZE - is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant - FUSION_MAX_VECTOR_SIZE + The variadic function accepts 0 + to FUSION_MAX_VECTOR_SIZE + elements, where FUSION_MAX_VECTOR_SIZE + is a user definable predefined maximum that defaults to 10. You may define the preprocessor constant + FUSION_MAX_VECTOR_SIZE before including any Fusion header to change the default. Example:

     #define FUSION_MAX_VECTOR_SIZE 20
     
    - + Parameters
    @@ -81,9 +81,9 @@

    - T0, + T0, T1,... - TN + TN

    @@ -93,13 +93,13 @@

    - The arguments to vector_tie + The arguments to vector_tie

    - + Expression Semantics
    @@ -107,21 +107,21 @@ result_of::vector_tie<T0, T1,... TN>::type;

    - Return type: vector<T0&, T1&,... + Return type: vector<T0&, T1&,... TN&>

    - Semantics: Create a vector of references from T0, T1,... TN. + Semantics: Create a vector of references from T0, T1,... TN.

    - + Header
     #include <boost/fusion/sequence/generation/vector_tie.hpp>
     
    - + Example
    @@ -135,7 +135,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics.html b/doc/html/fusion/sequences/intrinsics.html index c737edbe..5581fba4 100644 --- a/doc/html/fusion/sequences/intrinsics.html +++ b/doc/html/fusion/sequences/intrinsics.html @@ -3,24 +3,24 @@ Intrinsics - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -36,11 +36,11 @@ Intrinsic functions, unlike Algorithms, are not generic across the full Sequence repertoire. They need to be implemented for each Fusion Sequence - [5] + [5] .

    - + Header

    @@ -48,7 +48,7 @@
     


    -

    [5] +

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

    @@ -61,7 +61,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/functions.html b/doc/html/fusion/sequences/intrinsics/functions.html index a5564140..b4397075 100644 --- a/doc/html/fusion/sequences/intrinsics/functions.html +++ b/doc/html/fusion/sequences/intrinsics/functions.html @@ -3,24 +3,24 @@ Functions - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -46,7 +46,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/functions/at.html b/doc/html/fusion/sequences/intrinsics/functions/at.html index 53059ea0..1a361356 100644 --- a/doc/html/fusion/sequences/intrinsics/functions/at.html +++ b/doc/html/fusion/sequences/intrinsics/functions/at.html @@ -3,50 +3,50 @@ at - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

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

    - + Synopsis
     template <typename N, typename Sequence>
    -typename result_of::at<Sequence, N>::type
    +typename result_of::at<Sequence, N>::type
     at(Sequence& seq);
     
     template <typename N, typename Sequence>
    -typename result_of::at<Sequence const, N>::type
    +typename result_of::at<Sequence const, N>::type
     at(Sequence const& seq);
     
    - + Parameters
    @@ -76,7 +76,7 @@

    - seq + seq

    @@ -95,7 +95,7 @@

    - N + N

    @@ -113,7 +113,7 @@
    - + Expression Semantics
    @@ -121,38 +121,38 @@ at<N>(seq);

    - Return type: Returns a reference to - the N-th element from the beginning of the sequence seq - if seq is mutable and - e = - o, where e + Return type: Returns a reference to + the N-th element from the beginning of the sequence seq + if seq is mutable and + e = + o, where e is the N-th element from the beginning of the sequence, is a valid expression. Else, returns a type convertable to the N-th element from the beginning of the sequence.

    - Precondition: 0 - <= N::value < size(s) + Precondition: 0 + <= N::value < size(s)

    - Semantics: Equivalent to + Semantics: Equivalent to

    -deref(advance<N>(begin(s)))
    +deref(advance<N>(begin(s)))
     
    - + Header
     #include <boost/fusion/sequence/intrinsic/at.hpp>
     
    - + Example
    -vector<int, int, int> v(1, 2, 3);
    +vector<int, int, int> v(1, 2, 3);
     assert(at<mpl::int_<1> >(v) == 2);
     
    @@ -163,7 +163,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/functions/at_c.html b/doc/html/fusion/sequences/intrinsics/functions/at_c.html index e6be8316..846c7695 100644 --- a/doc/html/fusion/sequences/intrinsics/functions/at_c.html +++ b/doc/html/fusion/sequences/intrinsics/functions/at_c.html @@ -3,50 +3,50 @@ at_c - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

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

    - + Synopsis
     template <int N, typename Sequence>
    -typename result_of::at_c<Sequence, N>::type
    +typename result_of::at_c<Sequence, N>::type
     at_c(Sequence& seq);
     
     template <int N, typename Sequence>
    -typename result_of::at_c<Sequence const, N>::type
    +typename result_of::at_c<Sequence const, N>::type
     at_c(Sequence const& seq);
     
    - + Parameters
    @@ -76,7 +76,7 @@

    - seq + seq

    @@ -95,7 +95,7 @@

    - N + N

    @@ -112,7 +112,7 @@
    - + Expression Semantics
    @@ -120,39 +120,39 @@ at_c<N>(seq);

    - Return type: Returns a reference to - the N-th element from the beginning of the sequence seq - if seq is mutable and - e = - o, where e + Return type: Returns a reference to + the N-th element from the beginning of the sequence seq + if seq is mutable and + e = + o, where e is the N-th element from the beginning of the sequence, is a valid expression. Else, returns a type convertable to the N-th element from the beginning of the sequence.

    - Precondition: 0 + Precondition: 0 <= N - < size(s) + < size(s)

    - Semantics: Equivalent to + Semantics: Equivalent to

    -deref(advance<N>(begin(s)))
    +deref(advance<N>(begin(s)))
     
    - + Header
     #include <boost/fusion/sequence/intrinsic/at_c.hpp>
     
    - + Example
    -vector<int, int, int> v(1, 2, 3);
    +vector<int, int, int> v(1, 2, 3);
     assert(at_c<1>(v) == 2);
     
    @@ -163,7 +163,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/functions/at_key.html b/doc/html/fusion/sequences/intrinsics/functions/at_key.html index feaf24f6..0fd878d9 100644 --- a/doc/html/fusion/sequences/intrinsics/functions/at_key.html +++ b/doc/html/fusion/sequences/intrinsics/functions/at_key.html @@ -3,50 +3,50 @@ at_key - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    Returns the element associated with a Key from the sequence.

    - + Synopsis
     template <typename Key, typename Sequence>
    -typename result_of::at_key<Sequence, Key>::type
    +typename result_of::at_key<Sequence, Key>::type
     at_key(Sequence& seq);
     
     template <typename Key, typename Sequence>
    -typename result_of::at_key<Sequence const, Key>::type
    +typename result_of::at_key<Sequence const, Key>::type
     at_key(Sequence const& seq);
     
    - + Parameters
    @@ -76,7 +76,7 @@

    - seq + seq

    @@ -95,7 +95,7 @@

    - Key + Key

    @@ -112,7 +112,7 @@
    - + Expression Semantics
    @@ -120,34 +120,34 @@ at_key<Key>(seq);

    - Return type: Returns a reference to - the element associated with Key from the sequence seq - if seq is mutable and - e = - o, where e + Return type: Returns a reference to + the element associated with Key from the sequence seq + if seq is mutable and + e = + o, where e is the element associated with Key, is a valid expression. Else, returns a type convertable to the element associated with Key.

    - Precondition: has_key<Key>(seq) == true + Precondition: has_key<Key>(seq) == true

    - Semantics: Returns the element associated + Semantics: Returns the element associated with Key.

    - + Header
     #include <boost/fusion/sequence/intrinsic/at_key.hpp>
     
    - + Example
    -set<int, char, bool> s(1, 'x', true);
    +set<int, char, bool> s(1, 'x', true);
     assert(at_key<char>(s) == 'x');
     
    @@ -158,7 +158,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/functions/back.html b/doc/html/fusion/sequences/intrinsics/functions/back.html index db0fc6fc..d9ee2ca9 100644 --- a/doc/html/fusion/sequences/intrinsics/functions/back.html +++ b/doc/html/fusion/sequences/intrinsics/functions/back.html @@ -3,50 +3,50 @@ back - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    Returns the last element in the sequence.

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

    - seq + seq

    @@ -93,7 +93,7 @@
    - + Expression Semantics
    @@ -101,34 +101,34 @@ back(seq);

    - Return type: Returns a reference to - the last element in the sequence seq - if seq is mutable and - e = - o, where e + Return type: Returns a reference to + the last element in the sequence seq + if seq is mutable and + e = + o, where e is the last element in the sequence, is a valid expression. Else, returns a type convertable to the last element in the sequence.

    - Precondition: empty(seq) == false + Precondition: empty(seq) == false

    - Semantics: Returns the last element + Semantics: Returns the last element in the sequence.

    - + Header
     #include <boost/fusion/sequence/intrinsic/back.hpp>
     
    - + Example
    -vector<int, int, int> v(1, 2, 3);
    +vector<int, int, int> v(1, 2, 3);
     assert(back(v) == 3);
     
    @@ -139,7 +139,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/functions/begin.html b/doc/html/fusion/sequences/intrinsics/functions/begin.html index 2a427bef..2aad9e16 100644 --- a/doc/html/fusion/sequences/intrinsics/functions/begin.html +++ b/doc/html/fusion/sequences/intrinsics/functions/begin.html @@ -3,50 +3,50 @@ begin - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

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

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

    - seq + seq

    @@ -93,7 +93,7 @@
    - + Expression Semantics
    @@ -101,41 +101,41 @@ begin(seq);

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

    - Semantics: Returns an iterator pointing + Semantics: Returns an iterator pointing to the first element in the sequence.

    - + Header
     #include <boost/fusion/sequence/intrinsic/begin.hpp>
     
    - + Example
    -vector<int, int, int> v(1, 2, 3);
    -assert(deref(begin(v)) == 1);
    +vector<int, int, int> v(1, 2, 3);
    +assert(deref(begin(v)) == 1);
     
    @@ -145,7 +145,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/functions/empty.html b/doc/html/fusion/sequences/intrinsics/functions/empty.html index 8188a48c..e4ec9a1a 100644 --- a/doc/html/fusion/sequences/intrinsics/functions/empty.html +++ b/doc/html/fusion/sequences/intrinsics/functions/empty.html @@ -3,48 +3,48 @@ empty - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

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

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

    - seq + seq

    @@ -91,7 +91,7 @@
    - + Expression Semantics
    @@ -99,25 +99,25 @@ empty(seq);

    - Return type: Convertible to bool. + Return type: Convertible to bool.

    - Semantics: Evaluates to true if the sequence is empty, else, evaluates - to false. + Semantics: Evaluates to true if the sequence is empty, else, evaluates + to false.

    - + Header
     #include <boost/fusion/sequence/intrinsic/empty.hpp>
     
    - + Example
    -vector<int, int, int> v(1, 2, 3);
    +vector<int, int, int> v(1, 2, 3);
     assert(empty(v) == false);
     
    @@ -128,7 +128,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/functions/end.html b/doc/html/fusion/sequences/intrinsics/functions/end.html index a81d8e5c..9ef0558d 100644 --- a/doc/html/fusion/sequences/intrinsics/functions/end.html +++ b/doc/html/fusion/sequences/intrinsics/functions/end.html @@ -3,50 +3,50 @@ end - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

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

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

    - seq + seq

    @@ -93,7 +93,7 @@
    - + Expression Semantics
    @@ -101,41 +101,41 @@ end(seq);

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

    - Semantics: Returns an iterator pointing + Semantics: Returns an iterator pointing to one element past the end of the sequence.

    - + Header
     #include <boost/fusion/sequence/intrinsic/end.hpp>
     
    - + Example
    -vector<int, int, int> v(1, 2, 3);
    -assert(deref(prior(end(v))) == 3);
    +vector<int, int, int> v(1, 2, 3);
    +assert(deref(prior(end(v))) == 3);
     
    @@ -145,7 +145,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/functions/front.html b/doc/html/fusion/sequences/intrinsics/functions/front.html index ed2778c0..8f2758ac 100644 --- a/doc/html/fusion/sequences/intrinsics/functions/front.html +++ b/doc/html/fusion/sequences/intrinsics/functions/front.html @@ -3,50 +3,50 @@ front - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    Returns the first element in the sequence.

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

    - seq + seq

    @@ -93,7 +93,7 @@
    - + Expression Semantics
    @@ -101,34 +101,34 @@ front(seq);

    - Return type: Returns a reference to - the first element in the sequence seq - if seq is mutable and - e = - o, where e + Return type: Returns a reference to + the first element in the sequence seq + if seq is mutable and + e = + o, where e is the first element in the sequence, is a valid expression. Else, returns a type convertable to the first element in the sequence.

    - Precondition: empty(seq) == false + Precondition: empty(seq) == false

    - Semantics: Returns the first element + Semantics: Returns the first element in the sequence.

    - + Header
     #include <boost/fusion/sequence/intrinsic/front.hpp>
     
    - + Example
    -vector<int, int, int> v(1, 2, 3);
    +vector<int, int, int> v(1, 2, 3);
     assert(front(v) == 1);
     
    @@ -139,7 +139,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/functions/has_key.html b/doc/html/fusion/sequences/intrinsics/functions/has_key.html index d0f9fb6a..27ee1aa2 100644 --- a/doc/html/fusion/sequences/intrinsics/functions/has_key.html +++ b/doc/html/fusion/sequences/intrinsics/functions/has_key.html @@ -3,49 +3,49 @@ has_key - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns a type convertible to bool - that evaluates to true if + Returns a type convertible to bool + that evaluates to true if the sequence contains an element associated with a Key, else, evaluates - to false. + to false.

    - + Synopsis
     template <typename Key, typename Sequence>
    -typename result_of::has_key<Sequence, Key>::type
    +typename result_of::has_key<Sequence, Key>::type
     has_key(Sequence const& seq);
     
    - + Parameters
    @@ -75,7 +75,7 @@

    - seq + seq

    @@ -94,7 +94,7 @@

    - Key + Key

    @@ -111,7 +111,7 @@
    - + Expression Semantics
    @@ -119,25 +119,25 @@ has_key<Key>(seq);

    - Return type: Convertible to bool. + Return type: Convertible to bool.

    - Semantics: Evaluates to true if the sequence contains an element - associated with Key, else, evaluates to false. + Semantics: Evaluates to true if the sequence contains an element + associated with Key, else, evaluates to false.

    - + Header
     #include <boost/fusion/sequence/intrinsic/has_key.hpp>
     
    - + Example
    -set<int, char, bool> s(1, 'x', true);
    +set<int, char, bool> s(1, 'x', true);
     assert(has_key<char>(s) == true);
     
    @@ -148,7 +148,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/functions/size.html b/doc/html/fusion/sequences/intrinsics/functions/size.html index 517a1b56..f3366fd0 100644 --- a/doc/html/fusion/sequences/intrinsics/functions/size.html +++ b/doc/html/fusion/sequences/intrinsics/functions/size.html @@ -3,47 +3,47 @@ size - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns a type convertible to int + Returns a type convertible to int that evaluates the number of elements in the sequence.

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

    - seq + seq

    @@ -90,7 +90,7 @@
    - + Expression Semantics
    @@ -98,25 +98,25 @@ size(seq);

    - Return type: Convertible to int. + Return type: Convertible to int.

    - Semantics: Returns the number of elements + Semantics: Returns the number of elements in the sequence.

    - + Header
     #include <boost/fusion/sequence/intrinsic/size.hpp>
     
    - + Example
    -vector<int, int, int> v(1, 2, 3);
    +vector<int, int, int> v(1, 2, 3);
     assert(size(v) == 3);
     
    @@ -127,7 +127,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/functions/swap.html b/doc/html/fusion/sequences/intrinsics/functions/swap.html new file mode 100644 index 00000000..f152fae1 --- /dev/null +++ b/doc/html/fusion/sequences/intrinsics/functions/swap.html @@ -0,0 +1,135 @@ + + + +swap + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +
    +
    +PrevUpHomeNext +
    +
    + +
    + + 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 +
    +
    +++++ + + + + + + + + + + +
    +

    + Parameters +

    +
    +

    + Requirement +

    +
    +

    + Description +

    +
    +

    + seq1, seq2 +

    +
    +

    + Models of Forward + Sequence +

    +
    +

    + The sequences whos elements we wish to swap. +

    +
    +
    + + Expression + Semantics +
    +
    +swap(seq1, seq2);
    +
    +

    + Return type: void +

    +

    + Precondition: size(seq1) == size(seq2) +

    +

    + Semantics: Calls swap(a1, b1) for corresponding elements in seq1 and seq2. +

    +
    + + Header +
    +
    +#include <boost/fusion/sequence/intrinsic/swap.hpp>
    +
    +
    + + Example +
    +
    +vector<int, std::string> v1(1, "hello"), v2(2, "world");
    +swap(v1, v2);
    +assert(v1 == make_vector(2, "world"));
    +assert(v2 == make_vector(1, "hello"));
    +
    +
    + + + +
    Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias + Schwinger
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/fusion/sequences/intrinsics/metafunctions.html b/doc/html/fusion/sequences/intrinsics/metafunctions.html index aee36bd2..6fad1b69 100644 --- a/doc/html/fusion/sequences/intrinsics/metafunctions.html +++ b/doc/html/fusion/sequences/intrinsics/metafunctions.html @@ -3,24 +3,24 @@ Metafunctions - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -49,7 +49,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/metafunctions/at.html b/doc/html/fusion/sequences/intrinsics/metafunctions/at.html index 167b5153..251efddc 100644 --- a/doc/html/fusion/sequences/intrinsics/metafunctions/at.html +++ b/doc/html/fusion/sequences/intrinsics/metafunctions/at.html @@ -3,39 +3,39 @@ at - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

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

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

    Table 1.25. Parameters

    +

    Table 1.25. Parameters

    @@ -76,7 +76,7 @@

    - Seq + Seq

    @@ -95,7 +95,7 @@

    - N + N

    @@ -114,7 +114,7 @@
    - + Expression Semantics
    @@ -122,34 +122,34 @@ result_of::at<Seq, N>::type

    - Return type: Any type. + Return type: Any type.

    - Semantics: Returns the result type of - using at to access the Nth element of Seq. + Semantics: Returns the result type of + using at to access the Nth element of Seq.

    - + Header
     #include <boost/fusion/sequence/intrinsic/at.hpp>
     
    - + Example
    -typedef vector<int,float,char> vec;
    -BOOST_MPL_ASSERT((boost::is_same<result_of::at<vec, boost::mpl::int_<1> >::type, float&>));
    +typedef vector<int,float,char> vec;
    +BOOST_MPL_ASSERT((boost::is_same<result_of::at<vec, boost::mpl::int_<1> >::type, float&>));
     


    -

    [6] - result_of::at reflects the actual return - type of the function at. _sequence_s - typically return references to its elements via the at function. If you want - to get the actual element type, use result_of::value_at +

    [6] + result_of::at reflects the actual return + type of the function at. _sequence_s + typically return references to its elements via the at function. If you want + to get the actual element type, use result_of::value_at

    @@ -160,7 +160,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/metafunctions/at_c.html b/doc/html/fusion/sequences/intrinsics/metafunctions/at_c.html index d837cbf4..cd3fd5b0 100644 --- a/doc/html/fusion/sequences/intrinsics/metafunctions/at_c.html +++ b/doc/html/fusion/sequences/intrinsics/metafunctions/at_c.html @@ -3,39 +3,39 @@ at_c - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

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

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

    Table 1.26. Parameters

    +

    Table 1.26. Parameters

    @@ -76,7 +76,7 @@

    - Seq + Seq

    @@ -95,7 +95,7 @@

    - M + M

    @@ -113,7 +113,7 @@
    - + Expression Semantics
    @@ -121,34 +121,34 @@ result_of::at_c<Seq, M>::type

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

    - Semantics: Returns the result type of - using at_c to access the Mth element of Seq. + Semantics: Returns the result type of + using at_c to access the Mth element of Seq.

    - + Header
     #include <boost/fusion/sequence/intrinsic/at.hpp>
     
    - + Example
    -typedef vector<int,float,char> vec;
    -BOOST_MPL_ASSERT((boost::is_same<result_of::at_c<vec, 1>::type, float&>));
    +typedef vector<int,float,char> vec;
    +BOOST_MPL_ASSERT((boost::is_same<result_of::at_c<vec, 1>::type, float&>));
     


    -

    [7] - result_of::at_c reflects the actual - return type of the function at_c. _sequence_s - typically return references to its elements via the at_c function. If you want - to get the actual element type, use result_of::value_at_c +

    [7] + result_of::at_c reflects the actual + return type of the function at_c. _sequence_s + typically return references to its elements via the at_c function. If you want + to get the actual element type, use result_of::value_at_c

    @@ -159,7 +159,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/metafunctions/at_key.html b/doc/html/fusion/sequences/intrinsics/metafunctions/at_key.html index 8a3db14e..cb48e6e0 100644 --- a/doc/html/fusion/sequences/intrinsics/metafunctions/at_key.html +++ b/doc/html/fusion/sequences/intrinsics/metafunctions/at_key.html @@ -3,39 +3,39 @@ at_key - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

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

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

    Table 1.30. Parameters

    +

    Table 1.30. Parameters

    @@ -76,7 +76,7 @@

    - Seq + Seq

    @@ -95,7 +95,7 @@

    - Key + Key

    @@ -113,7 +113,7 @@
    - + Expression Semantics
    @@ -121,36 +121,36 @@ result_of::at_key<Seq, Key>::type

    - Return type: Any type. + Return type: Any type.

    - Semantics: Returns the result of using - at_key to access the element - with key type Key in - Seq. + Semantics: Returns the result of using + at_key to access the element + with key type Key in + Seq.

    - + Header
     #include <boost/fusion/sequence/intrinsic/at_key.hpp>
     
    - + Example
    -typedef map<pair<int, char>, pair<char, char>, pair<double, char> > mymap;
    -BOOST_MPL_ASSERT((boost::is_same<result_of::at_key<mymap, int>::type, char&>));
    +typedef map<pair<int, char>, pair<char, char>, pair<double, char> > mymap;
    +BOOST_MPL_ASSERT((boost::is_same<result_of::at_key<mymap, int>::type, char&>));
     


    -

    [8] - result_of::at_key reflects the actual - return type of the function at_key. _sequence_s - typically return references to its elements via the at_key function. If you - want to get the actual element type, use result_of::value_at_key +

    [8] + result_of::at_key reflects the actual + return type of the function at_key. _sequence_s + typically return references to its elements via the at_key function. If you + want to get the actual element type, use result_of::value_at_key

    @@ -161,7 +161,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/metafunctions/back.html b/doc/html/fusion/sequences/intrinsics/metafunctions/back.html index 2e52c2f2..d1bf313a 100644 --- a/doc/html/fusion/sequences/intrinsics/metafunctions/back.html +++ b/doc/html/fusion/sequences/intrinsics/metafunctions/back.html @@ -3,37 +3,37 @@ back - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of back. + Returns the result type of back.

    - + Synopsis
    @@ -44,7 +44,7 @@
     };
     
    -

    Table 1.23. Parameters

    +

    Table 1.23. Parameters

    @@ -71,7 +71,7 @@

    - Seq + Seq

    @@ -90,7 +90,7 @@
    - + Expression Semantics
    @@ -98,26 +98,26 @@ result_of::back<Seq>::type

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

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

    - + Header
     #include <boost/fusion/sequence/intrinsic/back.hpp>
     
    - + Example
    -typedef vector<int,char> vec;
    -BOOST_MPL_ASSERT((boost::is_same<result_of::back<vec>::type, char&>));
    +typedef vector<int,char> vec;
    +BOOST_MPL_ASSERT((boost::is_same<result_of::back<vec>::type, char&>));
     
    @@ -127,7 +127,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/metafunctions/begin.html b/doc/html/fusion/sequences/intrinsics/metafunctions/begin.html index e1c0eecf..26924148 100644 --- a/doc/html/fusion/sequences/intrinsics/metafunctions/begin.html +++ b/doc/html/fusion/sequences/intrinsics/metafunctions/begin.html @@ -3,37 +3,37 @@ begin - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of begin. + Returns the result type of begin.

    - + Synopsis
    @@ -44,7 +44,7 @@
     };
     
    -

    Table 1.19. Parameters

    +

    Table 1.19. Parameters

    @@ -71,7 +71,7 @@

    - Seq + Seq

    @@ -90,7 +90,7 @@
    - + Expression Semantics
    @@ -98,28 +98,28 @@ result_of::begin<Seq>::type

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

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

    - + Header
     #include <boost/fusion/sequence/intrinsic/begin.hpp>
     
    - + Example
    -typedef vector<int> vec;
    -typedef result_of::begin<vec>::type it;
    -BOOST_MPL_ASSERT((boost::is_same<result_of::deref<it>::type, int&>))
    +typedef vector<int> vec;
    +typedef result_of::begin<vec>::type it;
    +BOOST_MPL_ASSERT((boost::is_same<result_of::deref<it>::type, int&>))
     
    @@ -129,7 +129,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/metafunctions/empty.html b/doc/html/fusion/sequences/intrinsics/metafunctions/empty.html index e6a83c3c..76262192 100644 --- a/doc/html/fusion/sequences/intrinsics/metafunctions/empty.html +++ b/doc/html/fusion/sequences/intrinsics/metafunctions/empty.html @@ -3,37 +3,37 @@ empty - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of empty. + Returns the result type of empty.

    - + Synopsis
    @@ -44,7 +44,7 @@
     };
     
    -

    Table 1.21. Parameters

    +

    Table 1.21. Parameters

    @@ -71,7 +71,7 @@

    - Seq + Seq

    @@ -90,7 +90,7 @@
    - + Expression Semantics
    @@ -98,31 +98,31 @@ result_of::empty<Seq>::type

    - Return type: An MPL + Return type: An MPL Integral Constant

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

    - + Header
     #include <boost/fusion/sequence/intrinsic/empty.hpp>
     
    - + Example
    -typedef vector<> empty_vec;
    -typedef vector<int,float,char> vec;
    +typedef vector<> empty_vec;
    +typedef vector<int,float,char> vec;
     
    -BOOST_MPL_ASSERT((result_of::empty<empty_vec>));
    -BOOST_MPL_ASSERT_NOT((result_of::empty<vec>));
    +BOOST_MPL_ASSERT((result_of::empty<empty_vec>));
    +BOOST_MPL_ASSERT_NOT((result_of::empty<vec>));
     
    @@ -132,7 +132,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/metafunctions/end.html b/doc/html/fusion/sequences/intrinsics/metafunctions/end.html index 37ba917c..b4faf2c0 100644 --- a/doc/html/fusion/sequences/intrinsics/metafunctions/end.html +++ b/doc/html/fusion/sequences/intrinsics/metafunctions/end.html @@ -3,37 +3,37 @@ end - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of end. + Returns the result type of end.

    - + Synopsis
    @@ -44,7 +44,7 @@
     };
     
    -

    Table 1.20. Parameters

    +

    Table 1.20. Parameters

    @@ -71,7 +71,7 @@

    - Seq + Seq

    @@ -90,7 +90,7 @@
    - + Expression Semantics
    @@ -98,28 +98,28 @@ result_of::end<Seq>::type

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

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

    - + Header
     #include <boost/fusion/sequence/intrinsic/end.hpp>
     
    - + Example
    -typedef vector<int> vec;
    -typedef result_of::prior<result_of::end<vec>::type>::type first;
    -BOOST_MPL_ASSERT((result_of::equal_to<first, result_of::begin<vec>::type>))
    +typedef vector<int> vec;
    +typedef result_of::prior<result_of::end<vec>::type>::type first;
    +BOOST_MPL_ASSERT((result_of::equal_to<first, result_of::begin<vec>::type>))
     
    @@ -129,7 +129,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/metafunctions/front.html b/doc/html/fusion/sequences/intrinsics/metafunctions/front.html index 9e710263..009c07d6 100644 --- a/doc/html/fusion/sequences/intrinsics/metafunctions/front.html +++ b/doc/html/fusion/sequences/intrinsics/metafunctions/front.html @@ -3,37 +3,37 @@ front - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of front. + Returns the result type of front.

    - + Synopsis
    @@ -44,7 +44,7 @@
     };
     
    -

    Table 1.22. Parameters

    +

    Table 1.22. Parameters

    @@ -71,7 +71,7 @@

    - Seq + Seq

    @@ -90,7 +90,7 @@
    - + Expression Semantics
    @@ -98,27 +98,27 @@ result_of::front<Seq>::type

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

    - Semantics: The type returned by dereferencing - an iterator to the first element in Seq. - Equivalent to result_of::deref<result_of::begin<Seq>::type>::type. + Semantics: The type returned by dereferencing + an iterator to the first element in Seq. + Equivalent to result_of::deref<result_of::begin<Seq>::type>::type.

    - + Header
     #include <boost/fusion/sequence/intrinsic/front.hpp>
     
    - + Example
    -typedef vector<int,char> vec;
    -BOOST_MPL_ASSERT((boost::is_same<result_of::front<vec>::type, int&>));
    +typedef vector<int,char> vec;
    +BOOST_MPL_ASSERT((boost::is_same<result_of::front<vec>::type, int&>));
     
    @@ -128,7 +128,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/metafunctions/has_key.html b/doc/html/fusion/sequences/intrinsics/metafunctions/has_key.html index 383d4e5f..03e83d4b 100644 --- a/doc/html/fusion/sequences/intrinsics/metafunctions/has_key.html +++ b/doc/html/fusion/sequences/intrinsics/metafunctions/has_key.html @@ -3,37 +3,37 @@ has_key - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of has_key. + Returns the result type of has_key.

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

    Table 1.29. Parameters

    +

    Table 1.29. Parameters

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

    - Seq + Seq

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

    - Key + Key

    @@ -111,7 +111,7 @@
    - + Expression Semantics
    @@ -119,30 +119,30 @@ result_of::has_key<Seq, Key>::type

    - Return type: An MPL + Return type: An MPL Integral Constant.

    - Semantics: Returns mpl::true_ - if Seq contains an element - with key type Key, returns - mpl::false_ otherwise. + Semantics: Returns mpl::true_ + if Seq contains an element + with key type Key, returns + mpl::false_ otherwise.

    - + Header
     #include <boost/fusion/sequence/intrinsic/has_key.hpp>
     
    - + Example
    -typedef map<pair<int, char>, pair<char, char>, pair<double, char> > mymap;
    -BOOST_MPL_ASSERT((result_of::has_key<mymap, int>));
    -BOOST_MPL_ASSERT_NOT((result_of::has_key<mymap, void*>));
    +typedef map<pair<int, char>, pair<char, char>, pair<double, char> > mymap;
    +BOOST_MPL_ASSERT((result_of::has_key<mymap, int>));
    +BOOST_MPL_ASSERT_NOT((result_of::has_key<mymap, void*>));
     
    @@ -152,7 +152,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/metafunctions/size.html b/doc/html/fusion/sequences/intrinsics/metafunctions/size.html index c700f677..50cec0bf 100644 --- a/doc/html/fusion/sequences/intrinsics/metafunctions/size.html +++ b/doc/html/fusion/sequences/intrinsics/metafunctions/size.html @@ -3,37 +3,37 @@ size - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - Returns the result type of size. + Returns the result type of size.

    - + Synopsis
    @@ -44,7 +44,7 @@
     };
     
    -

    Table 1.24. Parameters

    +

    Table 1.24. Parameters

    @@ -71,7 +71,7 @@

    - Seq + Seq

    @@ -90,7 +90,7 @@
    - + Expression Semantics
    @@ -98,27 +98,27 @@ result_of::size<Seq>::type

    - Return type: An MPL + Return type: An MPL Integral Constant.

    - Semantics: Returns the number of elements - in Seq. + Semantics: Returns the number of elements + in Seq.

    - + Header
     #include <boost/fusion/sequence/intrinsic/size.hpp>
     
    - + Example
    -typedef vector<int,float,char> vec;
    -typedef result_of::size<vec>::type size_mpl_integral_constant;
    +typedef vector<int,float,char> vec;
    +typedef result_of::size<vec>::type size_mpl_integral_constant;
     BOOST_MPL_ASSERT_RELATION(size_mpl_integral_constant::value, ==, 3);
     
    @@ -129,7 +129,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/metafunctions/swap.html b/doc/html/fusion/sequences/intrinsics/metafunctions/swap.html new file mode 100644 index 00000000..01cb7598 --- /dev/null +++ b/doc/html/fusion/sequences/intrinsics/metafunctions/swap.html @@ -0,0 +1,124 @@ + + + +swap + + + + + + + + + + + + + + + +
    Boost C++ LibrariesHomeLibrariesPeopleFAQMore
    +
    +
    +PrevUpHomeNext +
    +
    + +
    + + Description +
    +

    + Returns the return type of swap. +

    +
    + + Synopsis +
    +
    +template<typename Seq1, typename Seq2>
    +struct swap
    +{
    +    typedef void type;
    +};
    +
    +
    +

    Table 1.32. Parameters

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

    + Parameters +

    +
    +

    + Requirement +

    +
    +

    + Description +

    +
    +

    + Seq1, Seq2 +

    +
    +

    + Models of Forward + Sequence +

    +
    +

    + The sequences being swapped +

    +
    +
    +
    + + Expression + Semantics +
    +
    +result_of::swap<Seq1, Seq2>::type
    +
    +

    + Return type: void. +

    +

    + Semantics: Always returns void. +

    +
    + + Header +
    +
    +#include <boost/fusion/sequence/intrinsic/swap.hpp>
    +
    +
    + + + +
    Copyright © 2001-2007 Joel de Guzman, Dan Marsden, Tobias + Schwinger
    +
    +
    +PrevUpHomeNext +
    + + diff --git a/doc/html/fusion/sequences/intrinsics/metafunctions/value_at.html b/doc/html/fusion/sequences/intrinsics/metafunctions/value_at.html index f93ee091..9c2e2a90 100644 --- a/doc/html/fusion/sequences/intrinsics/metafunctions/value_at.html +++ b/doc/html/fusion/sequences/intrinsics/metafunctions/value_at.html @@ -3,37 +3,37 @@ value_at - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

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

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

    Table 1.27. Parameters

    +

    Table 1.27. Parameters

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

    - Seq + Seq

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

    - N + N

    @@ -112,7 +112,7 @@
    - + Expression Semantics
    @@ -120,26 +120,26 @@ result_of::value_at<Seq, N>::type

    - Return type: Any type. + Return type: Any type.

    - Semantics: Returns the actual type at - the Nth element of Seq. + Semantics: Returns the actual type at + the Nth element of Seq.

    - + Header
     #include <boost/fusion/sequence/intrinsic/value_at.hpp>
     
    - + Example
    -typedef vector<int,float,char> vec;
    -BOOST_MPL_ASSERT((boost::is_same<result_of::value_at<vec, boost::mpl::int_<1> >::type, float>));
    +typedef vector<int,float,char> vec;
    +BOOST_MPL_ASSERT((boost::is_same<result_of::value_at<vec, boost::mpl::int_<1> >::type, float>));
     
    @@ -149,7 +149,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/metafunctions/value_at_c.html b/doc/html/fusion/sequences/intrinsics/metafunctions/value_at_c.html index 21e64396..beb2a706 100644 --- a/doc/html/fusion/sequences/intrinsics/metafunctions/value_at_c.html +++ b/doc/html/fusion/sequences/intrinsics/metafunctions/value_at_c.html @@ -3,37 +3,37 @@ value_at_c - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

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

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

    Table 1.28. Parameters

    +

    Table 1.28. Parameters

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

    - Seq + Seq

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

    - M + M

    @@ -111,7 +111,7 @@
    - + Expression Semantics
    @@ -119,26 +119,26 @@ result_of::value_at_c<Seq, M>::type

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

    - Semantics: Returns the actual type at - the Mth element of Seq. + Semantics: Returns the actual type at + the Mth element of Seq.

    - + Header
     #include <boost/fusion/sequence/intrinsic/value_at.hpp>
     
    - + Example
    -typedef vector<int,float,char> vec;
    -BOOST_MPL_ASSERT((boost::is_same<result_of::value_at_c<vec, 1>::type, float>));
    +typedef vector<int,float,char> vec;
    +BOOST_MPL_ASSERT((boost::is_same<result_of::value_at_c<vec, 1>::type, float>));
     
    @@ -148,7 +148,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/intrinsics/metafunctions/value_at_key.html b/doc/html/fusion/sequences/intrinsics/metafunctions/value_at_key.html index ba33f8ed..f3395e58 100644 --- a/doc/html/fusion/sequences/intrinsics/metafunctions/value_at_key.html +++ b/doc/html/fusion/sequences/intrinsics/metafunctions/value_at_key.html @@ -3,37 +3,37 @@ value_at_key - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

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

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

    Table 1.31. Parameters

    +

    Table 1.31. Parameters

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

    - Seq + Seq

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

    - Key + Key

    @@ -111,7 +111,7 @@
    - + Expression Semantics
    @@ -119,27 +119,27 @@ result_of::value_at_key<Seq, Key>::type

    - Return type: Any type. + Return type: Any type.

    - Semantics: Returns the actual element - type associated with key type Key - in Seq. + Semantics: Returns the actual element + type associated with key type Key + in Seq.

    - + Header
     #include <boost/fusion/sequence/intrinsic/value_at_key.hpp>
     
    - + Example
    -typedef map<pair<int, char>, pair<char, char>, pair<double, char> > mymap;
    -BOOST_MPL_ASSERT((boost::is_same<result_of::at_key<mymap, int>::type, char>));
    +typedef map<pair<int, char>, pair<char, char>, pair<double, char> > mymap;
    +BOOST_MPL_ASSERT((boost::is_same<result_of::at_key<mymap, int>::type, char>));
     
    @@ -149,7 +149,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/operators.html b/doc/html/fusion/sequences/operators.html index 40004fc6..b073cf2d 100644 --- a/doc/html/fusion/sequences/operators.html +++ b/doc/html/fusion/sequences/operators.html @@ -3,24 +3,24 @@ Operators - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -42,7 +42,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/operators/comparison.html b/doc/html/fusion/sequences/operators/comparison.html index c8d9a9f0..fe52cb60 100644 --- a/doc/html/fusion/sequences/operators/comparison.html +++ b/doc/html/fusion/sequences/operators/comparison.html @@ -3,24 +3,24 @@ Comparison - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -39,16 +39,16 @@ than equal

    - The Comparison operators: ==, - !=, <, - <=, >= - and >= work generically + The Comparison operators: ==, + !=, <, + <=, >= + and >= work generically on all Fusion sequences. Comparison operators are "short- circuited": elementary comparisons start from the first elements and are performed only until the result is clear.

    - + Header
    @@ -62,7 +62,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/operators/comparison/equal.html b/doc/html/fusion/sequences/operators/comparison/equal.html index 3dd431be..59bfbe55 100644 --- a/doc/html/fusion/sequences/operators/comparison/equal.html +++ b/doc/html/fusion/sequences/operators/comparison/equal.html @@ -3,7 +3,7 @@ equal - + @@ -11,30 +11,30 @@ equal"> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    Compare two sequences for equality.

    - + Synopsis
    @@ -43,7 +43,7 @@
     operator==(Seq1 const& a, Seq2 const& b);
     
    - + Parameters
    @@ -72,8 +72,8 @@

    - a, - b + a, + b

    @@ -89,7 +89,7 @@
    - + Expression Semantics
    @@ -97,16 +97,16 @@ a == b

    - Return type: bool + Return type: bool

    - Requirements: + Requirements:

    - For each element, e1, - in sequence a, and for - each element, e2, in - sequence b, a == b is a valid expression returning a + For each element, e1, + in sequence a, and for + each element, e2, in + sequence b, a == b is a valid expression returning a type that is convertible to bool.

    @@ -114,30 +114,30 @@ compile time error.

    - Semantics: + Semantics:

    - For each element, e1, - in sequence a, and for - each element, e2, in - sequence b, e1 == e2 returns true. For any 2 zero length + For each element, e1, + in sequence a, and for + each element, e2, in + sequence b, e1 == e2 returns true. For any 2 zero length _sequence_s, e and f, e == f returns true.

    - + Header
     #include <boost/fusion/sequence/comparison/equal_to.hpp>
     
    - + Example
    -vector<int, char> v1(5, 'a');
    -vector<int, char> v2(5, 'a');
    +vector<int, char> v1(5, 'a');
    +vector<int, char> v2(5, 'a');
     assert(v1 == v2);
     
    @@ -148,7 +148,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/operators/comparison/greater_than.html b/doc/html/fusion/sequences/operators/comparison/greater_than.html index 14868060..ec62de5e 100644 --- a/doc/html/fusion/sequences/operators/comparison/greater_than.html +++ b/doc/html/fusion/sequences/operators/comparison/greater_than.html @@ -4,7 +4,7 @@ greater than - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -34,7 +34,7 @@ Lexicographically compare two sequences.

    - + Synopsis
    @@ -43,7 +43,7 @@
     operator>(Seq1 const& a, Seq2 const& b);
     
    - + Parameters
    @@ -72,8 +72,8 @@

    - a, - b + a, + b

    @@ -89,7 +89,7 @@
    - + Expression Semantics
    @@ -97,16 +97,16 @@ a > b

    - Return type: bool + Return type: bool

    - Requirements: + Requirements:

    - For each element, e1, - in sequence a, and for - each element, e2, in - sequence b, a < b is a valid expression returning a + For each element, e1, + in sequence a, and for + each element, e2, in + sequence b, a < b is a valid expression returning a type that is convertible to bool.

    @@ -114,23 +114,23 @@ compile time error.

    - Semantics: Returns b < a. + Semantics: Returns b < a.

    - + Header
     #include <boost/fusion/sequence/comparison/less_equal.hpp>
     
    - + Example
    -vector<int, float> v1(4, 3.3f);
    -vector<short, float> v2(5, 3.3f);
    -vector<long, double> v3(5, 4.4);
    +vector<int, float> v1(4, 3.3f);
    +vector<short, float> v2(5, 3.3f);
    +vector<long, double> v3(5, 4.4);
     assert(v2 > v1);
     assert(v3 > v2);
     
    @@ -142,7 +142,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/operators/comparison/greater_than_equal.html b/doc/html/fusion/sequences/operators/comparison/greater_than_equal.html index a5628872..68c5acbb 100644 --- a/doc/html/fusion/sequences/operators/comparison/greater_than_equal.html +++ b/doc/html/fusion/sequences/operators/comparison/greater_than_equal.html @@ -4,7 +4,7 @@ greater than equal - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -33,7 +33,7 @@ Lexicographically compare two sequences.

    - + Synopsis
    @@ -42,7 +42,7 @@
     operator>=(Seq1 const& a, Seq2 const& b);
     
    - + Parameters
    @@ -71,8 +71,8 @@

    - a, - b + a, + b

    @@ -88,7 +88,7 @@
    - + Expression Semantics
    @@ -96,16 +96,16 @@ a >= b

    - Return type: bool + Return type: bool

    - Requirements: + Requirements:

    - For each element, e1, - in sequence a, and for - each element, e2, in - sequence b, a < b is a valid expression returning a + For each element, e1, + in sequence a, and for + each element, e2, in + sequence b, a < b is a valid expression returning a type that is convertible to bool.

    @@ -113,23 +113,23 @@ compile time error.

    - Semantics: Returns !(a < b). + Semantics: Returns !(a < b).

    - + Header
     #include <boost/fusion/sequence/comparison/greater_equal.hpp>
     
    - + Example
    -vector<int, float> v1(4, 3.3f);
    -vector<short, float> v2(5, 3.3f);
    -vector<long, double> v3(5, 4.4);
    +vector<int, float> v1(4, 3.3f);
    +vector<short, float> v2(5, 3.3f);
    +vector<long, double> v3(5, 4.4);
     assert(v2 >= v1);
     assert(v3 >= v2);
     
    @@ -141,7 +141,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/operators/comparison/less_than.html b/doc/html/fusion/sequences/operators/comparison/less_than.html index 8e636fd1..ca68920c 100644 --- a/doc/html/fusion/sequences/operators/comparison/less_than.html +++ b/doc/html/fusion/sequences/operators/comparison/less_than.html @@ -4,7 +4,7 @@ less than - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -34,7 +34,7 @@ Lexicographically compare two sequences.

    - + Synopsis
    @@ -43,7 +43,7 @@
     operator<(Seq1 const& a, Seq2 const& b);
     
    - + Parameters
    @@ -72,8 +72,8 @@

    - a, - b + a, + b

    @@ -89,7 +89,7 @@
    - + Expression Semantics
    @@ -97,16 +97,16 @@ a < b

    - Return type: bool + Return type: bool

    - Requirements: + Requirements:

    - For each element, e1, - in sequence a, and for - each element, e2, in - sequence b, a < b is a valid expression returning a + For each element, e1, + in sequence a, and for + each element, e2, in + sequence b, a < b is a valid expression returning a type that is convertible to bool.

    @@ -114,25 +114,25 @@ compile time error.

    - Semantics: Returns the lexicographical - comparison of between a - and b. + Semantics: Returns the lexicographical + comparison of between a + and b.

    - + Header
     #include <boost/fusion/sequence/comparison/less.hpp>
     
    - + Example
    -vector<int, float> v1(4, 3.3f);
    -vector<short, float> v2(5, 3.3f);
    -vector<long, double> v3(5, 4.4);
    +vector<int, float> v1(4, 3.3f);
    +vector<short, float> v2(5, 3.3f);
    +vector<long, double> v3(5, 4.4);
     assert(v1 < v2);
     assert(v2 < v3);
     
    @@ -144,7 +144,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/operators/comparison/less_than_equal.html b/doc/html/fusion/sequences/operators/comparison/less_than_equal.html index 2df0e419..13ceddac 100644 --- a/doc/html/fusion/sequences/operators/comparison/less_than_equal.html +++ b/doc/html/fusion/sequences/operators/comparison/less_than_equal.html @@ -4,7 +4,7 @@ less than equal - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -34,7 +34,7 @@ Lexicographically compare two sequences.

    - + Synopsis
    @@ -43,7 +43,7 @@
     operator<=(Seq1 const& a, Seq2 const& b);
     
    - + Parameters
    @@ -72,8 +72,8 @@

    - a, - b + a, + b

    @@ -89,7 +89,7 @@
    - + Expression Semantics
    @@ -97,16 +97,16 @@ a <= b

    - Return type: bool + Return type: bool

    - Requirements: + Requirements:

    - For each element, e1, - in sequence a, and for - each element, e2, in - sequence b, a < b is a valid expression returning a + For each element, e1, + in sequence a, and for + each element, e2, in + sequence b, a < b is a valid expression returning a type that is convertible to bool.

    @@ -114,23 +114,23 @@ compile time error.

    - Semantics: Returns !(b < a). + Semantics: Returns !(b < a).

    - + Header
     #include <boost/fusion/sequence/comparison/less_equal.hpp>
     
    - + Example
    -vector<int, float> v1(4, 3.3f);
    -vector<short, float> v2(5, 3.3f);
    -vector<long, double> v3(5, 4.4);
    +vector<int, float> v1(4, 3.3f);
    +vector<short, float> v2(5, 3.3f);
    +vector<long, double> v3(5, 4.4);
     assert(v1 <= v2);
     assert(v2 <= v3);
     
    @@ -142,7 +142,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/operators/comparison/not_equal.html b/doc/html/fusion/sequences/operators/comparison/not_equal.html index 2f93f959..aff5882b 100644 --- a/doc/html/fusion/sequences/operators/comparison/not_equal.html +++ b/doc/html/fusion/sequences/operators/comparison/not_equal.html @@ -4,7 +4,7 @@ not equal - + @@ -12,17 +12,17 @@ than"> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    @@ -33,7 +33,7 @@ Compare two sequences for inequality.

    - + Synopsis
    @@ -42,7 +42,7 @@
     operator!=(Seq1 const& a, Seq2 const& b);
     
    - + Parameters
    @@ -71,8 +71,8 @@

    - a, - b + a, + b

    @@ -88,7 +88,7 @@
    - + Expression Semantics
    @@ -96,16 +96,16 @@ a != b

    - Return type: bool + Return type: bool

    - Requirements: + Requirements:

    - For each element, e1, - in sequence a, and for - each element, e2, in - sequence b, a == b is a valid expression returning a + For each element, e1, + in sequence a, and for + each element, e2, in + sequence b, a == b is a valid expression returning a type that is convertible to bool.

    @@ -113,25 +113,25 @@ compile time error.

    - Semantics: + Semantics:

    Returns !(a == b).

    - + Header
     #include <boost/fusion/sequence/comparison/not_equal_to.hpp>
     
    - + Example
    -vector<int, char> v3(5, 'b');
    -vector<int, char> t4(2, 'a');
    +vector<int, char> v3(5, 'b');
    +vector<int, char> t4(2, 'a');
     assert(v1 != v3);
     assert(v1 != t4);
     assert(!(v1 != v2));
    @@ -144,7 +144,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/operators/i_o.html b/doc/html/fusion/sequences/operators/i_o.html index e18176a2..baf03cbf 100644 --- a/doc/html/fusion/sequences/operators/i_o.html +++ b/doc/html/fusion/sequences/operators/i_o.html @@ -3,24 +3,24 @@ I/O - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -30,25 +30,25 @@
    out

    - The I/O operators: << - and >> work generically - on all Fusion sequences. The global operator<< has been overloaded for generic + The I/O operators: << + and >> work generically + on all Fusion sequences. The global operator<< has been overloaded for generic output streams such that _sequence_s - are output by recursively calling operator<< for each element. Analogously, - the global operator>> + are output by recursively calling operator<< for each element. Analogously, + the global operator>> has been overloaded to extract _sequence_s - from generic input streams by recursively calling operator>> for each element. + from generic input streams by recursively calling operator>> for each element.

    The default delimiter between the elements is space, and the Sequence is enclosed in parenthesis. For Example:

    -vector<float, int, std::string> a(1.0f, 2, std::string("Howdy folks!");
    +vector<float, int, std::string> a(1.0f, 2, std::string("Howdy folks!");
     cout << a;
     

    - outputs the vector as: (1.0 2 Howdy folks!) + outputs the vector as: (1.0 2 Howdy folks!)

    The library defines three manipulators for changing the default behavior: @@ -56,23 +56,23 @@

    Manipulators

    -
    tuple_open(arg)
    -
    - Defines the character that is output before the first element. -
    -
    tuple_close(arg)
    -
    - Defines the character that is output after the last element. -
    -
    tuple_delimiter(arg)
    -
    - Defines the delimiter character between elements. -
    +
    tuple_open(arg)
    +

    + Defines the character that is output before the first element. +

    +
    tuple_close(arg)
    +

    + Defines the character that is output after the last element. +

    +
    tuple_delimiter(arg)
    +

    + Defines the delimiter character between elements. +

    - The argument to tuple_open, - tuple_close and tuple_delimiter may be a char, wchar_t, + The argument to tuple_open, + tuple_close and tuple_delimiter may be a char, wchar_t, a C-string, or a wide C-string.

    @@ -82,12 +82,12 @@ std::cout << tuple_open('[') << tuple_close(']') << tuple_delimiter(", ") << a;

    - outputs the same vector, a + outputs the same vector, a as: [1.0, 2, Howdy folks!]

    - The same manipulators work with operator>> and istream - as well. Suppose the std::cin + The same manipulators work with operator>> and istream + as well. Suppose the std::cin stream contains the following data:

    @@ -97,8 +97,8 @@
               The code:
             

    -vector<int, int, int> i;
    -vector<int, int> j;
    +vector<int, int, int> i;
    +vector<int, int> j;
     
     std::cin >> i;
     std::cin >> set_open('[') >> set_close(']') >> set_delimiter(':');
    @@ -106,16 +106,16 @@
     

    reads the data into the _vector_s - i and j. + i and j.

    Note that extracting _sequence_s - with std::string or C-style string elements does + with std::string or C-style string elements does not generally work, since the streamed Sequence representation may not be unambiguously parseable.

    - + Header
    @@ -129,7 +129,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/operators/i_o/in.html b/doc/html/fusion/sequences/operators/i_o/in.html index 8bbc70ae..bfac3141 100644 --- a/doc/html/fusion/sequences/operators/i_o/in.html +++ b/doc/html/fusion/sequences/operators/i_o/in.html @@ -3,30 +3,30 @@ in - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    @@ -34,7 +34,7 @@ stream.

    - + Synopsis
    @@ -43,7 +43,7 @@
     operator>>(IStream& is, Sequence& seq);
     
    - + Parameters
    @@ -107,7 +107,7 @@
    - + Expression Semantics
    @@ -115,26 +115,26 @@ is >> seq

    - Return type: IStream& + Return type: IStream&

    - Semantics: For each element, e, in sequence, seq, - call is >> - e. + Semantics: For each element, e, in sequence, seq, + call is >> + e.

    - + Header
     #include <boost/fusion/sequence/io/in.hpp>
     
    - + Example
    -vector<int, std::string, char> v;
    +vector<int, std::string, char> v;
     std::cin >> v;
     
    @@ -145,7 +145,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/operators/i_o/out.html b/doc/html/fusion/sequences/operators/i_o/out.html index 764f0163..80ca62f7 100644 --- a/doc/html/fusion/sequences/operators/i_o/out.html +++ b/doc/html/fusion/sequences/operators/i_o/out.html @@ -3,30 +3,30 @@ out - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    @@ -34,7 +34,7 @@ stream.

    - + Synopsis
    @@ -43,7 +43,7 @@
     operator<<(OStream& os, Sequence& seq);
     
    - + Parameters
    @@ -107,7 +107,7 @@
    - + Expression Semantics
    @@ -115,26 +115,26 @@ os << seq

    - Return type: OStream& + Return type: OStream&

    - Semantics: For each element, e, in sequence, seq, - call os << - e. + Semantics: For each element, e, in sequence, seq, + call os << + e.

    - + Header
     #include <boost/fusion/sequence/io/out.hpp>
     
    - + Example
    -std::cout << make_vector(123, "Hello", 'x') << std::endl;
    +std::cout << make_vector(123, "Hello", 'x') << std::endl;
     
    @@ -144,7 +144,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/views.html b/doc/html/fusion/sequences/views.html index b0f5053d..cf4d2095 100644 --- a/doc/html/fusion/sequences/views.html +++ b/doc/html/fusion/sequences/views.html @@ -3,24 +3,24 @@ Views - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -44,7 +44,7 @@ very cheap to copy and be passed around by value.

    - + Header

    @@ -58,7 +58,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/views/filter_view.html b/doc/html/fusion/sequences/views/filter_view.html index 6fbed0b9..758b9540 100644 --- a/doc/html/fusion/sequences/views/filter_view.html +++ b/doc/html/fusion/sequences/views/filter_view.html @@ -3,48 +3,48 @@ filter_view - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - filter_view is a view into + filter_view is a view into a subset of its underlying sequence's elements satisfying a given predicate (an MPL metafunction). - The filter_view presents - only those elements for which its predicate evaluates to mpl::true_. + The filter_view presents + only those elements for which its predicate evaluates to mpl::true_.

    - + Header
     #include <boost/fusion/sequence/view/filter_view.hpp>
     
    - + Synopsis
    @@ -52,7 +52,7 @@
     struct filter_view;
     
    - + Template parameters
    @@ -83,7 +83,7 @@

    - Sequence + Sequence

    @@ -101,12 +101,12 @@

    - Pred + Pred

    - Unary Metafunction returning an mpl::bool_ + Unary Metafunction returning an mpl::bool_

    @@ -117,7 +117,7 @@
    - + Model of
    - + Expression Semantics
    @@ -174,49 +174,49 @@

    - F(s) + F(s)

    - Creates a filter_view - given a sequence, s. + Creates a filter_view + given a sequence, s.

    - F(f) + F(f)

    - Copy constructs a filter_view - from another filter_view, - f. + Copy constructs a filter_view + from another filter_view, + f.

    - f = - f2 + f = + f2

    - Assigns to a filter_view, - f, from another - filter_view, f2. + Assigns to a filter_view, + f, from another + filter_view, f2.

    - + Example
    @@ -224,7 +224,7 @@
     using boost::mpl::not_;
     using boost::is_class;
     
    -typedef vector<std::string, char, long, bool, double> vector_type;
    +typedef vector<std::string, char, long, bool, double> vector_type;
     
     vector_type v("a-string", '@', 987654, true, 6.6);
     filter_view<vector_type const, not_<is_class<_> > > view(v);
    @@ -238,7 +238,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/views/iterator_range.html b/doc/html/fusion/sequences/views/iterator_range.html index bb573ff7..e53bc815 100644 --- a/doc/html/fusion/sequences/views/iterator_range.html +++ b/doc/html/fusion/sequences/views/iterator_range.html @@ -3,45 +3,45 @@ iterator_range - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - iterator_range presents + iterator_range presents a sub-range of its underlying sequence delimited by a pair of iterators.

    - + Header
     #include <boost/fusion/sequence/view/iterator_range.hpp>
     
    - + Synopsis
    @@ -49,7 +49,7 @@
     struct iterator_range;
     
    - + Template parameters
    @@ -80,7 +80,7 @@

    - First + First

    @@ -96,7 +96,7 @@

    - Last + Last

    @@ -112,7 +112,7 @@
    - + Model of
    • @@ -129,27 +129,27 @@

      Notation

      -
      IR
      -
      - An iterator_range type -
      -
      f
      -
      - An instance of First -
      -
      l
      -
      - An instance of Last -
      -
      ir, - ir2
      -
      - Instances of iterator_range -
      +
      IR
      +

      + An iterator_range type +

      +
      f
      +

      + An instance of First +

      +
      l
      +

      + An instance of Last +

      +
      ir, + ir2
      +

      + Instances of iterator_range +

      - + Expression Semantics
      @@ -180,63 +180,63 @@

      - IR(f, - l) + IR(f, + l)

      - Creates an iterator_range - given iterators, f - and l. + Creates an iterator_range + given iterators, f + and l.

      - IR(ir) + IR(ir)

      - Copy constructs an iterator_range - from another iterator_range, - ir. + Copy constructs an iterator_range + from another iterator_range, + ir.

      - ir = - ir2 + ir = + ir2

      - Assigns to a iterator_range, - ir, from another - iterator_range, - ir2. + Assigns to a iterator_range, + ir, from another + iterator_range, + ir2.

    - + Example
     char const* s = "Ruby";
    -typedef vector<int, char, double, char const*> vector_type;
    +typedef vector<int, char, double, char const*> vector_type;
     vector_type vec(1, 'x', 3.3, s);
     
    -typedef result_of::begin<vector_type>::type A;
    -typedef result_of::end<vector_type>::type B;
    -typedef result_of::next<A>::type C;
    -typedef result_of::prior<B>::type D;
    +typedef result_of::begin<vector_type>::type A;
    +typedef result_of::end<vector_type>::type B;
    +typedef result_of::next<A>::type C;
    +typedef result_of::prior<B>::type D;
     
     C c(vec);
     D d(vec);
    @@ -252,7 +252,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/views/joint_view.html b/doc/html/fusion/sequences/views/joint_view.html index f1fbd8d1..2a1bfd21 100644 --- a/doc/html/fusion/sequences/views/joint_view.html +++ b/doc/html/fusion/sequences/views/joint_view.html @@ -3,45 +3,45 @@ joint_view - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    - joint_view presents a view + joint_view presents a view which is a concatenation of two sequences.

    - + Header
     #include <boost/fusion/sequence/view/joint_view.hpp>
     
    - + Synopsis
    @@ -49,7 +49,7 @@
     struct joint_view;
     
    - + Template parameters
    @@ -80,7 +80,7 @@

    - Sequence1 + Sequence1

    @@ -98,7 +98,7 @@

    - Sequence2 + Sequence2

    @@ -116,7 +116,7 @@
    - + Model of
    - + Expression Semantics
    @@ -175,59 +175,59 @@

    - JV(s1, - s2) + JV(s1, + s2)

    - Creates a joint_view - given sequences, s1 - and s2. + Creates a joint_view + given sequences, s1 + and s2.

    - JV(jv) + JV(jv)

    - Copy constructs a joint_view - from another joint_view, - jv. + Copy constructs a joint_view + from another joint_view, + jv.

    - jv = - jv2 + jv = + jv2

    - Assigns to a joint_view, - jv, from another - joint_view, jv2. + Assigns to a joint_view, + jv, from another + joint_view, jv2.

    - + Example
    -vector<int, char> v1(3, 'x');
    -vector<std::string, int> v2("hello", 123);
    +vector<int, char> v1(3, 'x');
    +vector<std::string, int> v2("hello", 123);
     joint_view<
    -    vector<int, char>
    -  , vector<std::string, int>
    +    vector<int, char>
    +  , vector<std::string, int>
     > view(v1, v2);
     std::cout << view << std::endl;
     
    @@ -239,7 +239,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/views/reverse_view.html b/doc/html/fusion/sequences/views/reverse_view.html index 2aeaf398..f071a5f1 100644 --- a/doc/html/fusion/sequences/views/reverse_view.html +++ b/doc/html/fusion/sequences/views/reverse_view.html @@ -3,42 +3,42 @@ reverse_view - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - reverse_view presents a + reverse_view presents a reversed view of underlying sequence. The first element will be its last and the last element will be its first.

    - + Header
     #include <boost/fusion/sequence/view/reverse_view.hpp>
     
    - + Synopsis
    @@ -46,7 +46,7 @@
     struct reverse_view;
     
    - + Template parameters
    @@ -76,7 +76,7 @@

    - Sequence + Sequence

    @@ -93,7 +93,7 @@
    - + Model of
    - + Expression Semantics
    @@ -149,54 +149,54 @@

    - RV(s) + RV(s)

    - Creates a unary reverse_view - given sequence, s. + Creates a unary reverse_view + given sequence, s.

    - RV(rv) + RV(rv)

    - Copy constructs a reverse_view - from another reverse_view, - rv. + Copy constructs a reverse_view + from another reverse_view, + rv.

    - rv = - rv2 + rv = + rv2

    - Assigns to a reverse_view, - rv, from another - reverse_view, - rv2. + Assigns to a reverse_view, + rv, from another + reverse_view, + rv2.

    - + Example
    -typedef vector<int, short, double> vector_type;
    +typedef vector<int, short, double> vector_type;
     vector_type vec(2, 5, 3.3);
     
     reverse_view<vector_type> reverse(vec);
    @@ -210,7 +210,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/views/single_view.html b/doc/html/fusion/sequences/views/single_view.html index 78c70b20..ae40751b 100644 --- a/doc/html/fusion/sequences/views/single_view.html +++ b/doc/html/fusion/sequences/views/single_view.html @@ -3,41 +3,41 @@ single_view - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - single_view is a view into + single_view is a view into a value as a single element sequence.

    - + Header
     #include <boost/fusion/sequence/view/single_view.hpp>
     
    - + Synopsis
    @@ -45,7 +45,7 @@
     struct single_view;
     
    - + Template parameters
    @@ -75,7 +75,7 @@

    - T + T

    @@ -90,7 +90,7 @@
    - + Model of
    - + Expression Semantics
    @@ -145,49 +145,49 @@

    - S(x) + S(x)

    - Creates a single_view - from x. + Creates a single_view + from x.

    - S(s) + S(s)

    - Copy constructs a single_view - from another single_view, - s. + Copy constructs a single_view + from another single_view, + s.

    - s = - s2 + s = + s2

    - Assigns to a single_view, - s, from another - single_view, s2. + Assigns to a single_view, + s, from another + single_view, s2.

    - + Example
    @@ -202,7 +202,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/sequences/views/transform_view.html b/doc/html/fusion/sequences/views/transform_view.html index 1f8234ec..00c990b8 100644 --- a/doc/html/fusion/sequences/views/transform_view.html +++ b/doc/html/fusion/sequences/views/transform_view.html @@ -3,63 +3,64 @@ transform_view - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - transform_view presents - a transformed view of its underlying sequence given a unary Polymorphic - Function Object. The transform_view + The unary version of transform_view + presents a view of its underlying sequence given a unary function object + or function pointer. The binary version of transform_view + presents a view of 2 underlying sequences, given a binary function object + or function pointer. The transform_view inherits the traversal characteristics (see Sequence - Traversal Concept) of its underlying sequence. + Traversal Concept) of its underlying sequence or sequences.

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

    - Unary Version + Unary Version

    -template <typename Sequence, typename F>
    +template <typename Sequence, typename F1>
     struct transform_view;
     

    - Binary Version + Binary Version

    -template <typename Sequence1, typename Sequence2, typename F>
    +template <typename Sequence1, typename Sequence2, typename F2>
     struct transform_view;
     
    - + Template parameters
    @@ -90,7 +91,7 @@

    - Sequence + Sequence

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

    - Sequence1 + Sequence1

    @@ -126,7 +127,7 @@

    - Sequence2 + Sequence2

    @@ -144,14 +145,35 @@

    - F + F1

    - A Polymorphic Function - Object + A unary function object or function pointer. boost::result_of<F1(E)>::type is the return type of an + instance of F1 + when called with a value of each element type E + in the input sequence. +

    + + +

    +

    + + + + +

    + F2 +

    + + +

    + A binary function object or function pointer. boost::result_of<F2(E1, + E2)>::type is the return type of an + instance of F2 + when called with a value of each corresponding pair of element + type E1 and E2 in the input sequences.

    @@ -162,7 +184,7 @@
    - + Model of
    • @@ -179,45 +201,49 @@

      Notation

      -
      TV
      -
      - A transform_view type -
      -
      BTV
      -
      - A binary transform_view - type -
      -
      UTV
      -
      - A unary transform_view - type -
      -
      f
      -
      - An instance of F -
      -
      s
      -
      - An instance of Sequence -
      -
      s1
      -
      - An instance of Sequence1 -
      -
      s2
      -
      - An instance of Sequence2 -
      -
      tv, - tv2
      -
      - Instances of transform_view -
      +
      TV
      +

      + A transform_view type +

      +
      BTV
      +

      + A binary transform_view + type +

      +
      UTV
      +

      + A unary transform_view + type +

      +
      f1
      +

      + An instance of F1 +

      +
      f2
      +

      + An instance of F2 +

      +
      s
      +

      + An instance of Sequence +

      +
      s1
      +

      + An instance of Sequence1 +

      +
      s2
      +

      + An instance of Sequence2 +

      +
      tv, + tv2
      +

      + Instances of transform_view +

      - + Expression Semantics
      @@ -231,7 +257,7 @@ Access Sequence">Random Access Sequence depending on the traversal characteristics (see Sequence Traversal - Concept) of its underlying sequence. + Concept) of its underlying sequence or sequences.

      @@ -254,83 +280,81 @@

      - UTV(s, - f) + UTV(s, + f1)

      - Creates a unary transform_view - given sequence, s - and unary Polymorphic - Function Object, f. + Creates a unary transform_view + given sequence, s + and unary function object or function pointer, f1.

      - BTV(s1, + BTV(s1, s2, - f) + f2)

      - Creates a binary transform_view - given sequences, s1 - and s2 and unary - Polymorphic Function - Object, f. + Creates a binary transform_view + given sequences, s1 + and s2 and binary + function object or function pointer, f2.

      - TV(tv) + TV(tv)

      - Copy constructs a transform_view - from another transform_view, - tv. + Copy constructs a transform_view + from another transform_view, + tv.

      - tv = - tv2 + tv = + tv2

      - Assigns to a transform_view, - tv, from another - transform_view, - tv2. + Assigns to a transform_view, + tv, from another + transform_view, + tv2.

      - + Example
       struct square
       {
      -    template <typename T>
      -    struct result
      -    {
      -        typedef T type;
      -    };
      +    template<typename Sig>
      +    struct result;
      +
      +    template<typename U>
      +    struct result<square(U)>
      +    : remove_reference<U>
      +    {};
       
           template <typename T>
           T operator()(T x) const
      @@ -339,7 +363,7 @@
           }
       };
       
      -typedef vector<int, short, double> vector_type;
      +typedef vector<int, short, double> vector_type;
       vector_type vec(2, 5, 3.3);
       
       transform_view<vector_type, square> transform(vec, square());
      @@ -353,7 +377,7 @@
       
       
      -PrevUpHomeNext +PrevUpHomeNext
      diff --git a/doc/html/fusion/sequences/views/zip_view.html b/doc/html/fusion/sequences/views/zip_view.html index a7b7e97d..866a7866 100644 --- a/doc/html/fusion/sequences/views/zip_view.html +++ b/doc/html/fusion/sequences/views/zip_view.html @@ -3,48 +3,48 @@ zip_view - + - +
      -
      Boost C++ Libraries Home Libraries People FAQ More
      +
      -PrevUpHomeNext +PrevUpHomeNext
      - + Description

      - zip_view presents a view + zip_view presents a view which iterates over a collection of _sequence_s - in parallel. A zip_view + in parallel. A zip_view is constructed from a Sequence of references to the component _sequence_s.

      - + Header
       #include <boost/fusion/sequence/view/zip_view.hpp>
       
      - + Synopsis
      @@ -52,7 +52,7 @@
       struct zip_view;
       
      - + Template parameters
      @@ -82,7 +82,7 @@

      - Sequences + Sequences

      @@ -99,7 +99,7 @@
      - + Model of
      • @@ -116,23 +116,23 @@

        Notation

        -
        ZV
        -
        - A joint_view type -
        -
        s
        -
        - An instance of Sequences -
        -
        zv1, - zv2
        -
        - Instances of ZV -
        +
        ZV
        +

        + A joint_view type +

        +
        s
        +

        + An instance of Sequences +

        +
        zv1, + zv2
        +

        + Instances of ZV +

        - + Expression Semantics
        @@ -163,12 +163,12 @@

        - ZV(s) + ZV(s)

        - Creates a zip_view + Creates a zip_view given a sequence of references to the component _sequence_s.

        @@ -176,44 +176,44 @@

        - ZV(zv1) + ZV(zv1)

        - Copy constructs a zip_view - from another zip_view, - zv. + Copy constructs a zip_view + from another zip_view, + zv.

        - zv1 = - zv2 + zv1 = + zv2

        - Assigns to a zip_view, - zv, from another - zip_view, zv2. + Assigns to a zip_view, + zv, from another + zip_view, zv2.

      - + Example
      -typedef vector<int,int> vec1;
      -typedef vector<char,char> vec2;
      +typedef vector<int,int> vec1;
      +typedef vector<char,char> vec2;
       vec1 v1(1,2);
       vec2 v2('a','b');
      -typedef vector<vec1&, vec2&> sequences;
      +typedef vector<vec1&, vec2&> sequences;
       std::cout << zip_view<sequences>(sequences(v1, v2)) << std::endl; // ((1 a) (2 b))
       
    @@ -224,7 +224,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/support.html b/doc/html/fusion/support.html index b81fb21c..06a56770 100644 --- a/doc/html/fusion/support.html +++ b/doc/html/fusion/support.html @@ -3,24 +3,24 @@ Support - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -45,7 +45,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/support/category_of.html b/doc/html/fusion/support/category_of.html index 97d9a6af..599c514b 100644 --- a/doc/html/fusion/support/category_of.html +++ b/doc/html/fusion/support/category_of.html @@ -3,30 +3,30 @@ category_of - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - + Description

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

    - + Synopsis

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

    - + Parameters

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

    - T + T

    @@ -95,7 +95,7 @@

    - + Expression Semantics

    @@ -103,7 +103,7 @@ typedef traits::category_of<T>::type category;

    - Return type: + Return type:

    For Iterators, the return type is derived from one of: @@ -157,24 +157,24 @@ }}

    - Semantics: Establishes the conceptual classification + Semantics: Establishes the conceptual classification of a particular Sequence or Iterator.

    - + Header

     #include <boost/fusion/support/category_of.hpp>
     

    - + Example

     using boost::is_base_of;
    -typedef traits::category_of<list<> >::type list_category;
    -typedef traits::category_of<vector<> >::type vector_category;
    +typedef traits::category_of<list<> >::type list_category;
    +typedef traits::category_of<vector<> >::type vector_category;
     BOOST_MPL_ASSERT(( is_base_of<forward_traversal_tag, list_category> ));
     BOOST_MPL_ASSERT(( is_base_of<random_access_traversal_tag, vector_category> ));
     
    @@ -186,7 +186,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/support/deduce.html b/doc/html/fusion/support/deduce.html index 3b1de522..4b7b035b 100644 --- a/doc/html/fusion/support/deduce.html +++ b/doc/html/fusion/support/deduce.html @@ -3,30 +3,30 @@ deduce - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - + Description

    @@ -34,19 +34,19 @@ conversion to the full argument type.

    - It removes references to const, - references to array types are kept, even if the array is const. - Reference wrappers are removed (see boost::ref). + It removes references to const, + references to array types are kept, even if the array is const. + Reference wrappers are removed (see boost::ref).

    - + Header

     #include <boost/fusion/support/deduce.hpp>
     

    - + Synopsis

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

    - + Example

    @@ -81,10 +81,10 @@
     }
     

    - + See also

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

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/support/deduce_sequence.html b/doc/html/fusion/support/deduce_sequence.html index 4fbb1200..c7423807 100644 --- a/doc/html/fusion/support/deduce_sequence.html +++ b/doc/html/fusion/support/deduce_sequence.html @@ -3,30 +3,30 @@ deduce_sequence - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - + Description

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

    - + Header

     #include <boost/fusion/support/deduce_sequence.hpp>
     

    - + Synopsis

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

    - + Example

    @@ -75,18 +75,18 @@
     };
     
     template <typename T0, typename T1>
    -holder< vector<T0 const &, T1 const &> > 
    +holder< vector<T0 const &, T1 const &> > 
     make_holder(T0 const & a0, T1 const & a1)
     {
    -    typedef vector<T0 const &, T1 const &> arg_vec_t;
    +    typedef vector<T0 const &, T1 const &> arg_vec_t;
         return holder<arg_vec_t>( arg_vec_t(a0,a1) ); 
     }
     

    - + See also

    - +
    @@ -95,7 +95,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/support/is_sequence.html b/doc/html/fusion/support/is_sequence.html index 4dc9736d..c2e96c86 100644 --- a/doc/html/fusion/support/is_sequence.html +++ b/doc/html/fusion/support/is_sequence.html @@ -3,41 +3,41 @@ is_sequence - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - + Description

    - Metafunction that evaluates to mpl::true_ - if a certain type T is a - conforming Fusion Sequence, mpl::false_ + Metafunction that evaluates to mpl::true_ + if a certain type T is a + conforming Fusion Sequence, mpl::false_ otherwise. This may be specialized to accomodate clients which provide Fusion conforming sequences.

    - + Synopsis

    @@ -51,7 +51,7 @@
     }
     

    - + Parameters

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

    - T + T

    @@ -96,7 +96,7 @@

    - + Expression Semantics

    @@ -104,33 +104,33 @@ typedef traits::is_sequence<T>::type c;

    - Return type: An MPL + Return type: An MPL Boolean Constant.

    - Semantics: Metafunction that evaluates to - mpl::true_ if a certain type T - is a conforming Fusion sequence, mpl::false_ + Semantics: Metafunction that evaluates to + mpl::true_ if a certain type T + is a conforming Fusion sequence, mpl::false_ otherwise.

    - + Header

     #include <boost/fusion/support/is_sequence.hpp>
     

    - + Example

     BOOST_MPL_ASSERT_NOT(( traits::is_sequence< std::vector<int> > ));
     BOOST_MPL_ASSERT_NOT(( is_sequence< int > ));
    -BOOST_MPL_ASSERT(( traits::is_sequence<list<> > ));
    -BOOST_MPL_ASSERT(( traits::is_sequence<list<int> > ));
    -BOOST_MPL_ASSERT(( traits::is_sequence<vector<> > ));
    -BOOST_MPL_ASSERT(( traits::is_sequence<vector<int> > ));
    +BOOST_MPL_ASSERT(( traits::is_sequence<list<> > ));
    +BOOST_MPL_ASSERT(( traits::is_sequence<list<int> > ));
    +BOOST_MPL_ASSERT(( traits::is_sequence<vector<> > ));
    +BOOST_MPL_ASSERT(( traits::is_sequence<vector<int> > ));
     
    @@ -140,7 +140,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/support/is_view.html b/doc/html/fusion/support/is_view.html index 90460c1a..9f245620 100644 --- a/doc/html/fusion/support/is_view.html +++ b/doc/html/fusion/support/is_view.html @@ -3,44 +3,44 @@ is_view - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - + Description

    - Metafunction that evaluates to mpl::true_ - if a certain type T is a - conforming Fusion View, mpl::false_ + Metafunction that evaluates to mpl::true_ + if a certain type T is a + conforming Fusion View, mpl::false_ otherwise. A view is a specialized sequence that does not actually contain data. Views hold sequences which may be other views. In general, views are held by other views by value, while non-views are held by other views by - reference. is_view may be + reference. is_view may be specialized to accomodate clients providing Fusion conforming views.

    - + Synopsis

    @@ -54,7 +54,7 @@
     }
     

    - + Parameters

    @@ -83,7 +83,7 @@

    - T + T

    @@ -99,31 +99,31 @@

    - + Expression Semantics

     typedef traits::is_view<T>::type c;
     

    - Return type: An MPL + Return type: An MPL Boolean Constant.

    - Semantics: Metafunction that evaluates to - mpl::true_ if a certain type T - is a conforming Fusion view, mpl::false_ + Semantics: Metafunction that evaluates to + mpl::true_ if a certain type T + is a conforming Fusion view, mpl::false_ otherwise.

    - + Header

     #include <boost/fusion/support/is_view.hpp>
     

    - + Example

    @@ -132,8 +132,8 @@
     
     using boost::mpl::_
     using boost::is_pointer;
    -typedef vector<int*, char, long*, bool, double> vector_type;
    -typedef filter_view<vector_type, is_pointer<_> > filter_view_type;
    +typedef vector<int*, char, long*, bool, double> vector_type;
    +typedef filter_view<vector_type, is_pointer<_> > filter_view_type;
     BOOST_MPL_ASSERT(( traits::is_view<filter_view_type> ));
     
    @@ -144,7 +144,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/support/pair.html b/doc/html/fusion/support/pair.html index 2ab835a5..92548e61 100644 --- a/doc/html/fusion/support/pair.html +++ b/doc/html/fusion/support/pair.html @@ -3,41 +3,41 @@ pair - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - + Description

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

    - + Synopsis

    @@ -61,7 +61,7 @@
     make_pair(Second const &);
     

    - + Template parameters

    @@ -111,36 +111,36 @@

    Notation

    -
    P
    -
    - Fusion pair type -
    -
    p, - p2
    -
    - Fusion pairs -
    -
    F, - S
    -
    - Arbitrary types -
    -
    s
    -
    - Value of type S -
    -
    o
    -
    - Output stream -
    -
    i
    -
    - Input stream -
    +
    P
    +

    + Fusion pair type +

    +
    p, + p2
    +

    + Fusion pairs +

    +
    F, + S
    +

    + Arbitrary types +

    +
    s
    +

    + Value of type S +

    +
    o
    +

    + Output stream +

    +
    i
    +

    + Input stream +

    - + Expression Semantics

    @@ -164,33 +164,33 @@ @@ -244,45 +244,45 @@

    - P::first_type + P::first_type

    - The type of the first template parameter, F, - equivalent to result_of::first<P>::type. + The type of the first template parameter, F, + equivalent to result_of::first<P>::type.

    - P::second_type + P::second_type

    - The type of the second template parameter, S, - equivalent to result_of::second<P>::type. + The type of the second template parameter, S, + equivalent to result_of::second<P>::type.

    - P() + P()

    @@ -202,37 +202,37 @@

    - P(s) + P(s)

    - Construct a pair given value for the second type, s. + Construct a pair given value for the second type, s.

    - P(p2) + P(p2)

    - Copy constructs a pair from another pair, p2. + Copy constructs a pair from another pair, p2.

    - p = - p2 + p = + p2

    - Assigns a pair, p1, from another pair, p2. + Assigns a pair, p1, from another pair, p2.

    - Make a pair given the first type, F, - and a value for the second type, s. - The second type assumes the type of s + Make a pair given the first type, F, + and a value for the second type, s. + The second type assumes the type of s

    - o << - p + o << + p

    - Output p to output - stream, o. + Output p to output + stream, o.

    - i >> - p + i >> + p

    - Input p from input - stream, i. + Input p from input + stream, i.

    - p == - p2 + p == + p2

    @@ -294,8 +294,8 @@

    - p != - p2 + p != + p2

    @@ -307,14 +307,14 @@

    - + Header

     #include <boost/fusion/support/pair.hpp>
     

    - + Example

    @@ -331,7 +331,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/support/tag_of.html b/doc/html/fusion/support/tag_of.html index 5a54227d..57404fd6 100644 --- a/doc/html/fusion/support/tag_of.html +++ b/doc/html/fusion/support/tag_of.html @@ -3,30 +3,30 @@ tag_of - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - + Description

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

    - + Synopsis

    @@ -54,7 +54,7 @@
     }
     

    - + Parameters

    @@ -83,7 +83,7 @@

    - T + T

    @@ -99,35 +99,35 @@

    - + Expression Semantics

     typedef traits::tag_of<T>::type tag;
     

    - Return type: Any type. + Return type: Any type.

    - Semantics: Returns the tag type associated - with T. + Semantics: Returns the tag type associated + with T.

    - + Header

     #include <boost/fusion/support/tag_of.hpp>
     

    - + Example

    -typedef traits::tag_of<list<> >::type tag1;
    -typedef traits::tag_of<list<int> >::type tag2;
    -typedef traits::tag_of<vector<> >::type tag3;
    -typedef traits::tag_of<vector<int> >::type tag4;
    +typedef traits::tag_of<list<> >::type tag1;
    +typedef traits::tag_of<list<int> >::type tag2;
    +typedef traits::tag_of<vector<> >::type tag3;
    +typedef traits::tag_of<vector<int> >::type tag4;
     
     BOOST_MPL_ASSERT((boost::is_same<tag1, tag2>));
     BOOST_MPL_ASSERT((boost::is_same<tag3, tag4>));
    @@ -140,7 +140,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/tuples.html b/doc/html/fusion/tuples.html index ad1d5d49..d6045ced 100644 --- a/doc/html/fusion/tuples.html +++ b/doc/html/fusion/tuples.html @@ -3,24 +3,24 @@ Tuples - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -43,12 +43,12 @@

    The TR1 technical report describes extensions to the C++ standard library. Many of these extensions will be considered for the next iteration of the C++ - standard. TR1 describes a tuple type, and support for treating std::pair + standard. TR1 describes a tuple type, and support for treating std::pair as a type of tuple.

    Fusion provides full support for the TR1 - Tuple interface, and the extended uses of std::pair described + Tuple interface, and the extended uses of std::pair described in the TR1 document.

    @@ -59,7 +59,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/tuples/class_template_tuple.html b/doc/html/fusion/tuples/class_template_tuple.html index 2401cb95..2ee19c9a 100644 --- a/doc/html/fusion/tuples/class_template_tuple.html +++ b/doc/html/fusion/tuples/class_template_tuple.html @@ -3,24 +3,24 @@ Class template tuple - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -44,11 +44,11 @@ beyond that required by TR1.

    - Currently tuple is basically a synonym for vector, although this may be changed + Currently tuple is basically a synonym for vector, although this may be changed in future releases of fusion.

    - + Synopsis

    @@ -60,7 +60,7 @@
     class tuple;
     

    - + Header

    @@ -74,7 +74,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/tuples/class_template_tuple/construction.html b/doc/html/fusion/tuples/class_template_tuple/construction.html index 97034129..5577f155 100644 --- a/doc/html/fusion/tuples/class_template_tuple/construction.html +++ b/doc/html/fusion/tuples/class_template_tuple/construction.html @@ -3,7 +3,7 @@ Construction - + @@ -11,23 +11,23 @@ creation functions"> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    @@ -38,82 +38,83 @@ in this section.

    - + Specification

    Notation

    -
    T1 - ... TN, - U1 ... - UN
    -
    - Tuple element types -
    -
    P1 - ... PN
    -
    - Parameter types -
    -
    Ti, - Ui
    -
    - The type of the ith element - of a tuple -
    -
    Pi
    -
    - The type of the ith parameter -
    +
    T1 + ... TN, + U1 ... + UN
    +

    + Tuple element types +

    +
    P1 + ... PN
    +

    + Parameter types +

    +
    Ti, + Ui
    +

    + The type of the ith + element of a tuple +

    +
    Pi
    +

    + The type of the ith + parameter +

     tuple();
     

    - Requirements: Each Ti + Requirements: Each Ti is default constructable.

    - Semantics: Default initializes each element + Semantics: Default initializes each element of the tuple.

     tuple(P1,P2,...,PN);
     

    - Requirements: Each Pi - is Ti if Ti is a reference type, const Ti& otherwise. + Requirements: Each Pi + is Ti if Ti is a reference type, const Ti& otherwise.

    - Semantics: Copy initializes each element + Semantics: Copy initializes each element with the corresponding parameter.

     tuple(const tuple& t);
     

    - Requirements: Each Ti + Requirements: Each Ti should be copy constructable.

    - Semantics: Copy constructs each element - of *this - with the corresponding element of t. + Semantics: Copy constructs each element + of *this + with the corresponding element of t.

     template<typename U1, typename U2, ..., typename UN>
     tuple(const tuple<U1, U2, ..., UN>& t);
     

    - Requirements: Each Ti - shall be constructible from the corresponding Ui. + Requirements: Each Ti + shall be constructible from the corresponding Ui.

    - Semantics: Constructs each element of - *this - with the corresponding element of t. + Semantics: Constructs each element of + *this + with the corresponding element of t.

    @@ -123,7 +124,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/tuples/class_template_tuple/element_access.html b/doc/html/fusion/tuples/class_template_tuple/element_access.html index 18529aa1..119585a2 100644 --- a/doc/html/fusion/tuples/class_template_tuple/element_access.html +++ b/doc/html/fusion/tuples/class_template_tuple/element_access.html @@ -4,7 +4,7 @@ Element access - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -31,16 +31,16 @@ access">Element access

    - + Description

    The TR1 - Tuple provides the get + Tuple provides the get function to provide access to it's elements by zero based numeric index.

    - + Specification
    @@ -48,38 +48,38 @@
     RJ get(T& t);
     

    - Requires: 0 + Requires: 0 < I - <= N. - The program is ill formed if I - is out of bounds. T is - any fusion sequence type, including tuple. + <= N. + The program is ill formed if I + is out of bounds. T is + any fusion sequence type, including tuple.

    - Return type: RJ - is equivalent to result_of::at_c<I,T>::type. + Return type: RJ + is equivalent to result_of::at_c<I,T>::type.

    - Returns: A reference to the Ith element of T. + Returns: A reference to the Ith element of T.

     template<int I, typename T>
     PJ get(T const& t);
     

    - Requires: 0 + Requires: 0 < I - <= N. - The program is ill formed if I - is out of bounds. T is - any fusion sequence type, including tuple. + <= N. + The program is ill formed if I + is out of bounds. T is + any fusion sequence type, including tuple.

    - Return type: PJ - is equivalent to result_of::at_c<I,T>::type. + Return type: PJ + is equivalent to result_of::at_c<I,T>::type.

    - Returns: A const reference to the Ith element of T. + Returns: A const reference to the Ith element of T.

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

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/tuples/class_template_tuple/relational_operators.html b/doc/html/fusion/tuples/class_template_tuple/relational_operators.html index 111cfefc..90d031bd 100644 --- a/doc/html/fusion/tuples/class_template_tuple/relational_operators.html +++ b/doc/html/fusion/tuples/class_template_tuple/relational_operators.html @@ -4,7 +4,7 @@ Relational operators - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -30,7 +30,7 @@ operators">Relational operators

    - + Description

    @@ -38,34 +38,35 @@ Tuple provides the standard boolean relational operators.

    - + Specification

    Notation

    -
    T1 - ... TN, - U1 ... - UN
    -
    - Tuple element types -
    -
    P1 - ... PN
    -
    - Parameter types -
    -
    Ti, - Ui
    -
    - The type of the ith element - of a tuple -
    -
    Pi
    -
    - The type of the ith parameter -
    +
    T1 + ... TN, + U1 ... + UN
    +

    + Tuple element types +

    +
    P1 + ... PN
    +

    + Parameter types +

    +
    Ti, + Ui
    +

    + The type of the ith + element of a tuple +

    +
    Pi
    +

    + The type of the ith + parameter +

    @@ -76,23 +77,23 @@
         const tuple<U1, U2, ..., UN>& rhs);
     

    - Requirements: For all i, - 1 <= + Requirements: For all i, + 1 <= i < - N, get<i>(lhs) == get<i>(rhs) - is a valid expression returning a type that is convertible to bool. + N, get<i>(lhs) == get<i>(rhs) + is a valid expression returning a type that is convertible to bool.

    - Semantics: Returns true - if and only if get<i>(lhs) == get<i>(rhs) - for all i. For any 2 zero - length tuples e and f, e - == f - returns true. + Semantics: Returns true + if and only if get<i>(lhs) == get<i>(rhs) + for all i. For any 2 zero + length tuples e and f, e + == f + returns true.

     template<typename T1, typename T2, ..., typename TN,
    @@ -102,18 +103,18 @@
         const tuple<U1, U2, ..., UN>& rhs);
     

    - Requirements: For all i, - 1 <= + Requirements: For all i, + 1 <= i < - N, get<i>(lhs) < get<i>(rhs) - is a valid expression returning a type that is convertible to bool. + N, get<i>(lhs) < get<i>(rhs) + is a valid expression returning a type that is convertible to bool.

    - Semantics: Returns the lexicographical - comparison of between lhs - and rhs. + Semantics: Returns the lexicographical + comparison of between lhs + and rhs.

     template<typename T1, typename T2, ..., typename TN,
    @@ -123,16 +124,16 @@
         const tuple<U1, U2, ..., UN>& rhs);
     

    - Requirements: For all i, - 1 <= + Requirements: For all i, + 1 <= i < - N, get<i>(lhs) == get<i>(rhs) - is a valid expression returning a type that is convertible to bool. + N, get<i>(lhs) == get<i>(rhs) + is a valid expression returning a type that is convertible to bool.

    - Semantics: Returns !(lhs == rhs). + Semantics: Returns !(lhs == rhs).

     template<typename T1, typename T2, ..., typename TN,
    @@ -142,16 +143,16 @@
         const tuple<U1, U2, ..., UN>& rhs);
     

    - Requirements: For all i, - 1 <= + Requirements: For all i, + 1 <= i < - N, get<i>(rhs) < get<i>(lhs) - is a valid expression returning a type that is convertible to bool. + N, get<i>(rhs) < get<i>(lhs) + is a valid expression returning a type that is convertible to bool.

    - Semantics: Returns !(rhs < lhs) + Semantics: Returns !(rhs < lhs)

     template<typename T1, typename T2, ..., typename TN,
    @@ -161,17 +162,17 @@
         const tuple<U1, U2, ..., UN>& rhs);
     

    - Requirements: For all i, - 1 <= + Requirements: For all i, + 1 <= i < - N, get<i>(rhs) < get<i>(lhs) - is a valid expression returning a type that is convertible to bool. + N, get<i>(rhs) < get<i>(lhs) + is a valid expression returning a type that is convertible to bool.

    - Semantics: Returns rhs - < lhs. + Semantics: Returns rhs + < lhs.

     template<typename T1, typename T2, ..., typename TN,
    @@ -181,16 +182,16 @@
         const tuple<U1, U2, ..., UN>& rhs);
     

    - Requirements: For all i, - 1 <= + Requirements: For all i, + 1 <= i < - N, get<i>(lhs) < get<i>(rhs) - is a valid expression returning a type that is convertible to bool. + N, get<i>(lhs) < get<i>(rhs) + is a valid expression returning a type that is convertible to bool.

    - Semantics: Returns !(lhs < rhs). + Semantics: Returns !(lhs < rhs).

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

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/tuples/class_template_tuple/tuple_creation_functions.html b/doc/html/fusion/tuples/class_template_tuple/tuple_creation_functions.html index 8dbf5f5f..814625bb 100644 --- a/doc/html/fusion/tuples/class_template_tuple/tuple_creation_functions.html +++ b/doc/html/fusion/tuples/class_template_tuple/tuple_creation_functions.html @@ -4,7 +4,7 @@ Tuple creation functions - + @@ -12,17 +12,17 @@ helper classes"> - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -30,17 +30,17 @@ creation functions">Tuple creation functions

    - + Description

    - TR1 describes 2 utility functions for creating _tr1tuple_s. make_tuple - builds a tuple out of it's argument list, and tie + TR1 describes 2 utility functions for creating _tr1tuple_s. make_tuple + builds a tuple out of it's argument list, and tie builds a tuple of references to it's arguments. The details of these creation functions are described in this section.

    - + Specification
    @@ -48,22 +48,22 @@
     tuple<V1, V2, ..., VN> make_tuple(const T1& t1, const T2& t2, ..., const TN& tn);
     

    - Where Vi is X& - if the cv-unqualified type Ti - is reference_wrapper<X>, - otherwise Vi is Ti. + Where Vi is X& + if the cv-unqualified type Ti + is reference_wrapper<X>, + otherwise Vi is Ti.

    - Returns: tuple<V1, V2, ..., VN>(t1, t2, ..., tN) + Returns: tuple<V1, V2, ..., VN>(t1, t2, ..., tN)

     template<typename T1, typename T2, ..., typename TN>
     tuple<T1&, T2&, ..., TN&> tie(T1& t1, T2& t2, ..., TN& tn);
     

    - Returns: tuple<T1&, T2&, ..., - TN&>(t1, t2, ..., tN). When argument ti - is ignore, assigning any + Returns: tuple<T1&, T2&, ..., + TN&>(t1, t2, ..., tN). When argument ti + is ignore, assigning any value to the corresponding tuple element has has no effect.

    @@ -74,7 +74,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/tuples/class_template_tuple/tuple_helper_classes.html b/doc/html/fusion/tuples/class_template_tuple/tuple_helper_classes.html index 331d8521..1bd436e1 100644 --- a/doc/html/fusion/tuples/class_template_tuple/tuple_helper_classes.html +++ b/doc/html/fusion/tuples/class_template_tuple/tuple_helper_classes.html @@ -4,7 +4,7 @@ Tuple helper classes - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    @@ -31,7 +31,7 @@ helper classes">Tuple helper classes

    - + Description

    @@ -40,38 +40,38 @@ tuple size, and the element types.

    - + Specification
     tuple_size<T>::value
     

    - Requires: T - is any fusion sequence type, including tuple. + Requires: T + is any fusion sequence type, including tuple.

    - Type: MPL + Type: MPL Integral Constant

    - Value: The number of elements in the sequence. - Equivalent to result_of::size<T>::type. + Value: The number of elements in the sequence. + Equivalent to result_of::size<T>::type.

     tuple_element<I, T>::type
     

    - Requires: T - is any fusion sequence type, including tuple. - 0 <= + Requires: T + is any fusion sequence type, including tuple. + 0 <= I < - N or the program is ill formed. + N or the program is ill formed.

    - Value: The type of the Ith - element of T. Equivalent - to result_of::value_at<I,T>::type. + Value: The type of the Ith + element of T. Equivalent + to result_of::value_at<I,T>::type.

    @@ -81,7 +81,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/tuples/pairs.html b/doc/html/fusion/tuples/pairs.html index dfe8badc..5060e796 100644 --- a/doc/html/fusion/tuples/pairs.html +++ b/doc/html/fusion/tuples/pairs.html @@ -3,7 +3,7 @@ Pairs - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -PrevUpHomeNext +PrevUpHomeNext

    - + Description

    The TR1 - Tuple interface is specified to provide uniform access to std::pair + Tuple interface is specified to provide uniform access to std::pair as if it were a 2 element tuple.

    - + Specification

     tuple_size<std::pair<T1, T2> >::value
     

    - Type: An MPL + Type: An MPL Integral Constant

    - Value: Returns 2, the number of elements + Value: Returns 2, the number of elements in a pair.

     tuple_element<0, std::pair<T1, T2> >::type
     

    - Type: T1 + Type: T1

    - Value: Returns the type of the first element + Value: Returns the type of the first element of the pair

     tuple_element<1, std::pair<T1, T2> >::type
     

    - Type: T2 + Type: T2

    - Value: Returns thetype of the second element + Value: Returns thetype of the second element of the pair

    @@ -78,21 +78,21 @@
     const P& get(const std::pair<T1, T2>& pr);
     

    - Type: If I - == 0 - P is T1, - else if I == - 1 P - is T2 else the program is + Type: If I + == 0 + P is T1, + else if I == + 1 P + is T2 else the program is ill-formed.

    - Returns: pr.first - if I == - 0 else pr.second.[*Returns: - pr.first if I - == 0 - else pr.second. + Returns: pr.first + if I == + 0 else pr.second.[*Returns: + pr.first if I + == 0 + else pr.second.

    @@ -102,7 +102,7 @@

    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/index.html b/doc/html/index.html index b9d501ba..7be69e34 100644 --- a/doc/html/index.html +++ b/doc/html/index.html @@ -3,21 +3,21 @@ Chapter 1. Fusion 2.0 - + - +
    -
    Boost C++ Libraries Home Libraries People FAQ More
    +
    -
    Next
    +
    Next

    @@ -25,7 +25,7 @@
    -

    +

    Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

    @@ -225,10 +225,10 @@
    - +

    Last revised: July 22, 2007 at 08:27:13 GMT

    Last revised: September 22, 2007 at 01:00:16 GMT


    -
    Next
    +
    Next
    diff --git a/doc/sequences.qbk b/doc/sequences.qbk index b8dea5a4..ae1ce0ea 100644 --- a/doc/sequences.qbk +++ b/doc/sequences.qbk @@ -1086,10 +1086,12 @@ defined in __forward_sequence__. [section transform_view] -`transform_view` presents a transformed view of its underlying sequence -given a unary __poly_func_obj__. The `transform_view` inherits the -traversal characteristics (see __traversal_concept__) of its underlying -sequence. +The unary version of `transform_view` presents a view of its underlying +sequence given a unary function object or function pointer. The binary +version of `transform_view` presents a view of 2 underlying sequences, +given a binary function object or function pointer. The `transform_view` +inherits the traversal characteristics (see __traversal_concept__) of +its underlying sequence or sequences. [heading Header] @@ -1099,12 +1101,12 @@ sequence. [*Unary Version] - template + template struct transform_view; [*Binary Version] - template + template struct transform_view; [heading Template parameters] @@ -1114,7 +1116,8 @@ sequence. [[`Sequence`] [A __forward_sequence__] []] [[`Sequence1`] [A __forward_sequence__] []] [[`Sequence2`] [A __forward_sequence__] []] - [[`F`] [A __poly_func_obj__] []] + [[`F1`] [A unary function object or function pointer. `__boost_result_of_call__::type` is the return type of an instance of `F1` when called with a value of each element type `E` in the input sequence.] []] + [[`F2`] [A binary function object or function pointer. `__boost_result_of_call__::type` is the return type of an instance of `F2` when called with a value of each corresponding pair of element type `E1` and `E2` in the input sequences.] []] ] [heading Model of] @@ -1127,7 +1130,8 @@ __traversal_concept__) of its underlying sequence. [[`TV`] [A `transform_view` type]] [[`BTV`] [A binary `transform_view` type]] [[`UTV`] [A unary `transform_view` type]] - [[`f`] [An instance of `F`]] + [[`f1`] [An instance of `F1`]] + [[`f2`] [An instance of `F2`]] [[`s`] [An instance of `Sequence`]] [[`s1`] [An instance of `Sequence1`]] [[`s2`] [An instance of `Sequence2`]] @@ -1139,14 +1143,14 @@ __traversal_concept__) of its underlying sequence. Semantics of an expression is defined only where it differs from, or is not defined in __forward_sequence__, __bidirectional_sequence__ or __random_access_sequence__ depending on the traversal characteristics (see -__traversal_concept__) of its underlying sequence. +__traversal_concept__) of its underlying sequence or sequences. [table [[Expression] [Semantics]] - [[`UTV(s, f)`] [Creates a unary `transform_view` given sequence, - `s` and unary __poly_func_obj__, `f`.]] - [[`BTV(s1, s2, f)`] [Creates a binary `transform_view` given sequences, `s1` and `s2` - and unary __poly_func_obj__, `f`.]] + [[`UTV(s, f1)`] [Creates a unary `transform_view` given sequence, + `s` and unary function object or function pointer, `f1`.]] + [[`BTV(s1, s2, f2)`] [Creates a binary `transform_view` given sequences, `s1` and `s2` + and binary function object or function pointer, `f2`.]] [[`TV(tv)`] [Copy constructs a `transform_view` from another `transform_view`, `tv`.]] [[`tv = tv2`] [Assigns to a `transform_view`, `tv`, from another `transform_view`, `tv2`.]] ] @@ -1155,11 +1159,13 @@ __traversal_concept__) of its underlying sequence. struct square { - template - struct result - { - typedef T type; - }; + template + struct result; + + template + struct result + : remove_reference + {}; template T operator()(T x) const diff --git a/example/cookbook/do_the_bind.cpp b/example/cookbook/do_the_bind.cpp index e63556a9..33772383 100644 --- a/example/cookbook/do_the_bind.cpp +++ b/example/cookbook/do_the_bind.cpp @@ -28,7 +28,7 @@ #include #include -#include +#include #include #include #include diff --git a/example/cookbook/fill_em_up.cpp b/example/cookbook/fill_em_up.cpp index c77c7b68..69576612 100644 --- a/example/cookbook/fill_em_up.cpp +++ b/example/cookbook/fill_em_up.cpp @@ -24,8 +24,8 @@ ==============================================================================*/ // We'll use these containers as examples -#include -#include +#include +#include // For doing I/O #include diff --git a/example/performance/accumulate.cpp b/example/performance/accumulate.cpp index 7d8f0a76..45aa1a11 100644 --- a/example/performance/accumulate.cpp +++ b/example/performance/accumulate.cpp @@ -10,10 +10,12 @@ #include #include -#include +#include #include #include -#include +#include + +#include #include #include @@ -75,14 +77,15 @@ namespace return result / iter; } - struct poly_add { + template + struct result; + template - struct result - { - typedef Lhs type; - }; + struct result + : boost::remove_reference + {}; template Lhs operator()(const Lhs& lhs, const Rhs& rhs) const @@ -93,11 +96,13 @@ namespace struct poly_mult { + template + struct result; + template - struct result - { - typedef Lhs type; - }; + struct result + : boost::remove_reference + {}; template Lhs operator()(const Lhs& lhs, const Rhs& rhs) const diff --git a/example/performance/functional.cpp b/example/performance/functional.cpp index 228586eb..e16d764d 100644 --- a/example/performance/functional.cpp +++ b/example/performance/functional.cpp @@ -7,14 +7,14 @@ http://www.boost.org/LICENSE_1_0.txt). ==============================================================================*/ -#include -#include +#include +#include #include #include #include #include -#include +#include #include #include #include @@ -264,12 +264,6 @@ int main() std::cout << "without random access " << call_fused(f,res) << std::endl; total += res; } - { - typedef boost::fusion::vector s; - boost::fusion::unfused_typed f; - std::cout << "unfused_typed " << call_unfused(f,res) << std::endl; - total += res; - } { boost::fusion::unfused_rvalue_args f; std::cout << "unfused_rvalue_args " << call_unfused(f,res) << std::endl; @@ -296,13 +290,6 @@ int main() std::cout << "without random access " << call_fused(f,res) << std::endl; total += res; } - std::cout << std::endl << "Loopback:" << std::endl; - { - typedef boost::fusion::vector s; - boost::fusion::unfused_typed< boost::fusion::fused_function_object, s > f; - std::cout << "unfused_typed,s > " << call_unfused(f,res) << std::endl; - total += res; - } { boost::fusion::unfused_rvalue_args< boost::fusion::fused_function_object > f; std::cout << "unfused_rvalue_args > " << call_unfused(f,res) << std::endl; diff --git a/example/performance/inner_product.cpp b/example/performance/inner_product.cpp index 8257921d..9b9937eb 100644 --- a/example/performance/inner_product.cpp +++ b/example/performance/inner_product.cpp @@ -10,12 +10,14 @@ #include #include -#include +#include #include #include -#include +#include #include +#include + #include #include #include @@ -37,11 +39,13 @@ namespace { struct poly_add { + template + struct result; + template - struct result - { - typedef Lhs type; - }; + struct result + : boost::remove_reference + {}; template Lhs operator()(const Lhs& lhs, const Rhs& rhs) const @@ -52,11 +56,13 @@ namespace struct poly_mult { + template + struct result; + template - struct result - { - typedef Lhs type; - }; + struct result + : boost::remove_reference + {}; template Lhs operator()(const Lhs& lhs, const Rhs& rhs) const diff --git a/example/performance/inner_product2.cpp b/example/performance/inner_product2.cpp index b831b219..3e952c07 100644 --- a/example/performance/inner_product2.cpp +++ b/example/performance/inner_product2.cpp @@ -10,12 +10,14 @@ #include #include -#include +#include #include #include -#include +#include #include +#include + #include #include #include @@ -37,11 +39,13 @@ namespace { struct poly_add { + template + struct result; + template - struct result - { - typedef Lhs type; - }; + struct result + : boost::remove_reference + {}; template Lhs operator()(const Lhs& lhs, const Rhs& rhs) const @@ -52,11 +56,13 @@ namespace struct poly_mult { + template + struct result; + template - struct result - { - typedef Lhs type; - }; + struct result + : boost::remove_reference + {}; template Lhs operator()(const Lhs& lhs, const Rhs& rhs) const @@ -110,14 +116,16 @@ namespace struct poly_combine { + template + struct result; + template - struct result - { - typedef Rhs type; - }; + struct result + : boost::remove_reference + {}; template - typename result::type + typename result::type operator()(const Lhs& lhs, const Rhs& rhs) const { return rhs + boost::fusion::at_c<0>(lhs) * boost::fusion::at_c<1>(lhs); diff --git a/example/performance/sequence_efficiency.cpp b/example/performance/sequence_efficiency.cpp index 6a24f74f..28b5ec82 100644 --- a/example/performance/sequence_efficiency.cpp +++ b/example/performance/sequence_efficiency.cpp @@ -10,8 +10,10 @@ #define FUSION_MAX_VECTOR_SIZE 30 #include -#include -#include +#include +#include + +#include #include #include @@ -59,11 +61,13 @@ namespace { struct poly_add { + template + struct result; + template - struct result - { - typedef Lhs type; - }; + struct result + : boost::remove_reference + {}; template Lhs operator()(const Lhs& lhs, const Rhs& rhs) const diff --git a/example/performance/zip_efficiency.cpp b/example/performance/zip_efficiency.cpp index c8132c74..36ded283 100644 --- a/example/performance/zip_efficiency.cpp +++ b/example/performance/zip_efficiency.cpp @@ -10,7 +10,7 @@ #include #include -#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/adapted.hpp b/include/boost/fusion/adapted.hpp similarity index 65% rename from include/boost/fusion/sequence/adapted.hpp rename to include/boost/fusion/adapted.hpp index ea951f19..23693645 100644 --- a/include/boost/fusion/sequence/adapted.hpp +++ b/include/boost/fusion/adapted.hpp @@ -8,10 +8,10 @@ #if !defined(BOOST_FUSION_ADAPTED_30122005_1420) #define BOOST_FUSION_ADAPTED_30122005_1420 -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #endif diff --git a/include/boost/fusion/adapted/array.hpp b/include/boost/fusion/adapted/array.hpp new file mode 100644 index 00000000..2be9d4ba --- /dev/null +++ b/include/boost/fusion/adapted/array.hpp @@ -0,0 +1,22 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_ARRAY_27122005_1035) +#define BOOST_FUSION_ARRAY_27122005_1035 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/include/boost/fusion/sequence/adapted/array/array_iterator.hpp b/include/boost/fusion/adapted/array/array_iterator.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/array/array_iterator.hpp rename to include/boost/fusion/adapted/array/array_iterator.hpp diff --git a/include/boost/fusion/sequence/adapted/array/detail/at_impl.hpp b/include/boost/fusion/adapted/array/detail/at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/array/detail/at_impl.hpp rename to include/boost/fusion/adapted/array/detail/at_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/array/detail/begin_impl.hpp b/include/boost/fusion/adapted/array/detail/begin_impl.hpp similarity index 94% rename from include/boost/fusion/sequence/adapted/array/detail/begin_impl.hpp rename to include/boost/fusion/adapted/array/detail/begin_impl.hpp index fc4fb6a3..06dc8c51 100644 --- a/include/boost/fusion/sequence/adapted/array/detail/begin_impl.hpp +++ b/include/boost/fusion/adapted/array/detail/begin_impl.hpp @@ -8,7 +8,7 @@ #if !defined(BOOST_FUSION_BEGIN_IMPL_27122005_1117) #define BOOST_FUSION_BEGIN_IMPL_27122005_1117 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/adapted/array/detail/category_of_impl.hpp b/include/boost/fusion/adapted/array/detail/category_of_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/array/detail/category_of_impl.hpp rename to include/boost/fusion/adapted/array/detail/category_of_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/array/detail/end_impl.hpp b/include/boost/fusion/adapted/array/detail/end_impl.hpp similarity index 94% rename from include/boost/fusion/sequence/adapted/array/detail/end_impl.hpp rename to include/boost/fusion/adapted/array/detail/end_impl.hpp index a3ffbed4..c9432c9b 100644 --- a/include/boost/fusion/sequence/adapted/array/detail/end_impl.hpp +++ b/include/boost/fusion/adapted/array/detail/end_impl.hpp @@ -8,7 +8,7 @@ #if !defined(BOOST_FUSION_END_IMPL_27122005_1120) #define BOOST_FUSION_END_IMPL_27122005_1120 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/adapted/array/detail/is_sequence_impl.hpp b/include/boost/fusion/adapted/array/detail/is_sequence_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/array/detail/is_sequence_impl.hpp rename to include/boost/fusion/adapted/array/detail/is_sequence_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/array/detail/is_view_impl.hpp b/include/boost/fusion/adapted/array/detail/is_view_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/array/detail/is_view_impl.hpp rename to include/boost/fusion/adapted/array/detail/is_view_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/array/detail/size_impl.hpp b/include/boost/fusion/adapted/array/detail/size_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/array/detail/size_impl.hpp rename to include/boost/fusion/adapted/array/detail/size_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/array/detail/value_at_impl.hpp b/include/boost/fusion/adapted/array/detail/value_at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/array/detail/value_at_impl.hpp rename to include/boost/fusion/adapted/array/detail/value_at_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/array/tag_of.hpp b/include/boost/fusion/adapted/array/tag_of.hpp similarity index 88% rename from include/boost/fusion/sequence/adapted/array/tag_of.hpp rename to include/boost/fusion/adapted/array/tag_of.hpp index 96f6d35c..d858e5ab 100644 --- a/include/boost/fusion/sequence/adapted/array/tag_of.hpp +++ b/include/boost/fusion/adapted/array/tag_of.hpp @@ -25,7 +25,11 @@ namespace boost { namespace fusion namespace traits { template +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + struct tag_of, void > +#else struct tag_of > +#endif { typedef array_tag type; }; diff --git a/include/boost/fusion/adapted/boost_tuple.hpp b/include/boost/fusion/adapted/boost_tuple.hpp new file mode 100644 index 00000000..2924df07 --- /dev/null +++ b/include/boost/fusion/adapted/boost_tuple.hpp @@ -0,0 +1,20 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_BOOST_TUPLE_09272006_0732) +#define BOOST_FUSION_BOOST_TUPLE_09272006_0732 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/include/boost/fusion/sequence/adapted/boost_tuple/boost_tuple_iterator.hpp b/include/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp similarity index 69% rename from include/boost/fusion/sequence/adapted/boost_tuple/boost_tuple_iterator.hpp rename to include/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp index f92ef8b6..fca135e5 100644 --- a/include/boost/fusion/sequence/adapted/boost_tuple/boost_tuple_iterator.hpp +++ b/include/boost/fusion/adapted/boost_tuple/boost_tuple_iterator.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_BOOST_TUPLE_ITERATOR_09262006_1851) @@ -13,12 +13,31 @@ #include #include #include +#include #include namespace boost { namespace fusion { struct forward_traversal_tag; + namespace detail + { + template + struct boost_tuple_is_empty : mpl::false_ {}; + + template <> + struct boost_tuple_is_empty : mpl::true_ {}; + + template <> + struct boost_tuple_is_empty : mpl::true_ {}; + + template <> + struct boost_tuple_is_empty > : mpl::true_ {}; + + template <> + struct boost_tuple_is_empty const> : mpl::true_ {}; + } + template struct boost_tuple_iterator : iterator_facade, forward_traversal_tag> @@ -36,13 +55,13 @@ namespace boost { namespace fusion struct deref { typedef typename value_of::type element; - - typedef typename + + typedef typename mpl::if_< is_const , typename tuples::access_traits::const_type , typename tuples::access_traits::non_const_type - >::type + >::type type; static type @@ -74,9 +93,27 @@ namespace boost { namespace fusion }; }; + template + struct boost_tuple_null_iterator + : iterator_facade, forward_traversal_tag> + { + typedef Null cons_type; + + template + struct equal_to + : mpl::or_< + is_same + , mpl::and_< + detail::boost_tuple_is_empty + , detail::boost_tuple_is_empty + > + > + {}; + }; + template <> struct boost_tuple_iterator - : iterator_facade, forward_traversal_tag> + : boost_tuple_null_iterator { template explicit boost_tuple_iterator(Cons const&) {} @@ -84,7 +121,7 @@ namespace boost { namespace fusion template <> struct boost_tuple_iterator - : iterator_facade, forward_traversal_tag> + : boost_tuple_null_iterator { template explicit boost_tuple_iterator(Cons const&) {} @@ -92,7 +129,7 @@ namespace boost { namespace fusion template <> struct boost_tuple_iterator > - : iterator_facade >, forward_traversal_tag> + : boost_tuple_null_iterator > { template explicit boost_tuple_iterator(Cons const&) {} @@ -100,7 +137,7 @@ namespace boost { namespace fusion template <> struct boost_tuple_iterator const> - : iterator_facade const>, forward_traversal_tag> + : boost_tuple_null_iterator const> { template explicit boost_tuple_iterator(Cons const&) {} diff --git a/include/boost/fusion/sequence/adapted/boost_tuple/detail/at_impl.hpp b/include/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/boost_tuple/detail/at_impl.hpp rename to include/boost/fusion/adapted/boost_tuple/detail/at_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/boost_tuple/detail/begin_impl.hpp b/include/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp similarity index 92% rename from include/boost/fusion/sequence/adapted/boost_tuple/detail/begin_impl.hpp rename to include/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp index aaa6a670..ee9a89eb 100644 --- a/include/boost/fusion/sequence/adapted/boost_tuple/detail/begin_impl.hpp +++ b/include/boost/fusion/adapted/boost_tuple/detail/begin_impl.hpp @@ -7,7 +7,7 @@ #if !defined(BOOST_FUSION_BEGIN_IMPL_09272006_0719) #define BOOST_FUSION_BEGIN_IMPL_09272006_0719 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/adapted/boost_tuple/detail/category_of_impl.hpp b/include/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/boost_tuple/detail/category_of_impl.hpp rename to include/boost/fusion/adapted/boost_tuple/detail/category_of_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/boost_tuple/detail/end_impl.hpp b/include/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp similarity index 94% rename from include/boost/fusion/sequence/adapted/boost_tuple/detail/end_impl.hpp rename to include/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp index 016bca3f..2fb27a7a 100644 --- a/include/boost/fusion/sequence/adapted/boost_tuple/detail/end_impl.hpp +++ b/include/boost/fusion/adapted/boost_tuple/detail/end_impl.hpp @@ -7,7 +7,7 @@ #if !defined(BOOST_FUSION_END_IMPL_09272006_0721) #define BOOST_FUSION_END_IMPL_09272006_0721 -#include +#include #include #include diff --git a/include/boost/fusion/sequence/adapted/boost_tuple/detail/is_sequence_impl.hpp b/include/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/boost_tuple/detail/is_sequence_impl.hpp rename to include/boost/fusion/adapted/boost_tuple/detail/is_sequence_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/boost_tuple/detail/is_view_impl.hpp b/include/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/boost_tuple/detail/is_view_impl.hpp rename to include/boost/fusion/adapted/boost_tuple/detail/is_view_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/boost_tuple/detail/size_impl.hpp b/include/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/boost_tuple/detail/size_impl.hpp rename to include/boost/fusion/adapted/boost_tuple/detail/size_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/boost_tuple/detail/value_at_impl.hpp b/include/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/boost_tuple/detail/value_at_impl.hpp rename to include/boost/fusion/adapted/boost_tuple/detail/value_at_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/boost_tuple/tag_of.hpp b/include/boost/fusion/adapted/boost_tuple/tag_of.hpp similarity index 84% rename from include/boost/fusion/sequence/adapted/boost_tuple/tag_of.hpp rename to include/boost/fusion/adapted/boost_tuple/tag_of.hpp index a1a27aa7..0ce87086 100644 --- a/include/boost/fusion/sequence/adapted/boost_tuple/tag_of.hpp +++ b/include/boost/fusion/adapted/boost_tuple/tag_of.hpp @@ -33,13 +33,21 @@ namespace boost { namespace fusion class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9 > +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + struct tag_of, void > +#else struct tag_of > +#endif { typedef boost_tuple_tag type; }; template +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + struct tag_of, void > +#else struct tag_of > +#endif { typedef boost_tuple_tag type; }; diff --git a/include/boost/fusion/adapted/mpl.hpp b/include/boost/fusion/adapted/mpl.hpp new file mode 100644 index 00000000..f8257846 --- /dev/null +++ b/include/boost/fusion/adapted/mpl.hpp @@ -0,0 +1,21 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_MPL_31122005_1152) +#define BOOST_FUSION_MPL_31122005_1152 + +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/include/boost/fusion/sequence/adapted/mpl/detail/at_impl.hpp b/include/boost/fusion/adapted/mpl/detail/at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/mpl/detail/at_impl.hpp rename to include/boost/fusion/adapted/mpl/detail/at_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/mpl/detail/begin_impl.hpp b/include/boost/fusion/adapted/mpl/detail/begin_impl.hpp similarity index 95% rename from include/boost/fusion/sequence/adapted/mpl/detail/begin_impl.hpp rename to include/boost/fusion/adapted/mpl/detail/begin_impl.hpp index 04e09e44..1ec77d8b 100644 --- a/include/boost/fusion/sequence/adapted/mpl/detail/begin_impl.hpp +++ b/include/boost/fusion/adapted/mpl/detail/begin_impl.hpp @@ -8,7 +8,7 @@ #if !defined(BOOST_FUSION_BEGIN_IMPL_31122005_1209) #define BOOST_FUSION_BEGIN_IMPL_31122005_1209 -#include +#include #include #include diff --git a/include/boost/fusion/sequence/adapted/mpl/detail/category_of_impl.hpp b/include/boost/fusion/adapted/mpl/detail/category_of_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/mpl/detail/category_of_impl.hpp rename to include/boost/fusion/adapted/mpl/detail/category_of_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/mpl/detail/empty_impl.hpp b/include/boost/fusion/adapted/mpl/detail/empty_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/mpl/detail/empty_impl.hpp rename to include/boost/fusion/adapted/mpl/detail/empty_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/mpl/detail/end_impl.hpp b/include/boost/fusion/adapted/mpl/detail/end_impl.hpp similarity index 95% rename from include/boost/fusion/sequence/adapted/mpl/detail/end_impl.hpp rename to include/boost/fusion/adapted/mpl/detail/end_impl.hpp index 6b3d7933..e3466956 100644 --- a/include/boost/fusion/sequence/adapted/mpl/detail/end_impl.hpp +++ b/include/boost/fusion/adapted/mpl/detail/end_impl.hpp @@ -8,7 +8,7 @@ #if !defined(BOOST_FUSION_END_IMPL_31122005_1237) #define BOOST_FUSION_END_IMPL_31122005_1237 -#include +#include #include #include diff --git a/include/boost/fusion/sequence/adapted/mpl/detail/has_key_impl.hpp b/include/boost/fusion/adapted/mpl/detail/has_key_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/mpl/detail/has_key_impl.hpp rename to include/boost/fusion/adapted/mpl/detail/has_key_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/mpl/detail/is_sequence_impl.hpp b/include/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/mpl/detail/is_sequence_impl.hpp rename to include/boost/fusion/adapted/mpl/detail/is_sequence_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/mpl/detail/is_view_impl.hpp b/include/boost/fusion/adapted/mpl/detail/is_view_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/mpl/detail/is_view_impl.hpp rename to include/boost/fusion/adapted/mpl/detail/is_view_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/mpl/detail/size_impl.hpp b/include/boost/fusion/adapted/mpl/detail/size_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/mpl/detail/size_impl.hpp rename to include/boost/fusion/adapted/mpl/detail/size_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/mpl/detail/value_at_impl.hpp b/include/boost/fusion/adapted/mpl/detail/value_at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/mpl/detail/value_at_impl.hpp rename to include/boost/fusion/adapted/mpl/detail/value_at_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp b/include/boost/fusion/adapted/mpl/mpl_iterator.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/mpl/mpl_iterator.hpp rename to include/boost/fusion/adapted/mpl/mpl_iterator.hpp diff --git a/include/boost/fusion/sequence/adapted/std_pair.hpp b/include/boost/fusion/adapted/std_pair.hpp similarity index 91% rename from include/boost/fusion/sequence/adapted/std_pair.hpp rename to include/boost/fusion/adapted/std_pair.hpp index 0b755a0b..ec0905de 100644 --- a/include/boost/fusion/sequence/adapted/std_pair.hpp +++ b/include/boost/fusion/adapted/std_pair.hpp @@ -9,7 +9,7 @@ #define BOOST_FUSION_STD_PAIR_24122005_1744 #include -#include +#include #include #include @@ -20,7 +20,11 @@ namespace boost { namespace fusion namespace traits { template +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + struct tag_of, void > +#else struct tag_of > +#endif { typedef struct_tag type; }; diff --git a/include/boost/fusion/sequence/adapted/std_pair/detail/at_impl.hpp b/include/boost/fusion/adapted/std_pair/detail/at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/std_pair/detail/at_impl.hpp rename to include/boost/fusion/adapted/std_pair/detail/at_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/std_pair/detail/begin_impl.hpp b/include/boost/fusion/adapted/std_pair/detail/begin_impl.hpp similarity index 93% rename from include/boost/fusion/sequence/adapted/std_pair/detail/begin_impl.hpp rename to include/boost/fusion/adapted/std_pair/detail/begin_impl.hpp index 1b77b7a7..1fd48f51 100644 --- a/include/boost/fusion/sequence/adapted/std_pair/detail/begin_impl.hpp +++ b/include/boost/fusion/adapted/std_pair/detail/begin_impl.hpp @@ -8,7 +8,7 @@ #if !defined(BOOST_FUSION_BEGIN_IMPL_24122005_1752) #define BOOST_FUSION_BEGIN_IMPL_24122005_1752 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/adapted/std_pair/detail/category_of_impl.hpp b/include/boost/fusion/adapted/std_pair/detail/category_of_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/std_pair/detail/category_of_impl.hpp rename to include/boost/fusion/adapted/std_pair/detail/category_of_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/std_pair/detail/end_impl.hpp b/include/boost/fusion/adapted/std_pair/detail/end_impl.hpp similarity index 93% rename from include/boost/fusion/sequence/adapted/std_pair/detail/end_impl.hpp rename to include/boost/fusion/adapted/std_pair/detail/end_impl.hpp index 9aab76c5..747f2c6f 100644 --- a/include/boost/fusion/sequence/adapted/std_pair/detail/end_impl.hpp +++ b/include/boost/fusion/adapted/std_pair/detail/end_impl.hpp @@ -8,7 +8,7 @@ #if !defined(BOOST_FUSION_END_IMPL_24122005_1755) #define BOOST_FUSION_END_IMPL_24122005_1755 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/adapted/std_pair/detail/is_sequence_impl.hpp b/include/boost/fusion/adapted/std_pair/detail/is_sequence_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/std_pair/detail/is_sequence_impl.hpp rename to include/boost/fusion/adapted/std_pair/detail/is_sequence_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/std_pair/detail/is_view_impl.hpp b/include/boost/fusion/adapted/std_pair/detail/is_view_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/std_pair/detail/is_view_impl.hpp rename to include/boost/fusion/adapted/std_pair/detail/is_view_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/std_pair/detail/size_impl.hpp b/include/boost/fusion/adapted/std_pair/detail/size_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/std_pair/detail/size_impl.hpp rename to include/boost/fusion/adapted/std_pair/detail/size_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/std_pair/detail/value_at_impl.hpp b/include/boost/fusion/adapted/std_pair/detail/value_at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/std_pair/detail/value_at_impl.hpp rename to include/boost/fusion/adapted/std_pair/detail/value_at_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/std_pair/std_pair_iterator.hpp b/include/boost/fusion/adapted/std_pair/std_pair_iterator.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/std_pair/std_pair_iterator.hpp rename to include/boost/fusion/adapted/std_pair/std_pair_iterator.hpp diff --git a/include/boost/fusion/sequence/adapted/std_pair/tag_of.hpp b/include/boost/fusion/adapted/std_pair/tag_of.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/std_pair/tag_of.hpp rename to include/boost/fusion/adapted/std_pair/tag_of.hpp diff --git a/include/boost/fusion/adapted/struct.hpp b/include/boost/fusion/adapted/struct.hpp new file mode 100644 index 00000000..4b36f179 --- /dev/null +++ b/include/boost/fusion/adapted/struct.hpp @@ -0,0 +1,23 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_STRUCT_24122005_1744) +#define BOOST_FUSION_STD_STRUCT_24122005_1744 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/include/boost/fusion/sequence/adapted/struct/adapt_assoc_struct.hpp b/include/boost/fusion/adapted/struct/adapt_assoc_struct.hpp similarity index 83% rename from include/boost/fusion/sequence/adapted/struct/adapt_assoc_struct.hpp rename to include/boost/fusion/adapted/struct/adapt_assoc_struct.hpp index 44357c00..e621187f 100644 --- a/include/boost/fusion/sequence/adapted/struct/adapt_assoc_struct.hpp +++ b/include/boost/fusion/adapted/struct/adapt_assoc_struct.hpp @@ -9,19 +9,19 @@ #define BOOST_FUSION_ADAPT_ASSOC_STRUCT_20070508_2207 #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/include/boost/fusion/sequence/adapted/struct/adapt_struct.hpp b/include/boost/fusion/adapted/struct/adapt_struct.hpp similarity index 84% rename from include/boost/fusion/sequence/adapted/struct/adapt_struct.hpp rename to include/boost/fusion/adapted/struct/adapt_struct.hpp index 38d03edb..e8eb6a67 100644 --- a/include/boost/fusion/sequence/adapted/struct/adapt_struct.hpp +++ b/include/boost/fusion/adapted/struct/adapt_struct.hpp @@ -8,16 +8,16 @@ #define BOOST_FUSION_ADAPT_STRUCT_APRIL_2_2007_1158AM #include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/include/boost/fusion/sequence/adapted/struct/detail/at_impl.hpp b/include/boost/fusion/adapted/struct/detail/at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/struct/detail/at_impl.hpp rename to include/boost/fusion/adapted/struct/detail/at_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/struct/detail/at_key_impl.hpp b/include/boost/fusion/adapted/struct/detail/at_key_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/struct/detail/at_key_impl.hpp rename to include/boost/fusion/adapted/struct/detail/at_key_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/struct/detail/begin_impl.hpp b/include/boost/fusion/adapted/struct/detail/begin_impl.hpp similarity index 93% rename from include/boost/fusion/sequence/adapted/struct/detail/begin_impl.hpp rename to include/boost/fusion/adapted/struct/detail/begin_impl.hpp index 14817726..bf5a00bc 100644 --- a/include/boost/fusion/sequence/adapted/struct/detail/begin_impl.hpp +++ b/include/boost/fusion/adapted/struct/detail/begin_impl.hpp @@ -8,7 +8,7 @@ #if !defined(BOOST_FUSION_BEGIN_IMPL_24122005_1752) #define BOOST_FUSION_BEGIN_IMPL_24122005_1752 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/adapted/struct/detail/category_of_impl.hpp b/include/boost/fusion/adapted/struct/detail/category_of_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/struct/detail/category_of_impl.hpp rename to include/boost/fusion/adapted/struct/detail/category_of_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/struct/detail/end_impl.hpp b/include/boost/fusion/adapted/struct/detail/end_impl.hpp similarity index 93% rename from include/boost/fusion/sequence/adapted/struct/detail/end_impl.hpp rename to include/boost/fusion/adapted/struct/detail/end_impl.hpp index 91830cea..42d7f394 100644 --- a/include/boost/fusion/sequence/adapted/struct/detail/end_impl.hpp +++ b/include/boost/fusion/adapted/struct/detail/end_impl.hpp @@ -8,7 +8,7 @@ #if !defined(BOOST_FUSION_END_IMPL_24122005_1755) #define BOOST_FUSION_END_IMPL_24122005_1755 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/adapted/struct/detail/has_key_impl.hpp b/include/boost/fusion/adapted/struct/detail/has_key_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/struct/detail/has_key_impl.hpp rename to include/boost/fusion/adapted/struct/detail/has_key_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/struct/detail/is_sequence_impl.hpp b/include/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/struct/detail/is_sequence_impl.hpp rename to include/boost/fusion/adapted/struct/detail/is_sequence_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/struct/detail/is_view_impl.hpp b/include/boost/fusion/adapted/struct/detail/is_view_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/struct/detail/is_view_impl.hpp rename to include/boost/fusion/adapted/struct/detail/is_view_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/struct/detail/size_impl.hpp b/include/boost/fusion/adapted/struct/detail/size_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/struct/detail/size_impl.hpp rename to include/boost/fusion/adapted/struct/detail/size_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/struct/detail/value_at_impl.hpp b/include/boost/fusion/adapted/struct/detail/value_at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/struct/detail/value_at_impl.hpp rename to include/boost/fusion/adapted/struct/detail/value_at_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/struct/detail/value_at_key_impl.hpp b/include/boost/fusion/adapted/struct/detail/value_at_key_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/struct/detail/value_at_key_impl.hpp rename to include/boost/fusion/adapted/struct/detail/value_at_key_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/struct/extension.hpp b/include/boost/fusion/adapted/struct/extension.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/struct/extension.hpp rename to include/boost/fusion/adapted/struct/extension.hpp diff --git a/include/boost/fusion/sequence/adapted/struct/struct_iterator.hpp b/include/boost/fusion/adapted/struct/struct_iterator.hpp similarity index 97% rename from include/boost/fusion/sequence/adapted/struct/struct_iterator.hpp rename to include/boost/fusion/adapted/struct/struct_iterator.hpp index b00251bb..caea895b 100644 --- a/include/boost/fusion/sequence/adapted/struct/struct_iterator.hpp +++ b/include/boost/fusion/adapted/struct/struct_iterator.hpp @@ -9,7 +9,7 @@ #define FUSION_STRUCT_ITERATOR_APRIL_2_2007_1008AM #include -#include +#include #include #include #include diff --git a/include/boost/fusion/adapted/variant.hpp b/include/boost/fusion/adapted/variant.hpp new file mode 100644 index 00000000..5e711c17 --- /dev/null +++ b/include/boost/fusion/adapted/variant.hpp @@ -0,0 +1,20 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(BOOST_FUSION_VARIANT_12112006_1614) +#define BOOST_FUSION_VARIANT_12112006_1614 + +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/include/boost/fusion/sequence/adapted/variant/detail/begin_impl.hpp b/include/boost/fusion/adapted/variant/detail/begin_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/variant/detail/begin_impl.hpp rename to include/boost/fusion/adapted/variant/detail/begin_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/variant/detail/category_of_impl.hpp b/include/boost/fusion/adapted/variant/detail/category_of_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/variant/detail/category_of_impl.hpp rename to include/boost/fusion/adapted/variant/detail/category_of_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/variant/detail/end_impl.hpp b/include/boost/fusion/adapted/variant/detail/end_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/variant/detail/end_impl.hpp rename to include/boost/fusion/adapted/variant/detail/end_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/variant/detail/is_sequence_impl.hpp b/include/boost/fusion/adapted/variant/detail/is_sequence_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/variant/detail/is_sequence_impl.hpp rename to include/boost/fusion/adapted/variant/detail/is_sequence_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/variant/detail/is_view_impl.hpp b/include/boost/fusion/adapted/variant/detail/is_view_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/variant/detail/is_view_impl.hpp rename to include/boost/fusion/adapted/variant/detail/is_view_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/variant/detail/size_impl.hpp b/include/boost/fusion/adapted/variant/detail/size_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/variant/detail/size_impl.hpp rename to include/boost/fusion/adapted/variant/detail/size_impl.hpp diff --git a/include/boost/fusion/sequence/adapted/variant/tag_of.hpp b/include/boost/fusion/adapted/variant/tag_of.hpp similarity index 86% rename from include/boost/fusion/sequence/adapted/variant/tag_of.hpp rename to include/boost/fusion/adapted/variant/tag_of.hpp index 3ec31460..fcaa894e 100644 --- a/include/boost/fusion/sequence/adapted/variant/tag_of.hpp +++ b/include/boost/fusion/adapted/variant/tag_of.hpp @@ -18,7 +18,11 @@ namespace boost { namespace fusion namespace traits { template +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + struct tag_of, void > +#else struct tag_of > +#endif { typedef variant_tag type; }; diff --git a/include/boost/fusion/sequence/adapted/variant/variant_iterator.hpp b/include/boost/fusion/adapted/variant/variant_iterator.hpp similarity index 100% rename from include/boost/fusion/sequence/adapted/variant/variant_iterator.hpp rename to include/boost/fusion/adapted/variant/variant_iterator.hpp diff --git a/include/boost/fusion/algorithm/iteration/detail/fold.hpp b/include/boost/fusion/algorithm/iteration/detail/fold.hpp index 542a8114..390b188c 100644 --- a/include/boost/fusion/algorithm/iteration/detail/fold.hpp +++ b/include/boost/fusion/algorithm/iteration/detail/fold.hpp @@ -1,3 +1,10 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ #if !defined(BOOST_FUSION_FOLD_HPP_20070528_1253) #define BOOST_FUSION_FOLD_HPP_20070528_1253 @@ -98,7 +105,7 @@ namespace detail struct unrolled_fold<3> { template - static typename result_of_unrolled_fold::type + static typename result_of_unrolled_fold::type call(I0 const& i0, State const& state, F f) { typedef typename result_of::next::type I1; @@ -113,7 +120,7 @@ namespace detail struct unrolled_fold<2> { template - static typename result_of_unrolled_fold::type + static typename result_of_unrolled_fold::type call(I0 const& i0, State const& state, F f) { typedef typename result_of::next::type I1; @@ -126,7 +133,7 @@ namespace detail struct unrolled_fold<1> { template - static typename result_of_unrolled_fold::type + static typename result_of_unrolled_fold::type call(I0 const& i0, State const& state, F f) { return f(*i0, state); diff --git a/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp b/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp index 2534ba4e..82c20b4c 100755 --- a/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp +++ b/include/boost/fusion/algorithm/query/ext_/find_if_s.hpp @@ -14,10 +14,10 @@ #include #include #include -#include +#include #include -#include -#include +#include +#include #include // fwd declarations diff --git a/include/boost/fusion/algorithm/transformation/clear.hpp b/include/boost/fusion/algorithm/transformation/clear.hpp index 31e4269d..75328232 100644 --- a/include/boost/fusion/algorithm/transformation/clear.hpp +++ b/include/boost/fusion/algorithm/transformation/clear.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_CLEAR_09172005_1127) #define FUSION_CLEAR_09172005_1127 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/algorithm/transformation/erase.hpp b/include/boost/fusion/algorithm/transformation/erase.hpp index 9e78da27..d0405c30 100644 --- a/include/boost/fusion/algorithm/transformation/erase.hpp +++ b/include/boost/fusion/algorithm/transformation/erase.hpp @@ -1,20 +1,21 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_ERASE_07232005_0534) #define FUSION_ERASE_07232005_0534 -#include -#include -#include +#include +#include +#include +#include +#include #include #include #include -#include -#include +#include namespace boost { namespace fusion { @@ -25,7 +26,7 @@ namespace boost { namespace fusion { typedef typename result_of::end::type seq_last_type; typedef typename convert_iterator::type first_type; - typedef typename + typedef typename mpl::if_< result_of::equal_to , first_type @@ -33,19 +34,19 @@ namespace boost { namespace fusion >::type type; - static type + static type call(First const& first, mpl::false_) { return fusion::next(convert_iterator::call(first)); } - static type + static type call(First const& first, mpl::true_) { return convert_iterator::call(first); } - static type + static type call(First const& first) { return call(first, result_of::equal_to()); diff --git a/include/boost/fusion/algorithm/transformation/filter.hpp b/include/boost/fusion/algorithm/transformation/filter.hpp index 16244649..52bf6af3 100644 --- a/include/boost/fusion/algorithm/transformation/filter.hpp +++ b/include/boost/fusion/algorithm/transformation/filter.hpp @@ -8,7 +8,7 @@ #if !defined(FUSION_FILTER_02122005_1839) #define FUSION_FILTER_02122005_1839 -#include +#include #include namespace boost { namespace fusion diff --git a/include/boost/fusion/algorithm/transformation/filter_if.hpp b/include/boost/fusion/algorithm/transformation/filter_if.hpp index 4f362882..d13113b1 100644 --- a/include/boost/fusion/algorithm/transformation/filter_if.hpp +++ b/include/boost/fusion/algorithm/transformation/filter_if.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_FILTER_IF_07172005_0818) #define FUSION_FILTER_IF_07172005_0818 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/algorithm/transformation/insert.hpp b/include/boost/fusion/algorithm/transformation/insert.hpp index ebe06f14..1702bc19 100644 --- a/include/boost/fusion/algorithm/transformation/insert.hpp +++ b/include/boost/fusion/algorithm/transformation/insert.hpp @@ -1,20 +1,21 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_INSERT_07222005_0730) #define FUSION_INSERT_07222005_0730 -#include -#include -#include -#include #include +#include +#include +#include +#include +#include #include #include -#include +#include namespace boost { namespace fusion { @@ -42,7 +43,7 @@ namespace boost { namespace fusion insert(Sequence const& seq, Position const& pos, T const& x) { typedef result_of::insert< - Sequence const, Position, T> + Sequence const, Position, T> result_of; typedef typename result_of::left_type left_type; typedef typename result_of::right_type right_type; diff --git a/include/boost/fusion/algorithm/transformation/insert_range.hpp b/include/boost/fusion/algorithm/transformation/insert_range.hpp index 4db840aa..1915c413 100644 --- a/include/boost/fusion/algorithm/transformation/insert_range.hpp +++ b/include/boost/fusion/algorithm/transformation/insert_range.hpp @@ -1,19 +1,20 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_INSERT_RANGE_009172005_1147) #define FUSION_INSERT_RANGE_009172005_1147 -#include -#include -#include +#include +#include +#include +#include #include #include #include -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/algorithm/transformation/join.hpp b/include/boost/fusion/algorithm/transformation/join.hpp index 10a5eecc..4ed78b5f 100644 --- a/include/boost/fusion/algorithm/transformation/join.hpp +++ b/include/boost/fusion/algorithm/transformation/join.hpp @@ -8,7 +8,7 @@ #if !defined(FUSION_JOIN_200601222109) #define FUSION_JOIN_200601222109 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/algorithm/transformation/pop_back.hpp b/include/boost/fusion/algorithm/transformation/pop_back.hpp index c83d5904..6eb743fd 100644 --- a/include/boost/fusion/algorithm/transformation/pop_back.hpp +++ b/include/boost/fusion/algorithm/transformation/pop_back.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_POP_BACK_09172005_1038) #define FUSION_POP_BACK_09172005_1038 -#include +#include #include #include #include diff --git a/include/boost/fusion/algorithm/transformation/pop_front.hpp b/include/boost/fusion/algorithm/transformation/pop_front.hpp index d01e3754..aed524d3 100644 --- a/include/boost/fusion/algorithm/transformation/pop_front.hpp +++ b/include/boost/fusion/algorithm/transformation/pop_front.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_POP_FRONT_09172005_1115) #define FUSION_POP_FRONT_09172005_1115 -#include +#include #include #include #include diff --git a/include/boost/fusion/algorithm/transformation/push_back.hpp b/include/boost/fusion/algorithm/transformation/push_back.hpp index 98f63702..4fadc79c 100644 --- a/include/boost/fusion/algorithm/transformation/push_back.hpp +++ b/include/boost/fusion/algorithm/transformation/push_back.hpp @@ -8,8 +8,8 @@ #define FUSION_PUSH_BACK_07162005_0235 #include -#include -#include +#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/algorithm/transformation/push_front.hpp b/include/boost/fusion/algorithm/transformation/push_front.hpp index 526e28f1..10f9fc10 100644 --- a/include/boost/fusion/algorithm/transformation/push_front.hpp +++ b/include/boost/fusion/algorithm/transformation/push_front.hpp @@ -8,8 +8,8 @@ #define FUSION_PUSH_FRONT_07162005_0749 #include -#include -#include +#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/algorithm/transformation/remove.hpp b/include/boost/fusion/algorithm/transformation/remove.hpp index 1eb4bfb3..01718d32 100644 --- a/include/boost/fusion/algorithm/transformation/remove.hpp +++ b/include/boost/fusion/algorithm/transformation/remove.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_REMOVE_07162005_0818) #define FUSION_REMOVE_07162005_0818 -#include +#include #include #include diff --git a/include/boost/fusion/algorithm/transformation/remove_if.hpp b/include/boost/fusion/algorithm/transformation/remove_if.hpp index c2140d17..ab13694d 100644 --- a/include/boost/fusion/algorithm/transformation/remove_if.hpp +++ b/include/boost/fusion/algorithm/transformation/remove_if.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_REMOVE_IF_07162005_0818) #define FUSION_REMOVE_IF_07162005_0818 -#include +#include #include #include diff --git a/include/boost/fusion/algorithm/transformation/replace.hpp b/include/boost/fusion/algorithm/transformation/replace.hpp index 43657f99..780f1a45 100644 --- a/include/boost/fusion/algorithm/transformation/replace.hpp +++ b/include/boost/fusion/algorithm/transformation/replace.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_REPLACE_08182005_0830) #define FUSION_REPLACE_08182005_0830 -#include +#include #include namespace boost { namespace fusion diff --git a/include/boost/fusion/algorithm/transformation/replace_if.hpp b/include/boost/fusion/algorithm/transformation/replace_if.hpp index 07abbdca..90db5683 100644 --- a/include/boost/fusion/algorithm/transformation/replace_if.hpp +++ b/include/boost/fusion/algorithm/transformation/replace_if.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_REPLACE_IF_08182005_0939) #define FUSION_REPLACE_IF_08182005_0939 -#include +#include #include #include #include diff --git a/include/boost/fusion/algorithm/transformation/reverse.hpp b/include/boost/fusion/algorithm/transformation/reverse.hpp index faf78114..b95461c8 100644 --- a/include/boost/fusion/algorithm/transformation/reverse.hpp +++ b/include/boost/fusion/algorithm/transformation/reverse.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_REVERSE_07212005_1230) #define FUSION_REVERSE_07212005_1230 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/algorithm/transformation/transform.hpp b/include/boost/fusion/algorithm/transformation/transform.hpp index 0315a8d0..4a521532 100644 --- a/include/boost/fusion/algorithm/transformation/transform.hpp +++ b/include/boost/fusion/algorithm/transformation/transform.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_TRANSFORM_07052005_1057) #define FUSION_TRANSFORM_07052005_1057 -#include +#include namespace boost { namespace fusion { @@ -22,7 +22,11 @@ namespace boost { namespace fusion }; template +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + struct transform +#else struct transform +#endif { typedef transform_view type; }; diff --git a/include/boost/fusion/algorithm/transformation/zip.hpp b/include/boost/fusion/algorithm/transformation/zip.hpp index 33b7d25b..4f20a845 100644 --- a/include/boost/fusion/algorithm/transformation/zip.hpp +++ b/include/boost/fusion/algorithm/transformation/zip.hpp @@ -9,14 +9,15 @@ #if !defined(FUSION_ZIP_HPP_20060125_2058) #define FUSION_ZIP_HPP_20060125_2058 -#include -#include -#include -#include +#include +#include +#include +#include #include #include #include #include +#include #include #include #include @@ -53,7 +54,13 @@ namespace boost { namespace fusion { namespace result_of { template< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, typename T) > +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + #define TEXT(z, n, text) , text + struct zip< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(ZIP_ITERATION), FUSION_MAX_ZIP_SEQUENCES, TEXT, void_) > + #undef TEXT +#else struct zip< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) > +#endif { typedef mpl::vector< BOOST_PP_ENUM_PARAMS(ZIP_ITERATION, T) > sequences; typedef typename mpl::transform >::type ref_params; diff --git a/include/boost/fusion/sequence/container.hpp b/include/boost/fusion/container.hpp similarity index 64% rename from include/boost/fusion/sequence/container.hpp rename to include/boost/fusion/container.hpp index 6a1047cc..e41c9cb3 100644 --- a/include/boost/fusion/sequence/container.hpp +++ b/include/boost/fusion/container.hpp @@ -7,10 +7,10 @@ #if !defined(FUSION_SEQUENCE_CLASS_10022005_0614) #define FUSION_SEQUENCE_CLASS_10022005_0614 -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #endif diff --git a/include/boost/fusion/sequence/container/deque.hpp b/include/boost/fusion/container/deque.hpp similarity index 81% rename from include/boost/fusion/sequence/container/deque.hpp rename to include/boost/fusion/container/deque.hpp index 0c9614a9..bb29ce2f 100644 --- a/include/boost/fusion/sequence/container/deque.hpp +++ b/include/boost/fusion/container/deque.hpp @@ -2,13 +2,14 @@ Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(BOOST_FUSION_SEQUENCE_CONTAINER_DEQUE_24112006_2036) #define BOOST_FUSION_SEQUENCE_CONTAINER_DEQUE_24112006_2036 -#include +#include +#include #endif diff --git a/include/boost/fusion/sequence/container/deque/back_extended_deque.hpp b/include/boost/fusion/container/deque/back_extended_deque.hpp similarity index 95% rename from include/boost/fusion/sequence/container/deque/back_extended_deque.hpp rename to include/boost/fusion/container/deque/back_extended_deque.hpp index 6310bb59..28d5ceca 100644 --- a/include/boost/fusion/sequence/container/deque/back_extended_deque.hpp +++ b/include/boost/fusion/container/deque/back_extended_deque.hpp @@ -8,7 +8,7 @@ #if !defined(BOOST_FUSION_BACK_EXTENDED_DEQUE_26112006_2209) #define BOOST_FUSION_BACK_EXTENDED_DEQUE_26112006_2209 -#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/conversion/as_deque.hpp b/include/boost/fusion/container/deque/convert.hpp similarity index 81% rename from include/boost/fusion/sequence/conversion/as_deque.hpp rename to include/boost/fusion/container/deque/convert.hpp index 78ae1273..0f3a75e2 100644 --- a/include/boost/fusion/sequence/conversion/as_deque.hpp +++ b/include/boost/fusion/container/deque/convert.hpp @@ -2,18 +2,19 @@ Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2006 Dan Marsden - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#if !defined(FUSION_AS_DEQUE_20061213_2207) -#define FUSION_AS_DEQUE_20061213_2207 +#if !defined(FUSION_CONVERT_20061213_2207) +#define FUSION_CONVERT_20061213_2207 -#include -#include +#include +#include +#include #include #include -namespace boost { namespace fusion +namespace boost { namespace fusion { namespace result_of { diff --git a/include/boost/fusion/sequence/container/deque/deque.hpp b/include/boost/fusion/container/deque/deque.hpp similarity index 77% rename from include/boost/fusion/sequence/container/deque/deque.hpp rename to include/boost/fusion/container/deque/deque.hpp index 884899f8..27d9ce78 100644 --- a/include/boost/fusion/sequence/container/deque/deque.hpp +++ b/include/boost/fusion/container/deque/deque.hpp @@ -8,13 +8,13 @@ #if !defined(BOOST_FUSION_DEQUE_26112006_1649) #define BOOST_FUSION_DEQUE_26112006_1649 -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include -#include +#include #include #include #include @@ -22,11 +22,11 @@ #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include #include #include @@ -52,7 +52,7 @@ namespace boost { namespace fusion { mpl::if_ >, mpl::int_<0>, mpl::int_<-1> >::type::value> next_down; typedef mpl::false_ is_view; -#include +#include deque() {} diff --git a/include/boost/fusion/sequence/container/deque/deque_fwd.hpp b/include/boost/fusion/container/deque/deque_fwd.hpp similarity index 92% rename from include/boost/fusion/sequence/container/deque/deque_fwd.hpp rename to include/boost/fusion/container/deque/deque_fwd.hpp index ce47bf62..415bb2f2 100644 --- a/include/boost/fusion/sequence/container/deque/deque_fwd.hpp +++ b/include/boost/fusion/container/deque/deque_fwd.hpp @@ -8,7 +8,7 @@ #if !defined(FUSION_DEQUE_FORWARD_02092007_0749) #define FUSION_DEQUE_FORWARD_02092007_0749 -#include +#include #include namespace boost { namespace fusion diff --git a/include/boost/fusion/sequence/container/deque/deque_iterator.hpp b/include/boost/fusion/container/deque/deque_iterator.hpp similarity index 97% rename from include/boost/fusion/sequence/container/deque/deque_iterator.hpp rename to include/boost/fusion/container/deque/deque_iterator.hpp index 8fb6f009..90c68918 100644 --- a/include/boost/fusion/sequence/container/deque/deque_iterator.hpp +++ b/include/boost/fusion/container/deque/deque_iterator.hpp @@ -9,7 +9,7 @@ #define BOOST_FUSION_DEQUE_ITERATOR_26112006_2154 #include -#include +#include #include #include diff --git a/include/boost/fusion/sequence/conversion/detail/as_deque.hpp b/include/boost/fusion/container/deque/detail/as_deque.hpp similarity index 95% rename from include/boost/fusion/sequence/conversion/detail/as_deque.hpp rename to include/boost/fusion/container/deque/detail/as_deque.hpp index 04e2a559..e48b7910 100644 --- a/include/boost/fusion/sequence/conversion/detail/as_deque.hpp +++ b/include/boost/fusion/container/deque/detail/as_deque.hpp @@ -16,7 +16,7 @@ #include #include #include -#include +#include #include #include #include @@ -55,7 +55,7 @@ namespace boost { namespace fusion { namespace detail typedef typename fusion::result_of::value_of::type \ BOOST_PP_CAT(T, n); -#define BOOST_PP_FILENAME_1 +#define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/sequence/container/deque/detail/at_impl.hpp b/include/boost/fusion/container/deque/detail/at_impl.hpp similarity index 96% rename from include/boost/fusion/sequence/container/deque/detail/at_impl.hpp rename to include/boost/fusion/container/deque/detail/at_impl.hpp index 7edf37f1..3dc7cde9 100644 --- a/include/boost/fusion/sequence/container/deque/detail/at_impl.hpp +++ b/include/boost/fusion/container/deque/detail/at_impl.hpp @@ -8,7 +8,7 @@ #if !defined(BOOST_FUSION_DEQUE_AT_IMPL_09122006_2017) #define BOOST_FUSION_DEQUE_AT_IMPL_09122006_2017 -#include +#include #include #include diff --git a/include/boost/fusion/sequence/container/deque/detail/begin_impl.hpp b/include/boost/fusion/container/deque/detail/begin_impl.hpp similarity index 95% rename from include/boost/fusion/sequence/container/deque/detail/begin_impl.hpp rename to include/boost/fusion/container/deque/detail/begin_impl.hpp index 867cab8e..13b50143 100644 --- a/include/boost/fusion/sequence/container/deque/detail/begin_impl.hpp +++ b/include/boost/fusion/container/deque/detail/begin_impl.hpp @@ -8,7 +8,7 @@ #if !defined(BOOST_FUSION_DEQUE_BEGIN_IMPL_09122006_2034) #define BOOST_FUSION_DEQUE_BEGIN_IMPL_09122006_2034 -#include +#include #include #include diff --git a/include/boost/fusion/container/deque/detail/convert_impl.hpp b/include/boost/fusion/container/deque/detail/convert_impl.hpp new file mode 100644 index 00000000..ac310a19 --- /dev/null +++ b/include/boost/fusion/container/deque/detail/convert_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_IMPL_20061213_2207) +#define FUSION_CONVERT_IMPL_20061213_2207 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct deque_tag; + + namespace extension + { + template + struct convert_impl; + + template <> + struct convert_impl + { + template + struct apply + { + typedef typename detail::as_deque::value> gen; + typedef typename gen:: + template apply::type>::type + type; + + static type call(Sequence& seq) + { + return gen::call(fusion::begin(seq)); + } + }; + }; + } +}} + +#endif diff --git a/include/boost/fusion/sequence/container/deque/detail/deque_forward_ctor.hpp b/include/boost/fusion/container/deque/detail/deque_forward_ctor.hpp similarity index 93% rename from include/boost/fusion/sequence/container/deque/detail/deque_forward_ctor.hpp rename to include/boost/fusion/container/deque/detail/deque_forward_ctor.hpp index f79a02e5..813c0491 100644 --- a/include/boost/fusion/sequence/container/deque/detail/deque_forward_ctor.hpp +++ b/include/boost/fusion/container/deque/detail/deque_forward_ctor.hpp @@ -14,7 +14,7 @@ #include #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (2, FUSION_MAX_DEQUE_SIZE) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/sequence/container/deque/detail/deque_initial_size.hpp b/include/boost/fusion/container/deque/detail/deque_initial_size.hpp similarity index 100% rename from include/boost/fusion/sequence/container/deque/detail/deque_initial_size.hpp rename to include/boost/fusion/container/deque/detail/deque_initial_size.hpp diff --git a/include/boost/fusion/sequence/container/deque/detail/deque_keyed_values.hpp b/include/boost/fusion/container/deque/detail/deque_keyed_values.hpp similarity index 91% rename from include/boost/fusion/sequence/container/deque/detail/deque_keyed_values.hpp rename to include/boost/fusion/container/deque/detail/deque_keyed_values.hpp index 26a76512..11b229b2 100644 --- a/include/boost/fusion/sequence/container/deque/detail/deque_keyed_values.hpp +++ b/include/boost/fusion/container/deque/detail/deque_keyed_values.hpp @@ -8,8 +8,8 @@ #if !defined(BOOST_FUSION_DEQUE_DETAIL_DEQUE_KEYED_VALUES_26112006_1330) #define BOOST_FUSION_DEQUE_DETAIL_DEQUE_KEYED_VALUES_26112006_1330 -#include -#include +#include +#include #include #include @@ -59,7 +59,7 @@ namespace detail { BOOST_PP_ENUM_SHIFTED_PARAMS(FUSION_MAX_DEQUE_SIZE, T)>::type tail; typedef keyed_element type; -#include +#include }; diff --git a/include/boost/fusion/sequence/container/deque/detail/deque_keyed_values_call.hpp b/include/boost/fusion/container/deque/detail/deque_keyed_values_call.hpp similarity index 94% rename from include/boost/fusion/sequence/container/deque/detail/deque_keyed_values_call.hpp rename to include/boost/fusion/container/deque/detail/deque_keyed_values_call.hpp index ab31c43c..0a39add6 100644 --- a/include/boost/fusion/sequence/container/deque/detail/deque_keyed_values_call.hpp +++ b/include/boost/fusion/container/deque/detail/deque_keyed_values_call.hpp @@ -14,7 +14,7 @@ #include #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_DEQUE_SIZE) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/sequence/container/deque/detail/end_impl.hpp b/include/boost/fusion/container/deque/detail/end_impl.hpp similarity index 95% rename from include/boost/fusion/sequence/container/deque/detail/end_impl.hpp rename to include/boost/fusion/container/deque/detail/end_impl.hpp index 505dfdac..96a1b17d 100644 --- a/include/boost/fusion/sequence/container/deque/detail/end_impl.hpp +++ b/include/boost/fusion/container/deque/detail/end_impl.hpp @@ -8,7 +8,7 @@ #if !defined(BOOST_FUSION_DEQUE_END_IMPL_09122006_2034) #define BOOST_FUSION_DEQUE_END_IMPL_09122006_2034 -#include +#include #include #include diff --git a/include/boost/fusion/sequence/container/deque/detail/keyed_element.hpp b/include/boost/fusion/container/deque/detail/keyed_element.hpp similarity index 100% rename from include/boost/fusion/sequence/container/deque/detail/keyed_element.hpp rename to include/boost/fusion/container/deque/detail/keyed_element.hpp diff --git a/include/boost/fusion/sequence/container/deque/detail/value_at_impl.hpp b/include/boost/fusion/container/deque/detail/value_at_impl.hpp similarity index 95% rename from include/boost/fusion/sequence/container/deque/detail/value_at_impl.hpp rename to include/boost/fusion/container/deque/detail/value_at_impl.hpp index 6c08231d..ec0351de 100644 --- a/include/boost/fusion/sequence/container/deque/detail/value_at_impl.hpp +++ b/include/boost/fusion/container/deque/detail/value_at_impl.hpp @@ -8,7 +8,7 @@ #if !defined(BOOST_FUSION_DEQUE_VALUE_AT_IMPL_08122006_0756) #define BOOST_FUSION_DEQUE_VALUE_AT_IMPL_08122006_0756 -#include +#include #include #include diff --git a/include/boost/fusion/sequence/container/deque/front_extended_deque.hpp b/include/boost/fusion/container/deque/front_extended_deque.hpp similarity index 95% rename from include/boost/fusion/sequence/container/deque/front_extended_deque.hpp rename to include/boost/fusion/container/deque/front_extended_deque.hpp index b52508e7..156e66a4 100644 --- a/include/boost/fusion/sequence/container/deque/front_extended_deque.hpp +++ b/include/boost/fusion/container/deque/front_extended_deque.hpp @@ -8,7 +8,7 @@ #if !defined(BOOST_FUSION_FRONT_EXTENDED_DEQUE_26112006_2209) #define BOOST_FUSION_FRONT_EXTENDED_DEQUE_26112006_2209 -#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/container/deque/limits.hpp b/include/boost/fusion/container/deque/limits.hpp similarity index 100% rename from include/boost/fusion/sequence/container/deque/limits.hpp rename to include/boost/fusion/container/deque/limits.hpp diff --git a/include/boost/fusion/sequence/container/ext_/tree.hpp b/include/boost/fusion/container/ext_/tree.hpp similarity index 93% rename from include/boost/fusion/sequence/container/ext_/tree.hpp rename to include/boost/fusion/container/ext_/tree.hpp index c6edc28c..cd8c5dcd 100755 --- a/include/boost/fusion/sequence/container/ext_/tree.hpp +++ b/include/boost/fusion/container/ext_/tree.hpp @@ -14,13 +14,13 @@ #include #include #include -#include -#include // for nil -#include +#include +#include // for nil +#include #include #include #include -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/container/list.hpp b/include/boost/fusion/container/list.hpp similarity index 58% rename from include/boost/fusion/sequence/container/list.hpp rename to include/boost/fusion/container/list.hpp index 47024b9c..8a0d6456 100644 --- a/include/boost/fusion/sequence/container/list.hpp +++ b/include/boost/fusion/container/list.hpp @@ -1,16 +1,17 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_SEQUENCE_CLASS_LIST_10022005_0605) #define FUSION_SEQUENCE_CLASS_LIST_10022005_0605 -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #endif diff --git a/include/boost/fusion/sequence/container/list/cons.hpp b/include/boost/fusion/container/list/cons.hpp similarity index 91% rename from include/boost/fusion/sequence/container/list/cons.hpp rename to include/boost/fusion/container/list/cons.hpp index 877f2982..8e500f66 100644 --- a/include/boost/fusion/sequence/container/list/cons.hpp +++ b/include/boost/fusion/container/list/cons.hpp @@ -13,12 +13,12 @@ #include #include #include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/container/list/cons_iterator.hpp b/include/boost/fusion/container/list/cons_iterator.hpp similarity index 86% rename from include/boost/fusion/sequence/container/list/cons_iterator.hpp rename to include/boost/fusion/container/list/cons_iterator.hpp index 6455f04f..7ef034e3 100644 --- a/include/boost/fusion/sequence/container/list/cons_iterator.hpp +++ b/include/boost/fusion/container/list/cons_iterator.hpp @@ -10,11 +10,11 @@ #include #include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/conversion/as_list.hpp b/include/boost/fusion/container/list/convert.hpp similarity index 81% rename from include/boost/fusion/sequence/conversion/as_list.hpp rename to include/boost/fusion/container/list/convert.hpp index 21b70bee..418158cf 100644 --- a/include/boost/fusion/sequence/conversion/as_list.hpp +++ b/include/boost/fusion/container/list/convert.hpp @@ -1,26 +1,27 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#if !defined(FUSION_AS_LIST_09232005_1215) -#define FUSION_AS_LIST_09232005_1215 +#if !defined(FUSION_CONVERT_09232005_1215) +#define FUSION_CONVERT_09232005_1215 -#include +#include +#include +#include #include #include #include -#include -namespace boost { namespace fusion +namespace boost { namespace fusion { namespace result_of { template struct as_list { - typedef typename + typedef typename detail::build_cons< typename result_of::begin::type , typename result_of::end::type diff --git a/include/boost/fusion/sequence/container/list/detail/at_impl.hpp b/include/boost/fusion/container/list/detail/at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/list/detail/at_impl.hpp rename to include/boost/fusion/container/list/detail/at_impl.hpp diff --git a/include/boost/fusion/sequence/container/list/detail/begin_impl.hpp b/include/boost/fusion/container/list/detail/begin_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/list/detail/begin_impl.hpp rename to include/boost/fusion/container/list/detail/begin_impl.hpp diff --git a/include/boost/fusion/sequence/conversion/detail/build_cons.hpp b/include/boost/fusion/container/list/detail/build_cons.hpp similarity index 96% rename from include/boost/fusion/sequence/conversion/detail/build_cons.hpp rename to include/boost/fusion/container/list/detail/build_cons.hpp index 4b08447f..befbd4e9 100644 --- a/include/boost/fusion/sequence/conversion/detail/build_cons.hpp +++ b/include/boost/fusion/container/list/detail/build_cons.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_BUILD_CONS_09232005_1222) #define FUSION_BUILD_CONS_09232005_1222 -#include +#include #include #include #include diff --git a/include/boost/fusion/container/list/detail/convert_impl.hpp b/include/boost/fusion/container/list/detail/convert_impl.hpp new file mode 100644 index 00000000..cfe7a1df --- /dev/null +++ b/include/boost/fusion/container/list/detail/convert_impl.hpp @@ -0,0 +1,51 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_IMPL_09232005_1215) +#define FUSION_CONVERT_IMPL_09232005_1215 + +#include +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct cons_tag; + + namespace extension + { + template + struct convert_impl; + + template <> + struct convert_impl + { + template + struct apply + { + typedef typename + detail::build_cons< + typename result_of::begin::type + , typename result_of::end::type + > + build_cons; + + typedef typename build_cons::type type; + + static type + call(Sequence& seq) + { + return build_cons::call(fusion::begin(seq), fusion::end(seq)); + } + }; + }; + } +}} + +#endif diff --git a/include/boost/fusion/sequence/container/list/detail/deref_impl.hpp b/include/boost/fusion/container/list/detail/deref_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/list/detail/deref_impl.hpp rename to include/boost/fusion/container/list/detail/deref_impl.hpp diff --git a/include/boost/fusion/sequence/container/list/detail/empty_impl.hpp b/include/boost/fusion/container/list/detail/empty_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/list/detail/empty_impl.hpp rename to include/boost/fusion/container/list/detail/empty_impl.hpp diff --git a/include/boost/fusion/sequence/container/list/detail/end_impl.hpp b/include/boost/fusion/container/list/detail/end_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/list/detail/end_impl.hpp rename to include/boost/fusion/container/list/detail/end_impl.hpp diff --git a/include/boost/fusion/sequence/container/list/detail/equal_to_impl.hpp b/include/boost/fusion/container/list/detail/equal_to_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/list/detail/equal_to_impl.hpp rename to include/boost/fusion/container/list/detail/equal_to_impl.hpp diff --git a/include/boost/fusion/sequence/container/list/detail/list_forward_ctor.hpp b/include/boost/fusion/container/list/detail/list_forward_ctor.hpp similarity index 95% rename from include/boost/fusion/sequence/container/list/detail/list_forward_ctor.hpp rename to include/boost/fusion/container/list/detail/list_forward_ctor.hpp index 7922f382..39471809 100644 --- a/include/boost/fusion/sequence/container/list/detail/list_forward_ctor.hpp +++ b/include/boost/fusion/container/list/detail/list_forward_ctor.hpp @@ -18,7 +18,7 @@ #define FUSION_LIST_CL_PAREN(z, n, type) ) #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/sequence/container/list/detail/list_to_cons.hpp b/include/boost/fusion/container/list/detail/list_to_cons.hpp similarity index 87% rename from include/boost/fusion/sequence/container/list/detail/list_to_cons.hpp rename to include/boost/fusion/container/list/detail/list_to_cons.hpp index fa5c7bb9..8e6d6912 100644 --- a/include/boost/fusion/sequence/container/list/detail/list_to_cons.hpp +++ b/include/boost/fusion/container/list/detail/list_to_cons.hpp @@ -7,8 +7,8 @@ #if !defined(FUSION_LIST_TO_CONS_07172005_1041) #define FUSION_LIST_TO_CONS_07172005_1041 -#include -#include +#include +#include #include #include #include @@ -35,7 +35,7 @@ namespace boost { namespace fusion { namespace detail typedef cons type; - #include + #include }; template <> diff --git a/include/boost/fusion/sequence/container/list/detail/list_to_cons_call.hpp b/include/boost/fusion/container/list/detail/list_to_cons_call.hpp similarity index 95% rename from include/boost/fusion/sequence/container/list/detail/list_to_cons_call.hpp rename to include/boost/fusion/container/list/detail/list_to_cons_call.hpp index c8e63e95..069f0598 100644 --- a/include/boost/fusion/sequence/container/list/detail/list_to_cons_call.hpp +++ b/include/boost/fusion/container/list/detail/list_to_cons_call.hpp @@ -13,7 +13,7 @@ #include #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_LIST_SIZE) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/sequence/container/list/detail/next_impl.hpp b/include/boost/fusion/container/list/detail/next_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/list/detail/next_impl.hpp rename to include/boost/fusion/container/list/detail/next_impl.hpp diff --git a/include/boost/fusion/sequence/container/list/detail/value_at_impl.hpp b/include/boost/fusion/container/list/detail/value_at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/list/detail/value_at_impl.hpp rename to include/boost/fusion/container/list/detail/value_at_impl.hpp diff --git a/include/boost/fusion/sequence/container/list/detail/value_of_impl.hpp b/include/boost/fusion/container/list/detail/value_of_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/list/detail/value_of_impl.hpp rename to include/boost/fusion/container/list/detail/value_of_impl.hpp diff --git a/include/boost/fusion/sequence/container/list/limits.hpp b/include/boost/fusion/container/list/limits.hpp similarity index 100% rename from include/boost/fusion/sequence/container/list/limits.hpp rename to include/boost/fusion/container/list/limits.hpp diff --git a/include/boost/fusion/sequence/container/list/list.hpp b/include/boost/fusion/container/list/list.hpp similarity index 90% rename from include/boost/fusion/sequence/container/list/list.hpp rename to include/boost/fusion/container/list/list.hpp index e34e648f..7516df48 100644 --- a/include/boost/fusion/sequence/container/list/list.hpp +++ b/include/boost/fusion/container/list/list.hpp @@ -7,8 +7,8 @@ #if !defined(FUSION_LIST_07172005_1153) #define FUSION_LIST_07172005_1153 -#include -#include +#include +#include namespace boost { namespace fusion { @@ -45,7 +45,7 @@ namespace boost { namespace fusion // typename detail::call_param::type _0 // , typename detail::call_param::type _1) // : inherited_type(list_to_cons::call(_0, _1)) {} - #include + #include template list& diff --git a/include/boost/fusion/sequence/container/list/list_fwd.hpp b/include/boost/fusion/container/list/list_fwd.hpp similarity index 92% rename from include/boost/fusion/sequence/container/list/list_fwd.hpp rename to include/boost/fusion/container/list/list_fwd.hpp index cfd4e370..90c088b4 100644 --- a/include/boost/fusion/sequence/container/list/list_fwd.hpp +++ b/include/boost/fusion/container/list/list_fwd.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_LIST_FORWARD_07172005_0224) #define FUSION_LIST_FORWARD_07172005_0224 -#include +#include #include namespace boost { namespace fusion diff --git a/include/boost/fusion/sequence/container/map.hpp b/include/boost/fusion/container/map.hpp similarity index 68% rename from include/boost/fusion/sequence/container/map.hpp rename to include/boost/fusion/container/map.hpp index 100905cf..69518311 100644 --- a/include/boost/fusion/sequence/container/map.hpp +++ b/include/boost/fusion/container/map.hpp @@ -1,14 +1,15 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_SEQUENCE_CLASS_MAP_10022005_0606) #define FUSION_SEQUENCE_CLASS_MAP_10022005_0606 -#include -#include -#include +#include +#include +#include +#include #endif diff --git a/include/boost/fusion/sequence/conversion/as_map.hpp b/include/boost/fusion/container/map/convert.hpp similarity index 81% rename from include/boost/fusion/sequence/conversion/as_map.hpp rename to include/boost/fusion/container/map/convert.hpp index 4195dc25..f174da58 100644 --- a/include/boost/fusion/sequence/conversion/as_map.hpp +++ b/include/boost/fusion/container/map/convert.hpp @@ -1,18 +1,19 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#if !defined(FUSION_AS_MAP_09232005_1340) -#define FUSION_AS_MAP_09232005_1340 +#if !defined(FUSION_CONVERT_09232005_1340) +#define FUSION_CONVERT_09232005_1340 -#include -#include +#include +#include +#include #include #include -namespace boost { namespace fusion +namespace boost { namespace fusion { namespace result_of { diff --git a/include/boost/fusion/sequence/conversion/detail/as_map.hpp b/include/boost/fusion/container/map/detail/as_map.hpp similarity index 94% rename from include/boost/fusion/sequence/conversion/detail/as_map.hpp rename to include/boost/fusion/container/map/detail/as_map.hpp index abfada36..326877f9 100644 --- a/include/boost/fusion/sequence/conversion/detail/as_map.hpp +++ b/include/boost/fusion/container/map/detail/as_map.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include @@ -24,7 +24,7 @@ namespace boost { namespace fusion { namespace detail { template struct as_map; - + template <> struct as_map<0> { @@ -33,7 +33,7 @@ namespace boost { namespace fusion { namespace detail { typedef map<> type; }; - + template static typename apply::type call(Iterator) @@ -54,7 +54,7 @@ namespace boost { namespace fusion { namespace detail typedef typename fusion::result_of::value_of::type \ BOOST_PP_CAT(T, n); -#define BOOST_PP_FILENAME_1 +#define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) #include BOOST_PP_ITERATE() @@ -84,7 +84,7 @@ namespace boost { namespace fusion { namespace detail BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) typedef map type; }; - + template static typename apply::type call(Iterator const& i0) diff --git a/include/boost/fusion/sequence/container/map/detail/at_key_impl.hpp b/include/boost/fusion/container/map/detail/at_key_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/map/detail/at_key_impl.hpp rename to include/boost/fusion/container/map/detail/at_key_impl.hpp diff --git a/include/boost/fusion/sequence/container/map/detail/begin_impl.hpp b/include/boost/fusion/container/map/detail/begin_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/map/detail/begin_impl.hpp rename to include/boost/fusion/container/map/detail/begin_impl.hpp diff --git a/include/boost/fusion/container/map/detail/convert_impl.hpp b/include/boost/fusion/container/map/detail/convert_impl.hpp new file mode 100644 index 00000000..aedd3e3d --- /dev/null +++ b/include/boost/fusion/container/map/detail/convert_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_IMPL_09232005_1340) +#define FUSION_CONVERT_IMPL_09232005_1340 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct map_tag; + + namespace extension + { + template + struct convert_impl; + + template <> + struct convert_impl + { + template + struct apply + { + typedef typename detail::as_map::value> gen; + typedef typename gen:: + template apply::type>::type + type; + + static type call(Sequence& seq) + { + return gen::call(fusion::begin(seq)); + } + }; + }; + } +}} + +#endif diff --git a/include/boost/fusion/sequence/container/map/detail/end_impl.hpp b/include/boost/fusion/container/map/detail/end_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/map/detail/end_impl.hpp rename to include/boost/fusion/container/map/detail/end_impl.hpp diff --git a/include/boost/fusion/sequence/container/map/detail/lookup_key.hpp b/include/boost/fusion/container/map/detail/lookup_key.hpp similarity index 100% rename from include/boost/fusion/sequence/container/map/detail/lookup_key.hpp rename to include/boost/fusion/container/map/detail/lookup_key.hpp diff --git a/include/boost/fusion/sequence/container/map/detail/map_forward_ctor.hpp b/include/boost/fusion/container/map/detail/map_forward_ctor.hpp similarity index 94% rename from include/boost/fusion/sequence/container/map/detail/map_forward_ctor.hpp rename to include/boost/fusion/container/map/detail/map_forward_ctor.hpp index 34b81830..c35168ba 100644 --- a/include/boost/fusion/sequence/container/map/detail/map_forward_ctor.hpp +++ b/include/boost/fusion/container/map/detail/map_forward_ctor.hpp @@ -13,7 +13,7 @@ #include #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_MAP_SIZE) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/sequence/container/map/detail/map_lookup.hpp b/include/boost/fusion/container/map/detail/map_lookup.hpp similarity index 95% rename from include/boost/fusion/sequence/container/map/detail/map_lookup.hpp rename to include/boost/fusion/container/map/detail/map_lookup.hpp index 62d23d8c..2f792cbd 100644 --- a/include/boost/fusion/sequence/container/map/detail/map_lookup.hpp +++ b/include/boost/fusion/container/map/detail/map_lookup.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -15,6 +15,7 @@ #include #if defined(BOOST_MSVC) && (BOOST_MSVC == 1310) +#pragma warning (push) #pragma warning(disable: 4348) // redefinition of default parameter #endif @@ -51,10 +52,14 @@ } #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (0, BOOST_PP_DEC(FUSION_MAX_MAP_SIZE)) #include BOOST_PP_ITERATE() +#if defined(BOOST_MSVC) && (BOOST_MSVC == 1310) +#pragma warning (pop) +#endif + #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// diff --git a/include/boost/fusion/sequence/container/map/detail/value_at_key_impl.hpp b/include/boost/fusion/container/map/detail/value_at_key_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/map/detail/value_at_key_impl.hpp rename to include/boost/fusion/container/map/detail/value_at_key_impl.hpp diff --git a/include/boost/fusion/sequence/container/map/limits.hpp b/include/boost/fusion/container/map/limits.hpp similarity index 92% rename from include/boost/fusion/sequence/container/map/limits.hpp rename to include/boost/fusion/container/map/limits.hpp index 33cbc832..738abff4 100644 --- a/include/boost/fusion/sequence/container/map/limits.hpp +++ b/include/boost/fusion/container/map/limits.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_MAP_LIMITS_07212005_1104) #define FUSION_MAP_LIMITS_07212005_1104 -#include +#include #if !defined(FUSION_MAX_MAP_SIZE) # define FUSION_MAX_MAP_SIZE FUSION_MAX_VECTOR_SIZE diff --git a/include/boost/fusion/sequence/container/map/map.hpp b/include/boost/fusion/container/map/map.hpp similarity index 73% rename from include/boost/fusion/sequence/container/map/map.hpp rename to include/boost/fusion/container/map/map.hpp index bf6a0fa8..5f5fb1cc 100644 --- a/include/boost/fusion/sequence/container/map/map.hpp +++ b/include/boost/fusion/container/map/map.hpp @@ -10,13 +10,13 @@ #include #include #include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #include #include @@ -48,8 +48,8 @@ namespace boost { namespace fusion map(Sequence const& rhs) : data(rhs) {} - #include - #include + #include + #include template map& diff --git a/include/boost/fusion/sequence/container/map/map_fwd.hpp b/include/boost/fusion/container/map/map_fwd.hpp similarity index 92% rename from include/boost/fusion/sequence/container/map/map_fwd.hpp rename to include/boost/fusion/container/map/map_fwd.hpp index 311dce5a..660466bd 100644 --- a/include/boost/fusion/sequence/container/map/map_fwd.hpp +++ b/include/boost/fusion/container/map/map_fwd.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_MAP_FORWARD_07212005_1105) #define FUSION_MAP_FORWARD_07212005_1105 -#include +#include #include namespace boost { namespace fusion diff --git a/include/boost/fusion/sequence/container/set.hpp b/include/boost/fusion/container/set.hpp similarity index 68% rename from include/boost/fusion/sequence/container/set.hpp rename to include/boost/fusion/container/set.hpp index 24ec2c67..6b7674d6 100644 --- a/include/boost/fusion/sequence/container/set.hpp +++ b/include/boost/fusion/container/set.hpp @@ -1,14 +1,15 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_SEQUENCE_CLASS_SET_10022005_0607) #define FUSION_SEQUENCE_CLASS_SET_10022005_0607 -#include -#include -#include +#include +#include +#include +#include #endif diff --git a/include/boost/fusion/sequence/conversion/as_set.hpp b/include/boost/fusion/container/set/convert.hpp similarity index 81% rename from include/boost/fusion/sequence/conversion/as_set.hpp rename to include/boost/fusion/container/set/convert.hpp index 9d9c02df..1aaddf0c 100644 --- a/include/boost/fusion/sequence/conversion/as_set.hpp +++ b/include/boost/fusion/container/set/convert.hpp @@ -1,18 +1,19 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#if !defined(FUSION_AS_SET_09232005_1341) -#define FUSION_AS_SET_09232005_1341 +#if !defined(FUSION_CONVERT_09232005_1341) +#define FUSION_CONVERT_09232005_1341 -#include -#include +#include +#include +#include #include #include -namespace boost { namespace fusion +namespace boost { namespace fusion { namespace result_of { diff --git a/include/boost/fusion/sequence/conversion/detail/as_set.hpp b/include/boost/fusion/container/set/detail/as_set.hpp similarity index 94% rename from include/boost/fusion/sequence/conversion/detail/as_set.hpp rename to include/boost/fusion/container/set/detail/as_set.hpp index 717d21ae..33786338 100644 --- a/include/boost/fusion/sequence/conversion/detail/as_set.hpp +++ b/include/boost/fusion/container/set/detail/as_set.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include @@ -24,7 +24,7 @@ namespace boost { namespace fusion { namespace detail { template struct as_set; - + template <> struct as_set<0> { @@ -33,7 +33,7 @@ namespace boost { namespace fusion { namespace detail { typedef set<> type; }; - + template static typename apply::type call(Iterator) @@ -54,7 +54,7 @@ namespace boost { namespace fusion { namespace detail typedef typename fusion::result_of::value_of::type \ BOOST_PP_CAT(T, n); -#define BOOST_PP_FILENAME_1 +#define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE) #include BOOST_PP_ITERATE() @@ -84,7 +84,7 @@ namespace boost { namespace fusion { namespace detail BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) typedef set type; }; - + template static typename apply::type call(Iterator const& i0) diff --git a/include/boost/fusion/sequence/container/set/detail/at_key_impl.hpp b/include/boost/fusion/container/set/detail/at_key_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/set/detail/at_key_impl.hpp rename to include/boost/fusion/container/set/detail/at_key_impl.hpp diff --git a/include/boost/fusion/sequence/container/set/detail/begin_impl.hpp b/include/boost/fusion/container/set/detail/begin_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/set/detail/begin_impl.hpp rename to include/boost/fusion/container/set/detail/begin_impl.hpp diff --git a/include/boost/fusion/container/set/detail/convert_impl.hpp b/include/boost/fusion/container/set/detail/convert_impl.hpp new file mode 100644 index 00000000..1aa79fb1 --- /dev/null +++ b/include/boost/fusion/container/set/detail/convert_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_IMPL_09232005_1341) +#define FUSION_CONVERT_IMPL_09232005_1341 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct set_tag; + + namespace extension + { + template + struct convert_impl; + + template <> + struct convert_impl + { + template + struct apply + { + typedef typename detail::as_set::value> gen; + typedef typename gen:: + template apply::type>::type + type; + + static type call(Sequence& seq) + { + return gen::call(fusion::begin(seq)); + } + }; + }; + } +}} + +#endif diff --git a/include/boost/fusion/sequence/container/set/detail/end_impl.hpp b/include/boost/fusion/container/set/detail/end_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/set/detail/end_impl.hpp rename to include/boost/fusion/container/set/detail/end_impl.hpp diff --git a/include/boost/fusion/sequence/container/set/detail/lookup_key.hpp b/include/boost/fusion/container/set/detail/lookup_key.hpp similarity index 100% rename from include/boost/fusion/sequence/container/set/detail/lookup_key.hpp rename to include/boost/fusion/container/set/detail/lookup_key.hpp diff --git a/include/boost/fusion/sequence/container/set/detail/set_forward_ctor.hpp b/include/boost/fusion/container/set/detail/set_forward_ctor.hpp similarity index 94% rename from include/boost/fusion/sequence/container/set/detail/set_forward_ctor.hpp rename to include/boost/fusion/container/set/detail/set_forward_ctor.hpp index 6eddd650..d105b150 100644 --- a/include/boost/fusion/sequence/container/set/detail/set_forward_ctor.hpp +++ b/include/boost/fusion/container/set/detail/set_forward_ctor.hpp @@ -13,7 +13,7 @@ #include #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_SET_SIZE) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/sequence/container/set/detail/set_lookup.hpp b/include/boost/fusion/container/set/detail/set_lookup.hpp similarity index 95% rename from include/boost/fusion/sequence/container/set/detail/set_lookup.hpp rename to include/boost/fusion/container/set/detail/set_lookup.hpp index b6c59994..6df4b401 100644 --- a/include/boost/fusion/sequence/container/set/detail/set_lookup.hpp +++ b/include/boost/fusion/container/set/detail/set_lookup.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -15,6 +15,7 @@ #include #if defined(BOOST_MSVC) && (BOOST_MSVC == 1310) +#pragma warning (push) #pragma warning(disable: 4348) // redefinition of default parameter #endif @@ -51,10 +52,14 @@ } #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (0, BOOST_PP_DEC(FUSION_MAX_SET_SIZE)) #include BOOST_PP_ITERATE() +#if defined(BOOST_MSVC) && (BOOST_MSVC == 1310) +#pragma warning (pop) +#endif + #endif #else // defined(BOOST_PP_IS_ITERATING) /////////////////////////////////////////////////////////////////////////////// diff --git a/include/boost/fusion/sequence/container/set/detail/value_at_key_impl.hpp b/include/boost/fusion/container/set/detail/value_at_key_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/set/detail/value_at_key_impl.hpp rename to include/boost/fusion/container/set/detail/value_at_key_impl.hpp diff --git a/include/boost/fusion/sequence/container/set/limits.hpp b/include/boost/fusion/container/set/limits.hpp similarity index 92% rename from include/boost/fusion/sequence/container/set/limits.hpp rename to include/boost/fusion/container/set/limits.hpp index 0b03b4dc..35eb0803 100644 --- a/include/boost/fusion/sequence/container/set/limits.hpp +++ b/include/boost/fusion/container/set/limits.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_SET_LIMITS_09162005_1103) #define FUSION_SET_LIMITS_09162005_1103 -#include +#include #if !defined(FUSION_MAX_SET_SIZE) # define FUSION_MAX_SET_SIZE FUSION_MAX_VECTOR_SIZE diff --git a/include/boost/fusion/sequence/container/set/set.hpp b/include/boost/fusion/container/set/set.hpp similarity index 73% rename from include/boost/fusion/sequence/container/set/set.hpp rename to include/boost/fusion/container/set/set.hpp index f5e7f152..07580bb6 100644 --- a/include/boost/fusion/sequence/container/set/set.hpp +++ b/include/boost/fusion/container/set/set.hpp @@ -10,13 +10,13 @@ #include #include #include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #include #include @@ -48,8 +48,8 @@ namespace boost { namespace fusion set(Sequence const& rhs) : data(rhs) {} - #include - #include + #include + #include template set& diff --git a/include/boost/fusion/sequence/container/set/set_fwd.hpp b/include/boost/fusion/container/set/set_fwd.hpp similarity index 92% rename from include/boost/fusion/sequence/container/set/set_fwd.hpp rename to include/boost/fusion/container/set/set_fwd.hpp index 38ca9d22..7facb513 100644 --- a/include/boost/fusion/sequence/container/set/set_fwd.hpp +++ b/include/boost/fusion/container/set/set_fwd.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_SET_FORWARD_09162005_1102) #define FUSION_SET_FORWARD_09162005_1102 -#include +#include #include namespace boost { namespace fusion diff --git a/include/boost/fusion/container/vector.hpp b/include/boost/fusion/container/vector.hpp new file mode 100644 index 00000000..389a102e --- /dev/null +++ b/include/boost/fusion/container/vector.hpp @@ -0,0 +1,21 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_SEQUENCE_CLASS_VECTOR_10022005_0602) +#define FUSION_SEQUENCE_CLASS_VECTOR_10022005_0602 + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include + +#endif diff --git a/include/boost/fusion/sequence/conversion/as_vector.hpp b/include/boost/fusion/container/vector/convert.hpp similarity index 80% rename from include/boost/fusion/sequence/conversion/as_vector.hpp rename to include/boost/fusion/container/vector/convert.hpp index 3e8cfab1..a31578a2 100644 --- a/include/boost/fusion/sequence/conversion/as_vector.hpp +++ b/include/boost/fusion/container/vector/convert.hpp @@ -1,18 +1,19 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#if !defined(FUSION_AS_VECTOR_09222005_1104) -#define FUSION_AS_VECTOR_09222005_1104 +#if !defined(FUSION_CONVERT_09222005_1104) +#define FUSION_CONVERT_09222005_1104 -#include -#include +#include +#include +#include #include #include -namespace boost { namespace fusion +namespace boost { namespace fusion { namespace result_of { diff --git a/include/boost/fusion/sequence/container/vector/detail/advance_impl.hpp b/include/boost/fusion/container/vector/detail/advance_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/vector/detail/advance_impl.hpp rename to include/boost/fusion/container/vector/detail/advance_impl.hpp diff --git a/include/boost/fusion/sequence/conversion/detail/as_vector.hpp b/include/boost/fusion/container/vector/detail/as_vector.hpp similarity index 94% rename from include/boost/fusion/sequence/conversion/detail/as_vector.hpp rename to include/boost/fusion/container/vector/detail/as_vector.hpp index 493b42fe..fa8dadcf 100644 --- a/include/boost/fusion/sequence/conversion/detail/as_vector.hpp +++ b/include/boost/fusion/container/vector/detail/as_vector.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #ifndef BOOST_PP_IS_ITERATING @@ -15,7 +15,7 @@ #include #include #include -#include +#include #include #include #include @@ -24,7 +24,7 @@ namespace boost { namespace fusion { namespace detail { template struct as_vector; - + template <> struct as_vector<0> { @@ -33,7 +33,7 @@ namespace boost { namespace fusion { namespace detail { typedef vector<> type; }; - + template static typename apply::type call(Iterator) @@ -54,7 +54,7 @@ namespace boost { namespace fusion { namespace detail typedef typename fusion::result_of::value_of::type \ BOOST_PP_CAT(T, n); -#define BOOST_PP_FILENAME_1 +#define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) #include BOOST_PP_ITERATE() @@ -84,7 +84,7 @@ namespace boost { namespace fusion { namespace detail BOOST_PP_REPEAT(N, BOOST_FUSION_VALUE_OF_ITERATOR, _) typedef vector type; }; - + template static typename apply::type call(Iterator const& i0) diff --git a/include/boost/fusion/sequence/container/vector/detail/at_impl.hpp b/include/boost/fusion/container/vector/detail/at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/vector/detail/at_impl.hpp rename to include/boost/fusion/container/vector/detail/at_impl.hpp diff --git a/include/boost/fusion/sequence/container/vector/detail/begin_impl.hpp b/include/boost/fusion/container/vector/detail/begin_impl.hpp similarity index 93% rename from include/boost/fusion/sequence/container/vector/detail/begin_impl.hpp rename to include/boost/fusion/container/vector/detail/begin_impl.hpp index 31d5643c..d2d687be 100644 --- a/include/boost/fusion/sequence/container/vector/detail/begin_impl.hpp +++ b/include/boost/fusion/container/vector/detail/begin_impl.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_BEGIN_IMPL_05042005_1136) #define FUSION_BEGIN_IMPL_05042005_1136 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/container/vector/detail/convert_impl.hpp b/include/boost/fusion/container/vector/detail/convert_impl.hpp new file mode 100644 index 00000000..5e1d080f --- /dev/null +++ b/include/boost/fusion/container/vector/detail/convert_impl.hpp @@ -0,0 +1,45 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + Copyright (c) 2005-2006 Dan Marsden + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_IMPL_09222005_1104) +#define FUSION_CONVERT_IMPL_09222005_1104 + +#include +#include +#include +#include + +namespace boost { namespace fusion +{ + struct vector_tag; + + namespace extension + { + template + struct convert_impl; + + template <> + struct convert_impl + { + template + struct apply + { + typedef typename detail::as_vector::value> gen; + typedef typename gen:: + template apply::type>::type + type; + + static type call(Sequence& seq) + { + return gen::call(fusion::begin(seq)); + } + }; + }; + } +}} + +#endif diff --git a/include/boost/fusion/sequence/container/vector/detail/deref_impl.hpp b/include/boost/fusion/container/vector/detail/deref_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/vector/detail/deref_impl.hpp rename to include/boost/fusion/container/vector/detail/deref_impl.hpp diff --git a/include/boost/fusion/sequence/container/vector/detail/distance_impl.hpp b/include/boost/fusion/container/vector/detail/distance_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/vector/detail/distance_impl.hpp rename to include/boost/fusion/container/vector/detail/distance_impl.hpp diff --git a/include/boost/fusion/sequence/container/vector/detail/end_impl.hpp b/include/boost/fusion/container/vector/detail/end_impl.hpp similarity index 93% rename from include/boost/fusion/sequence/container/vector/detail/end_impl.hpp rename to include/boost/fusion/container/vector/detail/end_impl.hpp index 795cabaa..f33282dc 100644 --- a/include/boost/fusion/sequence/container/vector/detail/end_impl.hpp +++ b/include/boost/fusion/container/vector/detail/end_impl.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_END_IMPL_05042005_1142) #define FUSION_END_IMPL_05042005_1142 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/container/vector/detail/equal_to_impl.hpp b/include/boost/fusion/container/vector/detail/equal_to_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/vector/detail/equal_to_impl.hpp rename to include/boost/fusion/container/vector/detail/equal_to_impl.hpp diff --git a/include/boost/fusion/sequence/container/vector/detail/next_impl.hpp b/include/boost/fusion/container/vector/detail/next_impl.hpp similarity index 94% rename from include/boost/fusion/sequence/container/vector/detail/next_impl.hpp rename to include/boost/fusion/container/vector/detail/next_impl.hpp index 1bbe16f1..b11cfdb2 100644 --- a/include/boost/fusion/sequence/container/vector/detail/next_impl.hpp +++ b/include/boost/fusion/container/vector/detail/next_impl.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_NEXT_IMPL_05042005_1058) #define FUSION_NEXT_IMPL_05042005_1058 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/container/vector/detail/prior_impl.hpp b/include/boost/fusion/container/vector/detail/prior_impl.hpp similarity index 94% rename from include/boost/fusion/sequence/container/vector/detail/prior_impl.hpp rename to include/boost/fusion/container/vector/detail/prior_impl.hpp index 3caaa590..610591b6 100644 --- a/include/boost/fusion/sequence/container/vector/detail/prior_impl.hpp +++ b/include/boost/fusion/container/vector/detail/prior_impl.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_PRIOR_IMPL_05042005_1145) #define FUSION_PRIOR_IMPL_05042005_1145 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/container/vector/detail/value_at_impl.hpp b/include/boost/fusion/container/vector/detail/value_at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/vector/detail/value_at_impl.hpp rename to include/boost/fusion/container/vector/detail/value_at_impl.hpp diff --git a/include/boost/fusion/sequence/container/vector/detail/value_of_impl.hpp b/include/boost/fusion/container/vector/detail/value_of_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/container/vector/detail/value_of_impl.hpp rename to include/boost/fusion/container/vector/detail/value_of_impl.hpp diff --git a/include/boost/fusion/sequence/container/vector/detail/vector_forward_ctor.hpp b/include/boost/fusion/container/vector/detail/vector_forward_ctor.hpp similarity index 94% rename from include/boost/fusion/sequence/container/vector/detail/vector_forward_ctor.hpp rename to include/boost/fusion/container/vector/detail/vector_forward_ctor.hpp index 0dadc05d..e4680bb8 100644 --- a/include/boost/fusion/sequence/container/vector/detail/vector_forward_ctor.hpp +++ b/include/boost/fusion/container/vector/detail/vector_forward_ctor.hpp @@ -13,7 +13,7 @@ #include #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/sequence/container/vector/detail/vector_n.hpp b/include/boost/fusion/container/vector/detail/vector_n.hpp similarity index 100% rename from include/boost/fusion/sequence/container/vector/detail/vector_n.hpp rename to include/boost/fusion/container/vector/detail/vector_n.hpp diff --git a/include/boost/fusion/sequence/container/vector/detail/vector_n_chooser.hpp b/include/boost/fusion/container/vector/detail/vector_n_chooser.hpp similarity index 85% rename from include/boost/fusion/sequence/container/vector/detail/vector_n_chooser.hpp rename to include/boost/fusion/container/vector/detail/vector_n_chooser.hpp index 8f372b9b..29248907 100644 --- a/include/boost/fusion/sequence/container/vector/detail/vector_n_chooser.hpp +++ b/include/boost/fusion/container/vector/detail/vector_n_chooser.hpp @@ -8,21 +8,21 @@ #if !defined(FUSION_VECTOR_N_CHOOSER_07072005_1248) #define FUSION_VECTOR_N_CHOOSER_07072005_1248 -#include +#include // include vector0..N where N is FUSION_MAX_VECTOR_SIZE -#include +#include #if (FUSION_MAX_VECTOR_SIZE > 10) -#include +#include #endif #if (FUSION_MAX_VECTOR_SIZE > 20) -#include +#include #endif #if (FUSION_MAX_VECTOR_SIZE > 30) -#include +#include #endif #if (FUSION_MAX_VECTOR_SIZE > 40) -#include +#include #endif #include @@ -52,7 +52,7 @@ namespace boost { namespace fusion { namespace detail }; #define BOOST_PP_FILENAME_1 \ - + #define BOOST_PP_ITERATION_LIMITS (1, FUSION_MAX_VECTOR_SIZE) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/sequence/container/vector/limits.hpp b/include/boost/fusion/container/vector/limits.hpp similarity index 100% rename from include/boost/fusion/sequence/container/vector/limits.hpp rename to include/boost/fusion/container/vector/limits.hpp diff --git a/include/boost/fusion/sequence/container/vector/vector.hpp b/include/boost/fusion/container/vector/vector.hpp similarity index 86% rename from include/boost/fusion/sequence/container/vector/vector.hpp rename to include/boost/fusion/container/vector/vector.hpp index a2fa9bc4..aef3134c 100644 --- a/include/boost/fusion/sequence/container/vector/vector.hpp +++ b/include/boost/fusion/container/vector/vector.hpp @@ -1,15 +1,14 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_VECTOR_07072005_1244) #define FUSION_VECTOR_07072005_1244 -#include -#include -#include +#include +#include #include #include #include @@ -24,11 +23,11 @@ namespace boost { namespace fusion struct fusion_sequence_tag; template - struct vector + struct vector : sequence_base > { private: - + typedef typename detail::vector_n_chooser< BOOST_PP_ENUM_PARAMS(FUSION_MAX_VECTOR_SIZE, T)>::type vector_n; @@ -37,7 +36,7 @@ namespace boost { namespace fusion friend struct vector; public: - + typedef typename vector_n::types types; typedef typename vector_n::fusion_tag fusion_tag; typedef typename vector_n::tag tag; @@ -70,7 +69,7 @@ namespace boost { namespace fusion // typename detail::call_param::type _0 // , typename detail::call_param::type _1) // : vec(_0, _1) {} - #include + #include template vector& @@ -93,10 +92,10 @@ namespace boost { namespace fusion typename mpl::at_c::type >::type at_impl(mpl::int_ index) - { - return vec.at_impl(index); + { + return vec.at_impl(index); } - + template typename add_reference< typename add_const< @@ -104,8 +103,8 @@ namespace boost { namespace fusion >::type >::type at_impl(mpl::int_ index) const - { - return vec.at_impl(index); + { + return vec.at_impl(index); } template @@ -113,8 +112,8 @@ namespace boost { namespace fusion typename mpl::at::type >::type at_impl(I index) - { - return vec.at_impl(mpl::int_()); + { + return vec.at_impl(mpl::int_()); } template @@ -124,21 +123,21 @@ namespace boost { namespace fusion >::type >::type at_impl(I index) const - { + { return vec.at_impl(mpl::int_()); - } + } private: - + #if BOOST_WORKAROUND(BOOST_MSVC, <= 1400) - static vector_n const& + static vector_n const& ctor_helper(vector const& rhs, mpl::true_) { return rhs.vec; } template - static T const& + static T const& ctor_helper(T const& rhs, mpl::false_) { return rhs; diff --git a/include/boost/fusion/sequence/container/vector/vector10.hpp b/include/boost/fusion/container/vector/vector10.hpp similarity index 84% rename from include/boost/fusion/sequence/container/vector/vector10.hpp rename to include/boost/fusion/container/vector/vector10.hpp index 6ff80a0c..28531b6f 100644 --- a/include/boost/fusion/sequence/container/vector/vector10.hpp +++ b/include/boost/fusion/container/vector/vector10.hpp @@ -12,10 +12,10 @@ #include #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include @@ -56,7 +56,7 @@ namespace boost { namespace fusion }; // expand vector1 to vector10 -#define BOOST_PP_FILENAME_1 +#define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (1, 10) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/sequence/container/vector/vector20.hpp b/include/boost/fusion/container/vector/vector20.hpp similarity index 80% rename from include/boost/fusion/sequence/container/vector/vector20.hpp rename to include/boost/fusion/container/vector/vector20.hpp index 63809dfb..be711006 100644 --- a/include/boost/fusion/sequence/container/vector/vector20.hpp +++ b/include/boost/fusion/container/vector/vector20.hpp @@ -12,10 +12,10 @@ #include #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include @@ -40,7 +40,7 @@ namespace boost { namespace fusion struct random_access_traversal_tag; // expand vector11 to vector20 -#define BOOST_PP_FILENAME_1 +#define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (11, 20) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/sequence/container/vector/vector30.hpp b/include/boost/fusion/container/vector/vector30.hpp similarity index 80% rename from include/boost/fusion/sequence/container/vector/vector30.hpp rename to include/boost/fusion/container/vector/vector30.hpp index 0c094ebd..efbe9293 100644 --- a/include/boost/fusion/sequence/container/vector/vector30.hpp +++ b/include/boost/fusion/container/vector/vector30.hpp @@ -12,10 +12,10 @@ #include #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include @@ -40,7 +40,7 @@ namespace boost { namespace fusion struct random_access_traversal_tag; // expand vector21 to vector30 -#define BOOST_PP_FILENAME_1 +#define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (21, 30) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/sequence/container/vector/vector40.hpp b/include/boost/fusion/container/vector/vector40.hpp similarity index 80% rename from include/boost/fusion/sequence/container/vector/vector40.hpp rename to include/boost/fusion/container/vector/vector40.hpp index ecb13b71..b72a23c5 100644 --- a/include/boost/fusion/sequence/container/vector/vector40.hpp +++ b/include/boost/fusion/container/vector/vector40.hpp @@ -12,10 +12,10 @@ #include #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include @@ -40,7 +40,7 @@ namespace boost { namespace fusion struct random_access_traversal_tag; // expand vector31 to vector40 -#define BOOST_PP_FILENAME_1 +#define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (31, 40) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/sequence/container/vector/vector50.hpp b/include/boost/fusion/container/vector/vector50.hpp similarity index 80% rename from include/boost/fusion/sequence/container/vector/vector50.hpp rename to include/boost/fusion/container/vector/vector50.hpp index f5109448..ab8515d7 100644 --- a/include/boost/fusion/sequence/container/vector/vector50.hpp +++ b/include/boost/fusion/container/vector/vector50.hpp @@ -12,10 +12,10 @@ #include #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include @@ -40,7 +40,7 @@ namespace boost { namespace fusion struct random_access_traversal_tag; // expand vector41 to vector50 -#define BOOST_PP_FILENAME_1 +#define BOOST_PP_FILENAME_1 #define BOOST_PP_ITERATION_LIMITS (41, 50) #include BOOST_PP_ITERATE() diff --git a/include/boost/fusion/sequence/container/vector/vector_fwd.hpp b/include/boost/fusion/container/vector/vector_fwd.hpp similarity index 92% rename from include/boost/fusion/sequence/container/vector/vector_fwd.hpp rename to include/boost/fusion/container/vector/vector_fwd.hpp index 8d1e23d6..a6b9cc66 100644 --- a/include/boost/fusion/sequence/container/vector/vector_fwd.hpp +++ b/include/boost/fusion/container/vector/vector_fwd.hpp @@ -8,7 +8,7 @@ #if !defined(FUSION_VECTOR_FORWARD_07072005_0125) #define FUSION_VECTOR_FORWARD_07072005_0125 -#include +#include #include namespace boost { namespace fusion diff --git a/include/boost/fusion/sequence/container/vector/vector_iterator.hpp b/include/boost/fusion/container/vector/vector_iterator.hpp similarity index 70% rename from include/boost/fusion/sequence/container/vector/vector_iterator.hpp rename to include/boost/fusion/container/vector/vector_iterator.hpp index fee4f6b0..9feeb520 100644 --- a/include/boost/fusion/sequence/container/vector/vector_iterator.hpp +++ b/include/boost/fusion/container/vector/vector_iterator.hpp @@ -8,13 +8,13 @@ #define FUSION_VECTOR_ITERATOR_05042005_0635 #include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/include/boost/fusion/functional/adapter/limits.hpp b/include/boost/fusion/functional/adapter/limits.hpp index 476fe021..cf6701c4 100644 --- a/include/boost/fusion/functional/adapter/limits.hpp +++ b/include/boost/fusion/functional/adapter/limits.hpp @@ -9,7 +9,7 @@ #if !defined(BOOST_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP_INCLUDED) # define BOOST_FUSION_FUNCTIONAL_ADAPTER_LIMITS_HPP_INCLUDED -# include +# include # if !defined(BOOST_FUSION_UNFUSED_GENERIC_MAX_ARITY) # define BOOST_FUSION_UNFUSED_GENERIC_MAX_ARITY 6 diff --git a/include/boost/fusion/functional/adapter/unfused_generic.hpp b/include/boost/fusion/functional/adapter/unfused_generic.hpp index 69191ef3..82b1e4b0 100644 --- a/include/boost/fusion/functional/adapter/unfused_generic.hpp +++ b/include/boost/fusion/functional/adapter/unfused_generic.hpp @@ -18,7 +18,7 @@ #include #include -#include +#include #include #include diff --git a/include/boost/fusion/functional/adapter/unfused_lvalue_args.hpp b/include/boost/fusion/functional/adapter/unfused_lvalue_args.hpp index 7b801cf7..ba2f31b6 100644 --- a/include/boost/fusion/functional/adapter/unfused_lvalue_args.hpp +++ b/include/boost/fusion/functional/adapter/unfused_lvalue_args.hpp @@ -17,7 +17,7 @@ #include -#include +#include #include #include diff --git a/include/boost/fusion/functional/adapter/unfused_rvalue_args.hpp b/include/boost/fusion/functional/adapter/unfused_rvalue_args.hpp index eea0fec9..3c80475e 100644 --- a/include/boost/fusion/functional/adapter/unfused_rvalue_args.hpp +++ b/include/boost/fusion/functional/adapter/unfused_rvalue_args.hpp @@ -17,7 +17,7 @@ #include -#include +#include #include #include diff --git a/include/boost/fusion/functional/adapter/unfused_typed.hpp b/include/boost/fusion/functional/adapter/unfused_typed.hpp index 94385a35..9ee3a7a6 100644 --- a/include/boost/fusion/functional/adapter/unfused_typed.hpp +++ b/include/boost/fusion/functional/adapter/unfused_typed.hpp @@ -22,8 +22,8 @@ #include #include #include -#include -#include +#include +#include #include #include diff --git a/include/boost/fusion/include/accumulate.hpp b/include/boost/fusion/include/accumulate.hpp new file mode 100644 index 00000000..e3532dc0 --- /dev/null +++ b/include/boost/fusion/include/accumulate.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ACCUMULATE) +#define FUSION_INCLUDE_ACCUMULATE + +#include + +#endif diff --git a/include/boost/fusion/include/adapt_struct.hpp b/include/boost/fusion/include/adapt_struct.hpp index 2fab5de7..facc8970 100644 --- a/include/boost/fusion/include/adapt_struct.hpp +++ b/include/boost/fusion/include/adapt_struct.hpp @@ -7,6 +7,6 @@ #if !defined(FUSION_INCLUDE_ADAPT_STRUCT) #define FUSION_INCLUDE_ADAPT_STRUCT -#include +#include #endif diff --git a/include/boost/fusion/include/adapted.hpp b/include/boost/fusion/include/adapted.hpp new file mode 100644 index 00000000..1827267d --- /dev/null +++ b/include/boost/fusion/include/adapted.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ADAPTED) +#define FUSION_INCLUDE_ADAPTED + +#include + +#endif diff --git a/include/boost/fusion/include/adapter.hpp b/include/boost/fusion/include/adapter.hpp new file mode 100644 index 00000000..2441d7ca --- /dev/null +++ b/include/boost/fusion/include/adapter.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ADAPTER) +#define FUSION_INCLUDE_ADAPTER + +#include + +#endif diff --git a/include/boost/fusion/include/advance.hpp b/include/boost/fusion/include/advance.hpp new file mode 100644 index 00000000..cb9ed7a9 --- /dev/null +++ b/include/boost/fusion/include/advance.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ADVANCE) +#define FUSION_INCLUDE_ADVANCE + +#include + +#endif diff --git a/include/boost/fusion/include/algorithm.hpp b/include/boost/fusion/include/algorithm.hpp new file mode 100644 index 00000000..1a362fd8 --- /dev/null +++ b/include/boost/fusion/include/algorithm.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ALGORITHM) +#define FUSION_INCLUDE_ALGORITHM + +#include + +#endif diff --git a/include/boost/fusion/include/all.hpp b/include/boost/fusion/include/all.hpp new file mode 100644 index 00000000..58026268 --- /dev/null +++ b/include/boost/fusion/include/all.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ALL) +#define FUSION_INCLUDE_ALL + +#include + +#endif diff --git a/include/boost/fusion/include/array.hpp b/include/boost/fusion/include/array.hpp new file mode 100644 index 00000000..b54cd70d --- /dev/null +++ b/include/boost/fusion/include/array.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ARRAY) +#define FUSION_INCLUDE_ARRAY + +#include + +#endif diff --git a/include/boost/fusion/include/as_deque.hpp b/include/boost/fusion/include/as_deque.hpp new file mode 100644 index 00000000..8f1686f2 --- /dev/null +++ b/include/boost/fusion/include/as_deque.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_AS_DEQUE) +#define FUSION_INCLUDE_AS_DEQUE + +#include + +#endif diff --git a/include/boost/fusion/include/as_list.hpp b/include/boost/fusion/include/as_list.hpp new file mode 100644 index 00000000..6c477d24 --- /dev/null +++ b/include/boost/fusion/include/as_list.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_AS_LIST) +#define FUSION_INCLUDE_AS_LIST + +#include + +#endif diff --git a/include/boost/fusion/include/as_map.hpp b/include/boost/fusion/include/as_map.hpp new file mode 100644 index 00000000..bdfd3f53 --- /dev/null +++ b/include/boost/fusion/include/as_map.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_AS_MAP) +#define FUSION_INCLUDE_AS_MAP + +#include + +#endif diff --git a/include/boost/fusion/include/as_set.hpp b/include/boost/fusion/include/as_set.hpp new file mode 100644 index 00000000..c0d5a8b3 --- /dev/null +++ b/include/boost/fusion/include/as_set.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_AS_SET) +#define FUSION_INCLUDE_AS_SET + +#include + +#endif diff --git a/include/boost/fusion/include/as_vector.hpp b/include/boost/fusion/include/as_vector.hpp index 2136b492..4c9b39d0 100644 --- a/include/boost/fusion/include/as_vector.hpp +++ b/include/boost/fusion/include/as_vector.hpp @@ -7,6 +7,6 @@ #if !defined(FUSION_INCLUDE_AS_VECTOR) #define FUSION_INCLUDE_AS_VECTOR -#include +#include #endif diff --git a/include/boost/fusion/include/at_key.hpp b/include/boost/fusion/include/at_key.hpp new file mode 100644 index 00000000..89a0aae2 --- /dev/null +++ b/include/boost/fusion/include/at_key.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_AT_KEY) +#define FUSION_INCLUDE_AT_KEY + +#include + +#endif diff --git a/include/boost/fusion/include/back.hpp b/include/boost/fusion/include/back.hpp new file mode 100644 index 00000000..d5e77f0a --- /dev/null +++ b/include/boost/fusion/include/back.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_BACK) +#define FUSION_INCLUDE_BACK + +#include + +#endif diff --git a/include/boost/fusion/include/boost_tuple.hpp b/include/boost/fusion/include/boost_tuple.hpp new file mode 100644 index 00000000..1ccc94da --- /dev/null +++ b/include/boost/fusion/include/boost_tuple.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_BOOST_TUPLE) +#define FUSION_INCLUDE_BOOST_TUPLE + +#include + +#endif diff --git a/include/boost/fusion/include/category_of.hpp b/include/boost/fusion/include/category_of.hpp new file mode 100644 index 00000000..c390686c --- /dev/null +++ b/include/boost/fusion/include/category_of.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_CATEGORY_OF) +#define FUSION_INCLUDE_CATEGORY_OF + +#include + +#endif diff --git a/include/boost/fusion/include/clear.hpp b/include/boost/fusion/include/clear.hpp new file mode 100644 index 00000000..7fd86332 --- /dev/null +++ b/include/boost/fusion/include/clear.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_CLEAR) +#define FUSION_INCLUDE_CLEAR + +#include + +#endif diff --git a/include/boost/fusion/include/comparison.hpp b/include/boost/fusion/include/comparison.hpp new file mode 100644 index 00000000..e7790f28 --- /dev/null +++ b/include/boost/fusion/include/comparison.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_COMPARISON) +#define FUSION_INCLUDE_COMPARISON + +#include + +#endif diff --git a/include/boost/fusion/include/cons.hpp b/include/boost/fusion/include/cons.hpp new file mode 100644 index 00000000..853eb6d2 --- /dev/null +++ b/include/boost/fusion/include/cons.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_CONS) +#define FUSION_INCLUDE_CONS + +#include + +#endif diff --git a/include/boost/fusion/include/cons_tie.hpp b/include/boost/fusion/include/cons_tie.hpp new file mode 100644 index 00000000..0fa5a592 --- /dev/null +++ b/include/boost/fusion/include/cons_tie.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_CONS_TIE) +#define FUSION_INCLUDE_CONS_TIE + +#include + +#endif diff --git a/include/boost/fusion/include/container.hpp b/include/boost/fusion/include/container.hpp new file mode 100644 index 00000000..657b4c30 --- /dev/null +++ b/include/boost/fusion/include/container.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_CONTAINER) +#define FUSION_INCLUDE_CONTAINER + +#include + +#endif diff --git a/include/boost/fusion/include/convert.hpp b/include/boost/fusion/include/convert.hpp new file mode 100644 index 00000000..1d64ea1b --- /dev/null +++ b/include/boost/fusion/include/convert.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_CONVERT) +#define FUSION_INCLUDE_CONVERT + +#include + +#endif diff --git a/include/boost/fusion/include/count.hpp b/include/boost/fusion/include/count.hpp new file mode 100644 index 00000000..750a0303 --- /dev/null +++ b/include/boost/fusion/include/count.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_COUNT) +#define FUSION_INCLUDE_COUNT + +#include + +#endif diff --git a/include/boost/fusion/include/count_if.hpp b/include/boost/fusion/include/count_if.hpp new file mode 100644 index 00000000..ff804ae9 --- /dev/null +++ b/include/boost/fusion/include/count_if.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_COUNT_IF) +#define FUSION_INCLUDE_COUNT_IF + +#include + +#endif diff --git a/include/boost/fusion/include/deduce.hpp b/include/boost/fusion/include/deduce.hpp new file mode 100644 index 00000000..43ec5c0f --- /dev/null +++ b/include/boost/fusion/include/deduce.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_DEDUCE) +#define FUSION_INCLUDE_DEDUCE + +#include + +#endif diff --git a/include/boost/fusion/include/deduce_sequence.hpp b/include/boost/fusion/include/deduce_sequence.hpp new file mode 100644 index 00000000..a8d36c08 --- /dev/null +++ b/include/boost/fusion/include/deduce_sequence.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_DEDUCE_SEQUENCE) +#define FUSION_INCLUDE_DEDUCE_SEQUENCE + +#include + +#endif diff --git a/include/boost/fusion/include/deque.hpp b/include/boost/fusion/include/deque.hpp new file mode 100644 index 00000000..17386a1d --- /dev/null +++ b/include/boost/fusion/include/deque.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_DEQUE) +#define FUSION_INCLUDE_DEQUE + +#include + +#endif diff --git a/include/boost/fusion/include/deque_fwd.hpp b/include/boost/fusion/include/deque_fwd.hpp new file mode 100644 index 00000000..915c3cbb --- /dev/null +++ b/include/boost/fusion/include/deque_fwd.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_DEQUE) +#define FUSION_INCLUDE_DEQUE + +#include + +#endif diff --git a/include/boost/fusion/include/deque_tie.hpp b/include/boost/fusion/include/deque_tie.hpp new file mode 100644 index 00000000..20ab1958 --- /dev/null +++ b/include/boost/fusion/include/deque_tie.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_GENERATION) +#define FUSION_INCLUDE_GENERATION + +#include +#include + +#endif diff --git a/include/boost/fusion/include/distance.hpp b/include/boost/fusion/include/distance.hpp new file mode 100644 index 00000000..fac103a6 --- /dev/null +++ b/include/boost/fusion/include/distance.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_DISTANCE) +#define FUSION_INCLUDE_DISTANCE + +#include + +#endif diff --git a/include/boost/fusion/include/empty.hpp b/include/boost/fusion/include/empty.hpp new file mode 100644 index 00000000..0a8af33c --- /dev/null +++ b/include/boost/fusion/include/empty.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_EMPTY) +#define FUSION_INCLUDE_EMPTY + +#include + +#endif diff --git a/include/boost/fusion/include/erase.hpp b/include/boost/fusion/include/erase.hpp new file mode 100644 index 00000000..b7e6fafb --- /dev/null +++ b/include/boost/fusion/include/erase.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ERASE) +#define FUSION_INCLUDE_ERASE + +#include + +#endif diff --git a/include/boost/fusion/include/erase_key.hpp b/include/boost/fusion/include/erase_key.hpp new file mode 100644 index 00000000..e13c889f --- /dev/null +++ b/include/boost/fusion/include/erase_key.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ERASE_KEY) +#define FUSION_INCLUDE_ERASE_KEY + +#include + +#endif diff --git a/include/boost/fusion/include/filter.hpp b/include/boost/fusion/include/filter.hpp new file mode 100644 index 00000000..234e4064 --- /dev/null +++ b/include/boost/fusion/include/filter.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FILTER) +#define FUSION_INCLUDE_FILTER + +#include + +#endif diff --git a/include/boost/fusion/include/filter_view.hpp b/include/boost/fusion/include/filter_view.hpp new file mode 100644 index 00000000..196df8a0 --- /dev/null +++ b/include/boost/fusion/include/filter_view.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FILTER_VIEW) +#define FUSION_INCLUDE_FILTER_VIEW + +#include + +#endif diff --git a/include/boost/fusion/include/find.hpp b/include/boost/fusion/include/find.hpp new file mode 100644 index 00000000..cf50c412 --- /dev/null +++ b/include/boost/fusion/include/find.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FIND) +#define FUSION_INCLUDE_FIND + +#include + +#endif diff --git a/include/boost/fusion/include/find_if.hpp b/include/boost/fusion/include/find_if.hpp new file mode 100644 index 00000000..aa1a4c7a --- /dev/null +++ b/include/boost/fusion/include/find_if.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FIND_IF) +#define FUSION_INCLUDE_FIND_IF + +#include + +#endif diff --git a/include/boost/fusion/include/fold.hpp b/include/boost/fusion/include/fold.hpp new file mode 100644 index 00000000..40bf3a79 --- /dev/null +++ b/include/boost/fusion/include/fold.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FOLD) +#define FUSION_INCLUDE_FOLD + +#include + +#endif diff --git a/include/boost/fusion/include/front.hpp b/include/boost/fusion/include/front.hpp new file mode 100644 index 00000000..495deaf7 --- /dev/null +++ b/include/boost/fusion/include/front.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FRONT) +#define FUSION_INCLUDE_FRONT + +#include + +#endif diff --git a/include/boost/fusion/include/functional.hpp b/include/boost/fusion/include/functional.hpp new file mode 100644 index 00000000..ab38fe1f --- /dev/null +++ b/include/boost/fusion/include/functional.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FUNCTIONAL) +#define FUSION_INCLUDE_FUNCTIONAL + +#include + +#endif diff --git a/include/boost/fusion/include/fused.hpp b/include/boost/fusion/include/fused.hpp new file mode 100644 index 00000000..fa9dd464 --- /dev/null +++ b/include/boost/fusion/include/fused.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FUSED) +#define FUSION_INCLUDE_FUSED + +#include + +#endif diff --git a/include/boost/fusion/include/fused_function_object.hpp b/include/boost/fusion/include/fused_function_object.hpp new file mode 100644 index 00000000..d35140c6 --- /dev/null +++ b/include/boost/fusion/include/fused_function_object.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FUSED_FUNCTION_OBJECT) +#define FUSION_INCLUDE_FUSED_FUNCTION_OBJECT + +#include + +#endif diff --git a/include/boost/fusion/include/fused_procedure.hpp b/include/boost/fusion/include/fused_procedure.hpp new file mode 100644 index 00000000..9df4717b --- /dev/null +++ b/include/boost/fusion/include/fused_procedure.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_FUSED_PROCEDURE) +#define FUSION_INCLUDE_FUSED_PROCEDURE + +#include + +#endif diff --git a/include/boost/fusion/include/generation.hpp b/include/boost/fusion/include/generation.hpp new file mode 100644 index 00000000..20ab1958 --- /dev/null +++ b/include/boost/fusion/include/generation.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_GENERATION) +#define FUSION_INCLUDE_GENERATION + +#include +#include + +#endif diff --git a/include/boost/fusion/include/greater.hpp b/include/boost/fusion/include/greater.hpp new file mode 100644 index 00000000..a5ff306f --- /dev/null +++ b/include/boost/fusion/include/greater.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_NOT_GREATER) +#define FUSION_INCLUDE_NOT_GREATER + +#include + +#endif diff --git a/include/boost/fusion/include/greater_equal.hpp b/include/boost/fusion/include/greater_equal.hpp new file mode 100644 index 00000000..3a092551 --- /dev/null +++ b/include/boost/fusion/include/greater_equal.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_GREATER_EQUAL) +#define FUSION_INCLUDE_GREATER_EQUAL + +#include + +#endif diff --git a/include/boost/fusion/include/has_key.hpp b/include/boost/fusion/include/has_key.hpp new file mode 100644 index 00000000..4eef64a1 --- /dev/null +++ b/include/boost/fusion/include/has_key.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_HAS_KEY) +#define FUSION_INCLUDE_EMPTY + +#include + +#endif diff --git a/include/boost/fusion/include/ignore.hpp b/include/boost/fusion/include/ignore.hpp new file mode 100644 index 00000000..20ab1958 --- /dev/null +++ b/include/boost/fusion/include/ignore.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_GENERATION) +#define FUSION_INCLUDE_GENERATION + +#include +#include + +#endif diff --git a/include/boost/fusion/include/in.hpp b/include/boost/fusion/include/in.hpp new file mode 100644 index 00000000..ca285c0e --- /dev/null +++ b/include/boost/fusion/include/in.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_IN) +#define FUSION_INCLUDE_IN + +#include + +#endif diff --git a/include/boost/fusion/include/insert.hpp b/include/boost/fusion/include/insert.hpp new file mode 100644 index 00000000..53c0b05e --- /dev/null +++ b/include/boost/fusion/include/insert.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_INSERT) +#define FUSION_INCLUDE_INSERT + +#include + +#endif diff --git a/include/boost/fusion/include/insert_range.hpp b/include/boost/fusion/include/insert_range.hpp new file mode 100644 index 00000000..f7093ed9 --- /dev/null +++ b/include/boost/fusion/include/insert_range.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_INSERT_RANGE) +#define FUSION_INCLUDE_INSERT_RANGE + +#include + +#endif diff --git a/include/boost/fusion/include/intrinsic.hpp b/include/boost/fusion/include/intrinsic.hpp new file mode 100644 index 00000000..c9d78711 --- /dev/null +++ b/include/boost/fusion/include/intrinsic.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_INTRINSIC) +#define FUSION_INCLUDE_INTRINSIC + +#include + +#endif diff --git a/include/boost/fusion/include/invocation.hpp b/include/boost/fusion/include/invocation.hpp new file mode 100644 index 00000000..2a6f12a3 --- /dev/null +++ b/include/boost/fusion/include/invocation.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_INVOCATION) +#define FUSION_INCLUDE_INVOCATION + +#include + +#endif diff --git a/include/boost/fusion/include/invoke.hpp b/include/boost/fusion/include/invoke.hpp new file mode 100644 index 00000000..45226425 --- /dev/null +++ b/include/boost/fusion/include/invoke.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_INVOKE) +#define FUSION_INCLUDE_INVOKE + +#include + +#endif diff --git a/include/boost/fusion/include/invoke_function_object.hpp b/include/boost/fusion/include/invoke_function_object.hpp new file mode 100644 index 00000000..4ffeb24d --- /dev/null +++ b/include/boost/fusion/include/invoke_function_object.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_INVOKE_FUNCTION_OBJECT) +#define FUSION_INCLUDE_INVOKE_FUNCTION_OBJECT + +#include + +#endif diff --git a/include/boost/fusion/include/invoke_procedure.hpp b/include/boost/fusion/include/invoke_procedure.hpp new file mode 100644 index 00000000..afd46259 --- /dev/null +++ b/include/boost/fusion/include/invoke_procedure.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_INVOKE_PROCEDURE) +#define FUSION_INCLUDE_INVOKE_PROCEDURE + +#include + +#endif diff --git a/include/boost/fusion/include/is_iterator.hpp b/include/boost/fusion/include/is_iterator.hpp new file mode 100644 index 00000000..31348eb7 --- /dev/null +++ b/include/boost/fusion/include/is_iterator.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_IS_ITERATOR) +#define FUSION_INCLUDE_IS_ITERATOR + +#include + +#endif diff --git a/include/boost/fusion/include/is_view.hpp b/include/boost/fusion/include/is_view.hpp new file mode 100644 index 00000000..5ebc3473 --- /dev/null +++ b/include/boost/fusion/include/is_view.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_IS_VIEW) +#define FUSION_INCLUDE_IS_VIEW + +#include + +#endif diff --git a/include/boost/fusion/include/iteration.hpp b/include/boost/fusion/include/iteration.hpp new file mode 100644 index 00000000..372aa726 --- /dev/null +++ b/include/boost/fusion/include/iteration.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ITERATION) +#define FUSION_INCLUDE_ITERATION + +#include + +#endif diff --git a/include/boost/fusion/include/iterator.hpp b/include/boost/fusion/include/iterator.hpp new file mode 100644 index 00000000..2ed8e838 --- /dev/null +++ b/include/boost/fusion/include/iterator.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ITERATOR) +#define FUSION_INCLUDE_ITERATOR + +#include + +#endif diff --git a/include/boost/fusion/include/iterator_base.hpp b/include/boost/fusion/include/iterator_base.hpp new file mode 100644 index 00000000..bbd35321 --- /dev/null +++ b/include/boost/fusion/include/iterator_base.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ITERATOR_BASE) +#define FUSION_INCLUDE_ITERATOR_BASE + +#include + +#endif diff --git a/include/boost/fusion/include/iterator_facade.hpp b/include/boost/fusion/include/iterator_facade.hpp new file mode 100644 index 00000000..a36f8b16 --- /dev/null +++ b/include/boost/fusion/include/iterator_facade.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ITERATOR_FACADE) +#define FUSION_INCLUDE_ITERATOR_FACADE + +#include + +#endif diff --git a/include/boost/fusion/include/iterator_range.hpp b/include/boost/fusion/include/iterator_range.hpp new file mode 100644 index 00000000..54eba6dd --- /dev/null +++ b/include/boost/fusion/include/iterator_range.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ITERATOR_RANGE) +#define FUSION_INCLUDE_ITERATOR_RANGE + +#include + +#endif diff --git a/include/boost/fusion/include/joint_view.hpp b/include/boost/fusion/include/joint_view.hpp index c60e34e5..e3d1e204 100644 --- a/include/boost/fusion/include/joint_view.hpp +++ b/include/boost/fusion/include/joint_view.hpp @@ -7,6 +7,6 @@ #if !defined(FUSION_INCLUDE_JOINT_VIEW) #define FUSION_INCLUDE_JOINT_VIEW -#include +#include #endif diff --git a/include/boost/fusion/include/less.hpp b/include/boost/fusion/include/less.hpp new file mode 100644 index 00000000..bd4d2771 --- /dev/null +++ b/include/boost/fusion/include/less.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_LESS) +#define FUSION_INCLUDE_LESS + +#include + +#endif diff --git a/include/boost/fusion/include/less_equal.hpp b/include/boost/fusion/include/less_equal.hpp new file mode 100644 index 00000000..2ac1b72b --- /dev/null +++ b/include/boost/fusion/include/less_equal.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_LESS_EQUAL) +#define FUSION_INCLUDE_LESS_EQUAL + +#include + +#endif diff --git a/include/boost/fusion/include/list.hpp b/include/boost/fusion/include/list.hpp index fb5c0b42..0a3a1a63 100644 --- a/include/boost/fusion/include/list.hpp +++ b/include/boost/fusion/include/list.hpp @@ -7,6 +7,6 @@ #if !defined(FUSION_INCLUDE_LIST) #define FUSION_INCLUDE_LIST -#include +#include #endif diff --git a/include/boost/fusion/include/list_fwd.hpp b/include/boost/fusion/include/list_fwd.hpp new file mode 100644 index 00000000..08823bf6 --- /dev/null +++ b/include/boost/fusion/include/list_fwd.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_LIST_FWD) +#define FUSION_INCLUDE_LIST_FWD + +#include + +#endif diff --git a/include/boost/fusion/include/list_tie.hpp b/include/boost/fusion/include/list_tie.hpp new file mode 100644 index 00000000..20ab1958 --- /dev/null +++ b/include/boost/fusion/include/list_tie.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_GENERATION) +#define FUSION_INCLUDE_GENERATION + +#include +#include + +#endif diff --git a/include/boost/fusion/include/make_deque.hpp b/include/boost/fusion/include/make_deque.hpp new file mode 100644 index 00000000..73ee13d5 --- /dev/null +++ b/include/boost/fusion/include/make_deque.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_DEQUE) +#define FUSION_INCLUDE_MAKE_DEQUE + +#include + +#endif diff --git a/include/boost/fusion/include/make_fused.hpp b/include/boost/fusion/include/make_fused.hpp new file mode 100644 index 00000000..6ed860ef --- /dev/null +++ b/include/boost/fusion/include/make_fused.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_FUSED) +#define FUSION_INCLUDE_MAKE_FUSED + +#include + +#endif diff --git a/include/boost/fusion/include/make_fused_function_object.hpp b/include/boost/fusion/include/make_fused_function_object.hpp new file mode 100644 index 00000000..dfc1295b --- /dev/null +++ b/include/boost/fusion/include/make_fused_function_object.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_FUSED_FUNCTION_OBJECT) +#define FUSION_INCLUDE_MAKE_FUSED_FUNCTION_OBJECT + +#include + +#endif diff --git a/include/boost/fusion/include/make_fused_procedure.hpp b/include/boost/fusion/include/make_fused_procedure.hpp new file mode 100644 index 00000000..94e44717 --- /dev/null +++ b/include/boost/fusion/include/make_fused_procedure.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_FUSED_PROCEDURE) +#define FUSION_INCLUDE_MAKE_FUSED_PROCEDURE + +#include + +#endif diff --git a/include/boost/fusion/include/make_list.hpp b/include/boost/fusion/include/make_list.hpp new file mode 100644 index 00000000..2fb5d12e --- /dev/null +++ b/include/boost/fusion/include/make_list.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_LIST) +#define FUSION_INCLUDE_MAKE_LIST + +#include + +#endif diff --git a/include/boost/fusion/include/make_map.hpp b/include/boost/fusion/include/make_map.hpp new file mode 100644 index 00000000..d5e05c94 --- /dev/null +++ b/include/boost/fusion/include/make_map.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_MAP) +#define FUSION_INCLUDE_MAKE_MAP + +#include + +#endif diff --git a/include/boost/fusion/include/make_set.hpp b/include/boost/fusion/include/make_set.hpp new file mode 100644 index 00000000..a2470ade --- /dev/null +++ b/include/boost/fusion/include/make_set.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_SET) +#define FUSION_INCLUDE_MAKE_SET + +#include + +#endif diff --git a/include/boost/fusion/include/make_tuple.hpp b/include/boost/fusion/include/make_tuple.hpp new file mode 100644 index 00000000..8cfbdc8e --- /dev/null +++ b/include/boost/fusion/include/make_tuple.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_TUPLE) +#define FUSION_INCLUDE_MAKE_TUPLE + +#include + +#endif diff --git a/include/boost/fusion/include/make_unfused_generic.hpp b/include/boost/fusion/include/make_unfused_generic.hpp new file mode 100644 index 00000000..dcebceb1 --- /dev/null +++ b/include/boost/fusion/include/make_unfused_generic.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_UNFUSED_GENERIC) +#define FUSION_INCLUDE_MAKE_UNFUSED_GENERIC + +#include + +#endif diff --git a/include/boost/fusion/include/make_unfused_lvalue_args.hpp b/include/boost/fusion/include/make_unfused_lvalue_args.hpp new file mode 100644 index 00000000..1805bb18 --- /dev/null +++ b/include/boost/fusion/include/make_unfused_lvalue_args.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_UNFUSED_LVALUE_ARGS) +#define FUSION_INCLUDE_MAKE_UNFUSED_LVALUE_ARGS + +#include + +#endif diff --git a/include/boost/fusion/include/make_unfused_rvalue_args.hpp b/include/boost/fusion/include/make_unfused_rvalue_args.hpp new file mode 100644 index 00000000..0d546be7 --- /dev/null +++ b/include/boost/fusion/include/make_unfused_rvalue_args.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAKE_UNFUSED_RVALUE_ARGS) +#define FUSION_INCLUDE_MAKE_UNFUSED_RVALUE_ARGS + +#include + +#endif diff --git a/include/boost/fusion/include/map.hpp b/include/boost/fusion/include/map.hpp new file mode 100644 index 00000000..07441b4a --- /dev/null +++ b/include/boost/fusion/include/map.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAP) +#define FUSION_INCLUDE_MAP + +#include + +#endif diff --git a/include/boost/fusion/include/map_fwd.hpp b/include/boost/fusion/include/map_fwd.hpp new file mode 100644 index 00000000..970c4132 --- /dev/null +++ b/include/boost/fusion/include/map_fwd.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAP_FWD) +#define FUSION_INCLUDE_MAP_FWD + +#include + +#endif diff --git a/include/boost/fusion/include/map_tie.hpp b/include/boost/fusion/include/map_tie.hpp new file mode 100644 index 00000000..87e4130f --- /dev/null +++ b/include/boost/fusion/include/map_tie.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_MAP_TIE) +#define FUSION_INCLUDE_MAP_TIE + +#include + +#endif diff --git a/include/boost/fusion/include/mpl.hpp b/include/boost/fusion/include/mpl.hpp index 5e3f906d..8a1cbfd0 100644 --- a/include/boost/fusion/include/mpl.hpp +++ b/include/boost/fusion/include/mpl.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_INCLUDE_MPL) #define FUSION_INCLUDE_MPL -#include -#include +#include +#include #endif diff --git a/include/boost/fusion/include/none.hpp b/include/boost/fusion/include/none.hpp new file mode 100644 index 00000000..19720ef8 --- /dev/null +++ b/include/boost/fusion/include/none.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_NONE) +#define FUSION_INCLUDE_NONE + +#include + +#endif diff --git a/include/boost/fusion/include/not_equal_to.hpp b/include/boost/fusion/include/not_equal_to.hpp new file mode 100644 index 00000000..9e23b899 --- /dev/null +++ b/include/boost/fusion/include/not_equal_to.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_NOT_EQUAL_TO) +#define FUSION_INCLUDE_NOT_EQUAL_TO + +#include +#include + +#endif diff --git a/include/boost/fusion/include/out.hpp b/include/boost/fusion/include/out.hpp new file mode 100644 index 00000000..9ecef3e7 --- /dev/null +++ b/include/boost/fusion/include/out.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Hartmut Kaiser + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_OUT) +#define FUSION_INCLUDE_OUT + +#include + +#endif diff --git a/include/boost/fusion/include/pair.hpp b/include/boost/fusion/include/pair.hpp new file mode 100644 index 00000000..97ebfcd8 --- /dev/null +++ b/include/boost/fusion/include/pair.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_PAIR) +#define FUSION_INCLUDE_PAIR + +#include + +#endif diff --git a/include/boost/fusion/include/pair_tie.hpp b/include/boost/fusion/include/pair_tie.hpp new file mode 100644 index 00000000..5096ef4f --- /dev/null +++ b/include/boost/fusion/include/pair_tie.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_PAIR_TIE) +#define FUSION_INCLUDE_PAIR_TIE + +#include + +#endif diff --git a/include/boost/fusion/include/pop_back.hpp b/include/boost/fusion/include/pop_back.hpp new file mode 100644 index 00000000..b5a808cd --- /dev/null +++ b/include/boost/fusion/include/pop_back.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_POP_BACK) +#define FUSION_INCLUDE_POP_BACK + +#include + +#endif diff --git a/include/boost/fusion/include/pop_front.hpp b/include/boost/fusion/include/pop_front.hpp new file mode 100644 index 00000000..7df977e0 --- /dev/null +++ b/include/boost/fusion/include/pop_front.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_POP_FRONT) +#define FUSION_INCLUDE_POP_FRONT + +#include + +#endif diff --git a/include/boost/fusion/include/prior.hpp b/include/boost/fusion/include/prior.hpp new file mode 100644 index 00000000..b18a55a3 --- /dev/null +++ b/include/boost/fusion/include/prior.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_PRIOR) +#define FUSION_INCLUDE_PRIOR + +#include + +#endif diff --git a/include/boost/fusion/include/push_back.hpp b/include/boost/fusion/include/push_back.hpp new file mode 100644 index 00000000..4908e87c --- /dev/null +++ b/include/boost/fusion/include/push_back.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_PUSH_BACK) +#define FUSION_INCLUDE_PUSH_BACK + +#include + +#endif diff --git a/include/boost/fusion/include/query.hpp b/include/boost/fusion/include/query.hpp new file mode 100644 index 00000000..6e5144b5 --- /dev/null +++ b/include/boost/fusion/include/query.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_QUERY) +#define FUSION_INCLUDE_QUERY + +#include + +#endif diff --git a/include/boost/fusion/include/remove.hpp b/include/boost/fusion/include/remove.hpp new file mode 100644 index 00000000..7f0b4657 --- /dev/null +++ b/include/boost/fusion/include/remove.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_REMOVE_IF) +#define FUSION_INCLUDE_REMOVE_IF + +#include + +#endif diff --git a/include/boost/fusion/include/remove_if.hpp b/include/boost/fusion/include/remove_if.hpp new file mode 100644 index 00000000..7f0b4657 --- /dev/null +++ b/include/boost/fusion/include/remove_if.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_REMOVE_IF) +#define FUSION_INCLUDE_REMOVE_IF + +#include + +#endif diff --git a/include/boost/fusion/include/repetetive_view.hpp b/include/boost/fusion/include/repetetive_view.hpp new file mode 100644 index 00000000..f56bca88 --- /dev/null +++ b/include/boost/fusion/include/repetetive_view.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_REPETETIVE_VIEW) +#define FUSION_INCLUDE_REPETETIVE_VIEW + +#include + +#endif diff --git a/include/boost/fusion/include/replace.hpp b/include/boost/fusion/include/replace.hpp new file mode 100644 index 00000000..4d0b3af8 --- /dev/null +++ b/include/boost/fusion/include/replace.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_REPLACE) +#define FUSION_INCLUDE_REPLACE + +#include + +#endif diff --git a/include/boost/fusion/include/replace_if.hpp b/include/boost/fusion/include/replace_if.hpp new file mode 100644 index 00000000..354e13ab --- /dev/null +++ b/include/boost/fusion/include/replace_if.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_REPLACE_IF) +#define FUSION_INCLUDE_REPLACE_IF + +#include + +#endif diff --git a/include/boost/fusion/include/reverse.hpp b/include/boost/fusion/include/reverse.hpp new file mode 100644 index 00000000..3f9fd782 --- /dev/null +++ b/include/boost/fusion/include/reverse.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_REVERSE) +#define FUSION_INCLUDE_REVERSE + +#include + +#endif diff --git a/include/boost/fusion/include/reverse_view.hpp b/include/boost/fusion/include/reverse_view.hpp new file mode 100644 index 00000000..844532d6 --- /dev/null +++ b/include/boost/fusion/include/reverse_view.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_REVERSE_VIEW) +#define FUSION_INCLUDE_REVERSE_VIEW + +#include + +#endif diff --git a/include/boost/fusion/include/sequence.hpp b/include/boost/fusion/include/sequence.hpp new file mode 100644 index 00000000..09cded77 --- /dev/null +++ b/include/boost/fusion/include/sequence.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SEQUENCE) +#define FUSION_INCLUDE_SEQUENCE + +#include + +#endif diff --git a/include/boost/fusion/include/sequence_base.hpp b/include/boost/fusion/include/sequence_base.hpp new file mode 100644 index 00000000..7e50a237 --- /dev/null +++ b/include/boost/fusion/include/sequence_base.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SEQUENCE_BASE) +#define FUSION_INCLUDE_SEQUENCE_BASE + +#include + +#endif diff --git a/include/boost/fusion/include/sequence_facade.hpp b/include/boost/fusion/include/sequence_facade.hpp new file mode 100644 index 00000000..b8773e28 --- /dev/null +++ b/include/boost/fusion/include/sequence_facade.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SEQUENCE_FACADE) +#define FUSION_INCLUDE_SEQUENCE_FACADE + +#include + +#endif diff --git a/include/boost/fusion/include/set.hpp b/include/boost/fusion/include/set.hpp new file mode 100644 index 00000000..90dd5004 --- /dev/null +++ b/include/boost/fusion/include/set.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SET) +#define FUSION_INCLUDE_SET + +#include + +#endif diff --git a/include/boost/fusion/include/set_fwd.hpp b/include/boost/fusion/include/set_fwd.hpp new file mode 100644 index 00000000..9bc45ad5 --- /dev/null +++ b/include/boost/fusion/include/set_fwd.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SET_FWD) +#define FUSION_INCLUDE_SET_FWD + +#include + +#endif diff --git a/include/boost/fusion/include/single_view.hpp b/include/boost/fusion/include/single_view.hpp index ae60d867..a95d04a8 100644 --- a/include/boost/fusion/include/single_view.hpp +++ b/include/boost/fusion/include/single_view.hpp @@ -7,6 +7,6 @@ #if !defined(FUSION_INCLUDE_SINGLE_VIEW) #define FUSION_INCLUDE_SINGLE_VIEW -#include +#include #endif diff --git a/include/boost/fusion/include/size.hpp b/include/boost/fusion/include/size.hpp new file mode 100644 index 00000000..02d2a00f --- /dev/null +++ b/include/boost/fusion/include/size.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SIZE) +#define FUSION_INCLUDE_SIZE + +#include + +#endif diff --git a/include/boost/fusion/include/std_pair.hpp b/include/boost/fusion/include/std_pair.hpp index bb4d5952..98f37c86 100644 --- a/include/boost/fusion/include/std_pair.hpp +++ b/include/boost/fusion/include/std_pair.hpp @@ -7,6 +7,6 @@ #if !defined(FUSION_INCLUDE_STD_PAIR) #define FUSION_INCLUDE_STD_PAIR -#include +#include #endif diff --git a/include/boost/fusion/include/struct.hpp b/include/boost/fusion/include/struct.hpp new file mode 100644 index 00000000..f0886aab --- /dev/null +++ b/include/boost/fusion/include/struct.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_STRUCT) +#define FUSION_INCLUDE_STRUCT + +#include + +#endif diff --git a/include/boost/fusion/include/support.hpp b/include/boost/fusion/include/support.hpp new file mode 100644 index 00000000..d57eafeb --- /dev/null +++ b/include/boost/fusion/include/support.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_SUPPORT) +#define FUSION_INCLUDE_SUPPORT + +#include + +#endif diff --git a/include/boost/fusion/include/tag_of.hpp b/include/boost/fusion/include/tag_of.hpp new file mode 100644 index 00000000..f15b41b5 --- /dev/null +++ b/include/boost/fusion/include/tag_of.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_TAG_OF) +#define FUSION_INCLUDE_TAG_OF + +#include + +#endif diff --git a/include/boost/fusion/include/tag_of_fwd.hpp b/include/boost/fusion/include/tag_of_fwd.hpp new file mode 100644 index 00000000..fbc7ebe7 --- /dev/null +++ b/include/boost/fusion/include/tag_of_fwd.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_TAG_OF_FWD) +#define FUSION_INCLUDE_TAG_OF_FWD + +#include + +#endif diff --git a/include/boost/fusion/include/transform_view.hpp b/include/boost/fusion/include/transform_view.hpp index 7564c6ab..3aceaaee 100644 --- a/include/boost/fusion/include/transform_view.hpp +++ b/include/boost/fusion/include/transform_view.hpp @@ -7,6 +7,6 @@ #if !defined(FUSION_INCLUDE_TRANSFORM_VIEW) #define FUSION_INCLUDE_TRANSFORM_VIEW -#include +#include #endif diff --git a/include/boost/fusion/include/transformation.hpp b/include/boost/fusion/include/transformation.hpp new file mode 100644 index 00000000..f14ab70c --- /dev/null +++ b/include/boost/fusion/include/transformation.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_TRANSFORMATION) +#define FUSION_INCLUDE_TRANSFORMATION + +#include + +#endif diff --git a/include/boost/fusion/include/tuple.hpp b/include/boost/fusion/include/tuple.hpp new file mode 100644 index 00000000..52e53fb5 --- /dev/null +++ b/include/boost/fusion/include/tuple.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_TUPLE) +#define FUSION_INCLUDE_TUPLE + +#include + +#endif diff --git a/include/boost/fusion/include/tuple_fwd.hpp b/include/boost/fusion/include/tuple_fwd.hpp new file mode 100644 index 00000000..a66653a3 --- /dev/null +++ b/include/boost/fusion/include/tuple_fwd.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_TUPLE_FWD) +#define FUSION_INCLUDE_TUPLE_FWD + +#include + +#endif diff --git a/include/boost/fusion/include/tuple_tie.hpp b/include/boost/fusion/include/tuple_tie.hpp new file mode 100644 index 00000000..677976a6 --- /dev/null +++ b/include/boost/fusion/include/tuple_tie.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_TUPLE_TIE) +#define FUSION_INCLUDE_TUPLE_TIE + +#include + +#endif diff --git a/include/boost/fusion/include/unfused_generic.hpp b/include/boost/fusion/include/unfused_generic.hpp new file mode 100644 index 00000000..d377900f --- /dev/null +++ b/include/boost/fusion/include/unfused_generic.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_UNFUSED_GENERIC) +#define FUSION_INCLUDE_UNFUSED_GENERIC + +#include + +#endif diff --git a/include/boost/fusion/include/unfused_lvalue_args.hpp b/include/boost/fusion/include/unfused_lvalue_args.hpp new file mode 100644 index 00000000..17acc261 --- /dev/null +++ b/include/boost/fusion/include/unfused_lvalue_args.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_UNFUSED_LVALUE_ARGS) +#define FUSION_INCLUDE_UNFUSED_LVALUE_ARGS + +#include + +#endif diff --git a/include/boost/fusion/include/unfused_rvalue_args.hpp b/include/boost/fusion/include/unfused_rvalue_args.hpp new file mode 100644 index 00000000..556b2dee --- /dev/null +++ b/include/boost/fusion/include/unfused_rvalue_args.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_UNFUSED_RVALUE_ARGS) +#define FUSION_INCLUDE_UNFUSED_RVALUE_ARGS + +#include + +#endif diff --git a/include/boost/fusion/include/unfused_typed.hpp b/include/boost/fusion/include/unfused_typed.hpp new file mode 100644 index 00000000..a118b306 --- /dev/null +++ b/include/boost/fusion/include/unfused_typed.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_UNFUSED_TYPED) +#define FUSION_INCLUDE_UNFUSED_TYPED + +#include + +#endif diff --git a/include/boost/fusion/include/unused.hpp b/include/boost/fusion/include/unused.hpp new file mode 100644 index 00000000..f91ea8fe --- /dev/null +++ b/include/boost/fusion/include/unused.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_UNUSED) +#define FUSION_INCLUDE_UNUSED + +#include + +#endif diff --git a/include/boost/fusion/include/utility.hpp b/include/boost/fusion/include/utility.hpp new file mode 100644 index 00000000..915d8b16 --- /dev/null +++ b/include/boost/fusion/include/utility.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_UTILITY) +#define FUSION_INCLUDE_UTILITY + +#include + +#endif diff --git a/include/boost/fusion/include/value_at_key.hpp b/include/boost/fusion/include/value_at_key.hpp new file mode 100644 index 00000000..4ab3dc14 --- /dev/null +++ b/include/boost/fusion/include/value_at_key.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VALUE_AT_KEY) +#define FUSION_INCLUDE_VALUE_AT_KEY + +#include + +#endif diff --git a/include/boost/fusion/include/variant.hpp b/include/boost/fusion/include/variant.hpp index 824b8a6a..3d013b8e 100644 --- a/include/boost/fusion/include/variant.hpp +++ b/include/boost/fusion/include/variant.hpp @@ -7,6 +7,6 @@ #if !defined(FUSION_INCLUDE_VARIANT) #define FUSION_INCLUDE_VARIANT -#include +#include #endif diff --git a/include/boost/fusion/include/vector.hpp b/include/boost/fusion/include/vector.hpp index e49568e2..689c2f88 100644 --- a/include/boost/fusion/include/vector.hpp +++ b/include/boost/fusion/include/vector.hpp @@ -1,12 +1,12 @@ /*============================================================================= Copyright (c) 2001-2007 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_INCLUDE_VECTOR) #define FUSION_INCLUDE_VECTOR -#include +#include #endif diff --git a/include/boost/fusion/include/vector10.hpp b/include/boost/fusion/include/vector10.hpp new file mode 100644 index 00000000..d3e10ddc --- /dev/null +++ b/include/boost/fusion/include/vector10.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VECTOR10) +#define FUSION_INCLUDE_VECTOR10 + +#include + +#endif diff --git a/include/boost/fusion/include/vector20.hpp b/include/boost/fusion/include/vector20.hpp new file mode 100644 index 00000000..accda290 --- /dev/null +++ b/include/boost/fusion/include/vector20.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VECTOR20) +#define FUSION_INCLUDE_VECTOR20 + +#include + +#endif diff --git a/include/boost/fusion/include/vector30.hpp b/include/boost/fusion/include/vector30.hpp new file mode 100644 index 00000000..72a72a25 --- /dev/null +++ b/include/boost/fusion/include/vector30.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VECTOR30) +#define FUSION_INCLUDE_VECTOR30 + +#include + +#endif diff --git a/include/boost/fusion/include/vector40.hpp b/include/boost/fusion/include/vector40.hpp new file mode 100644 index 00000000..427c5319 --- /dev/null +++ b/include/boost/fusion/include/vector40.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VECTOR40) +#define FUSION_INCLUDE_VECTOR40 + +#include + +#endif diff --git a/include/boost/fusion/include/vector50.hpp b/include/boost/fusion/include/vector50.hpp new file mode 100644 index 00000000..5980373b --- /dev/null +++ b/include/boost/fusion/include/vector50.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VECTOR50) +#define FUSION_INCLUDE_VECTOR50 + +#include + +#endif diff --git a/include/boost/fusion/include/vector_fwd.hpp b/include/boost/fusion/include/vector_fwd.hpp new file mode 100644 index 00000000..578754fb --- /dev/null +++ b/include/boost/fusion/include/vector_fwd.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VECTOR_FWD) +#define FUSION_INCLUDE_VECTOR_FWD + +#include + +#endif diff --git a/include/boost/fusion/include/view.hpp b/include/boost/fusion/include/view.hpp new file mode 100644 index 00000000..48405df8 --- /dev/null +++ b/include/boost/fusion/include/view.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VIEW) +#define FUSION_INCLUDE_VIEW + +#include + +#endif diff --git a/include/boost/fusion/include/void.hpp b/include/boost/fusion/include/void.hpp new file mode 100644 index 00000000..b3e9cf27 --- /dev/null +++ b/include/boost/fusion/include/void.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_VOID) +#define FUSION_INCLUDE_VOID + +#include + +#endif diff --git a/include/boost/fusion/include/zip.hpp b/include/boost/fusion/include/zip.hpp new file mode 100644 index 00000000..8a565610 --- /dev/null +++ b/include/boost/fusion/include/zip.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ZIP) +#define FUSION_INCLUDE_ZIP + +#include + +#endif diff --git a/include/boost/fusion/include/zip_view.hpp b/include/boost/fusion/include/zip_view.hpp new file mode 100644 index 00000000..1aecfd4d --- /dev/null +++ b/include/boost/fusion/include/zip_view.hpp @@ -0,0 +1,12 @@ +/*============================================================================= + Copyright (c) 2001-2007 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_INCLUDE_ZIP_VIEW) +#define FUSION_INCLUDE_ZIP_VIEW + +#include + +#endif diff --git a/include/boost/fusion/iterator/mpl/convert_iterator.hpp b/include/boost/fusion/iterator/mpl/convert_iterator.hpp index fc2efacf..5716ce4e 100644 --- a/include/boost/fusion/iterator/mpl/convert_iterator.hpp +++ b/include/boost/fusion/iterator/mpl/convert_iterator.hpp @@ -1,19 +1,21 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_CONVERT_ITERATOR_05062005_1218) #define FUSION_CONVERT_ITERATOR_05062005_1218 #include -#include #include #include namespace boost { namespace fusion { + template + struct mpl_iterator; // forward declaration + // Test T. If it is a fusion iterator, return a reference to it. // else, assume it is an mpl iterator. diff --git a/include/boost/fusion/mpl.hpp b/include/boost/fusion/mpl.hpp index 6eb2538b..e499df93 100644 --- a/include/boost/fusion/mpl.hpp +++ b/include/boost/fusion/mpl.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_MPL_09172006_2049) @@ -9,7 +9,24 @@ // The fusion <--> MPL link headers #include -#include -#include +#include + +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include +#include #endif diff --git a/include/boost/fusion/sequence/intrinsic/mpl/at.hpp b/include/boost/fusion/mpl/at.hpp similarity index 100% rename from include/boost/fusion/sequence/intrinsic/mpl/at.hpp rename to include/boost/fusion/mpl/at.hpp diff --git a/include/boost/fusion/sequence/intrinsic/mpl/back.hpp b/include/boost/fusion/mpl/back.hpp similarity index 100% rename from include/boost/fusion/sequence/intrinsic/mpl/back.hpp rename to include/boost/fusion/mpl/back.hpp diff --git a/include/boost/fusion/sequence/intrinsic/mpl/begin.hpp b/include/boost/fusion/mpl/begin.hpp similarity index 93% rename from include/boost/fusion/sequence/intrinsic/mpl/begin.hpp rename to include/boost/fusion/mpl/begin.hpp index 6d344d75..be8b3142 100644 --- a/include/boost/fusion/sequence/intrinsic/mpl/begin.hpp +++ b/include/boost/fusion/mpl/begin.hpp @@ -9,7 +9,7 @@ #include #include -#include +#include #include namespace boost { namespace mpl diff --git a/include/boost/fusion/sequence/intrinsic/mpl/clear.hpp b/include/boost/fusion/mpl/clear.hpp similarity index 93% rename from include/boost/fusion/sequence/intrinsic/mpl/clear.hpp rename to include/boost/fusion/mpl/clear.hpp index 0f2d492b..14b3489e 100644 --- a/include/boost/fusion/sequence/intrinsic/mpl/clear.hpp +++ b/include/boost/fusion/mpl/clear.hpp @@ -9,7 +9,7 @@ #include #include -#include +#include namespace boost { namespace mpl { diff --git a/include/boost/fusion/sequence/intrinsic/mpl/detail/clear.hpp b/include/boost/fusion/mpl/detail/clear.hpp similarity index 77% rename from include/boost/fusion/sequence/intrinsic/mpl/detail/clear.hpp rename to include/boost/fusion/mpl/detail/clear.hpp index 28807cc7..d8c32d5a 100644 --- a/include/boost/fusion/sequence/intrinsic/mpl/detail/clear.hpp +++ b/include/boost/fusion/mpl/detail/clear.hpp @@ -7,11 +7,11 @@ #if !defined(FUSION_CLEAR_10022005_1442) #define FUSION_CLEAR_10022005_1442 -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/intrinsic/mpl/empty.hpp b/include/boost/fusion/mpl/empty.hpp similarity index 100% rename from include/boost/fusion/sequence/intrinsic/mpl/empty.hpp rename to include/boost/fusion/mpl/empty.hpp diff --git a/include/boost/fusion/sequence/intrinsic/mpl/end.hpp b/include/boost/fusion/mpl/end.hpp similarity index 93% rename from include/boost/fusion/sequence/intrinsic/mpl/end.hpp rename to include/boost/fusion/mpl/end.hpp index 7d84a81b..ed3320b2 100644 --- a/include/boost/fusion/sequence/intrinsic/mpl/end.hpp +++ b/include/boost/fusion/mpl/end.hpp @@ -9,7 +9,7 @@ #include #include -#include +#include #include namespace boost { namespace mpl diff --git a/include/boost/fusion/sequence/intrinsic/mpl/erase.hpp b/include/boost/fusion/mpl/erase.hpp similarity index 78% rename from include/boost/fusion/sequence/intrinsic/mpl/erase.hpp rename to include/boost/fusion/mpl/erase.hpp index 0ee650e0..a8b092ae 100644 --- a/include/boost/fusion/sequence/intrinsic/mpl/erase.hpp +++ b/include/boost/fusion/mpl/erase.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_ERASE_10022005_1835) @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace boost { namespace mpl { @@ -23,12 +23,13 @@ namespace boost { namespace mpl template struct apply { - typedef typename - fusion::result_of::erase::type + typedef typename + fusion::result_of::erase::type result; - - typedef typename - fusion::detail::as::type, result>::type + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type type; }; }; diff --git a/include/boost/fusion/sequence/intrinsic/mpl/erase_key.hpp b/include/boost/fusion/mpl/erase_key.hpp similarity index 78% rename from include/boost/fusion/sequence/intrinsic/mpl/erase_key.hpp rename to include/boost/fusion/mpl/erase_key.hpp index 6c8ba6cf..3cda2686 100644 --- a/include/boost/fusion/sequence/intrinsic/mpl/erase_key.hpp +++ b/include/boost/fusion/mpl/erase_key.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_ERASE_KEY_10022005_1907) @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace boost { namespace mpl { @@ -23,12 +23,13 @@ namespace boost { namespace mpl template struct apply { - typedef typename - fusion::result_of::erase_key::type + typedef typename + fusion::result_of::erase_key::type result; - - typedef typename - fusion::detail::as::type, result>::type + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type type; }; }; diff --git a/include/boost/fusion/sequence/intrinsic/mpl/front.hpp b/include/boost/fusion/mpl/front.hpp similarity index 100% rename from include/boost/fusion/sequence/intrinsic/mpl/front.hpp rename to include/boost/fusion/mpl/front.hpp diff --git a/include/boost/fusion/sequence/intrinsic/mpl/has_key.hpp b/include/boost/fusion/mpl/has_key.hpp similarity index 100% rename from include/boost/fusion/sequence/intrinsic/mpl/has_key.hpp rename to include/boost/fusion/mpl/has_key.hpp diff --git a/include/boost/fusion/sequence/intrinsic/mpl/insert.hpp b/include/boost/fusion/mpl/insert.hpp similarity index 78% rename from include/boost/fusion/sequence/intrinsic/mpl/insert.hpp rename to include/boost/fusion/mpl/insert.hpp index 7df943a5..76918ce9 100644 --- a/include/boost/fusion/sequence/intrinsic/mpl/insert.hpp +++ b/include/boost/fusion/mpl/insert.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_INSERT_10022005_1837) @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace boost { namespace mpl { @@ -23,12 +23,13 @@ namespace boost { namespace mpl template struct apply { - typedef typename - fusion::result_of::insert::type + typedef typename + fusion::result_of::insert::type result; - - typedef typename - fusion::detail::as::type, result>::type + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type type; }; }; diff --git a/include/boost/fusion/sequence/intrinsic/mpl/insert_range.hpp b/include/boost/fusion/mpl/insert_range.hpp similarity index 78% rename from include/boost/fusion/sequence/intrinsic/mpl/insert_range.hpp rename to include/boost/fusion/mpl/insert_range.hpp index 1c7abc89..4da39365 100644 --- a/include/boost/fusion/sequence/intrinsic/mpl/insert_range.hpp +++ b/include/boost/fusion/mpl/insert_range.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_INSERT_RANGE_10022005_1838) @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace boost { namespace mpl { @@ -23,12 +23,13 @@ namespace boost { namespace mpl template struct apply { - typedef typename - fusion::result_of::insert_range::type + typedef typename + fusion::result_of::insert_range::type result; - - typedef typename - fusion::detail::as::type, result>::type + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type type; }; }; diff --git a/include/boost/fusion/sequence/intrinsic/mpl/pop_back.hpp b/include/boost/fusion/mpl/pop_back.hpp similarity index 73% rename from include/boost/fusion/sequence/intrinsic/mpl/pop_back.hpp rename to include/boost/fusion/mpl/pop_back.hpp index 94dbba3a..84bd75a4 100644 --- a/include/boost/fusion/sequence/intrinsic/mpl/pop_back.hpp +++ b/include/boost/fusion/mpl/pop_back.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_POP_BACK_10022005_1801) @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace boost { namespace mpl { @@ -23,12 +23,13 @@ namespace boost { namespace mpl template struct apply { - typedef typename - fusion::result_of::pop_back::type + typedef typename + fusion::result_of::pop_back::type result; - - typedef typename - fusion::detail::as::type, result>::type + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type type; }; }; diff --git a/include/boost/fusion/sequence/intrinsic/mpl/pop_front.hpp b/include/boost/fusion/mpl/pop_front.hpp similarity index 73% rename from include/boost/fusion/sequence/intrinsic/mpl/pop_front.hpp rename to include/boost/fusion/mpl/pop_front.hpp index 957a673e..ffe6c302 100644 --- a/include/boost/fusion/sequence/intrinsic/mpl/pop_front.hpp +++ b/include/boost/fusion/mpl/pop_front.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_POP_FRONT_10022005_1800) @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace boost { namespace mpl { @@ -23,12 +23,13 @@ namespace boost { namespace mpl template struct apply { - typedef typename - fusion::result_of::pop_front::type + typedef typename + fusion::result_of::pop_front::type result; - - typedef typename - fusion::detail::as::type, result>::type + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type type; }; }; diff --git a/include/boost/fusion/sequence/intrinsic/mpl/push_back.hpp b/include/boost/fusion/mpl/push_back.hpp similarity index 73% rename from include/boost/fusion/sequence/intrinsic/mpl/push_back.hpp rename to include/boost/fusion/mpl/push_back.hpp index e828af9e..e96faa06 100644 --- a/include/boost/fusion/sequence/intrinsic/mpl/push_back.hpp +++ b/include/boost/fusion/mpl/push_back.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_PUSH_BACK_10022005_1647) @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace boost { namespace mpl { @@ -23,12 +23,13 @@ namespace boost { namespace mpl template struct apply { - typedef typename - fusion::result_of::push_back::type + typedef typename + fusion::result_of::push_back::type result; - - typedef typename - fusion::detail::as::type, result>::type + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type type; }; }; diff --git a/include/boost/fusion/sequence/intrinsic/mpl/push_front.hpp b/include/boost/fusion/mpl/push_front.hpp similarity index 79% rename from include/boost/fusion/sequence/intrinsic/mpl/push_front.hpp rename to include/boost/fusion/mpl/push_front.hpp index 00431af2..c508d652 100644 --- a/include/boost/fusion/sequence/intrinsic/mpl/push_front.hpp +++ b/include/boost/fusion/mpl/push_front.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_PUSH_FRONT_10022005_1720) @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace boost { namespace mpl { @@ -23,12 +23,13 @@ namespace boost { namespace mpl template struct apply { - typedef typename - fusion::result_of::push_front::type + typedef typename + fusion::result_of::push_front::type result; - - typedef typename - fusion::detail::as::type, result>::type + + typedef typename + fusion::result_of::convert< + typename fusion::detail::tag_of::type, result>::type type; }; }; diff --git a/include/boost/fusion/sequence/intrinsic/mpl/size.hpp b/include/boost/fusion/mpl/size.hpp similarity index 100% rename from include/boost/fusion/sequence/intrinsic/mpl/size.hpp rename to include/boost/fusion/mpl/size.hpp diff --git a/include/boost/fusion/sequence.hpp b/include/boost/fusion/sequence.hpp index 9a794c2e..e60fdd7d 100644 --- a/include/boost/fusion/sequence.hpp +++ b/include/boost/fusion/sequence.hpp @@ -8,13 +8,10 @@ #define FUSION_ITERATOR_10022005_0559 #include -#include #include -#include #include #include #include -#include -#include +#include #endif diff --git a/include/boost/fusion/sequence/adapted/array.hpp b/include/boost/fusion/sequence/adapted/array.hpp deleted file mode 100644 index 0e1537f8..00000000 --- a/include/boost/fusion/sequence/adapted/array.hpp +++ /dev/null @@ -1,22 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_ARRAY_27122005_1035) -#define BOOST_FUSION_ARRAY_27122005_1035 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/include/boost/fusion/sequence/adapted/boost_tuple.hpp b/include/boost/fusion/sequence/adapted/boost_tuple.hpp deleted file mode 100644 index 14288087..00000000 --- a/include/boost/fusion/sequence/adapted/boost_tuple.hpp +++ /dev/null @@ -1,20 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_BOOST_TUPLE_09272006_0732) -#define BOOST_FUSION_BOOST_TUPLE_09272006_0732 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/include/boost/fusion/sequence/adapted/mpl.hpp b/include/boost/fusion/sequence/adapted/mpl.hpp deleted file mode 100644 index 94f4967a..00000000 --- a/include/boost/fusion/sequence/adapted/mpl.hpp +++ /dev/null @@ -1,21 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_MPL_31122005_1152) -#define BOOST_FUSION_MPL_31122005_1152 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/include/boost/fusion/sequence/adapted/struct.hpp b/include/boost/fusion/sequence/adapted/struct.hpp deleted file mode 100644 index f4aed34e..00000000 --- a/include/boost/fusion/sequence/adapted/struct.hpp +++ /dev/null @@ -1,23 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_STRUCT_24122005_1744) -#define BOOST_FUSION_STD_STRUCT_24122005_1744 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/include/boost/fusion/sequence/adapted/variant.hpp b/include/boost/fusion/sequence/adapted/variant.hpp deleted file mode 100644 index 2443312d..00000000 --- a/include/boost/fusion/sequence/adapted/variant.hpp +++ /dev/null @@ -1,20 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - Copyright (c) 2005-2006 Dan Marsden - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(BOOST_FUSION_VARIANT_12112006_1614) -#define BOOST_FUSION_VARIANT_12112006_1614 - -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/include/boost/fusion/sequence/container/vector.hpp b/include/boost/fusion/sequence/container/vector.hpp deleted file mode 100644 index dd7f4333..00000000 --- a/include/boost/fusion/sequence/container/vector.hpp +++ /dev/null @@ -1,20 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_CLASS_VECTOR_10022005_0602) -#define FUSION_SEQUENCE_CLASS_VECTOR_10022005_0602 - -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/include/boost/fusion/sequence/conversion.hpp b/include/boost/fusion/sequence/conversion.hpp deleted file mode 100644 index e70cc88a..00000000 --- a/include/boost/fusion/sequence/conversion.hpp +++ /dev/null @@ -1,16 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_CONVERSION_10022005_0622) -#define FUSION_SEQUENCE_CONVERSION_10022005_0622 - -#include -#include -#include -#include -#include - -#endif diff --git a/include/boost/fusion/sequence/convert.hpp b/include/boost/fusion/sequence/convert.hpp new file mode 100644 index 00000000..a6e3ccca --- /dev/null +++ b/include/boost/fusion/sequence/convert.hpp @@ -0,0 +1,48 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ +#if !defined(FUSION_CONVERT_10022005_1442) +#define FUSION_CONVERT_10022005_1442 + +namespace boost { namespace fusion +{ + namespace extension + { + template + struct convert_impl; + } + + namespace result_of + { + template + struct convert + { + typedef typename extension::convert_impl gen; + + typedef typename + gen::template apply::type + type; + }; + } + + template + inline typename result_of::convert::type + convert(Sequence& seq) + { + typedef typename result_of::convert::gen gen; + return gen::call(seq); + } + + template + inline typename result_of::convert::type + convert(Sequence const& seq) + { + typedef typename result_of::convert::gen gen; + return gen::call(seq); + } +}} + +#endif diff --git a/include/boost/fusion/sequence/generation/cons_tie.hpp b/include/boost/fusion/sequence/generation/cons_tie.hpp index 2b695d25..88ce0aa4 100644 --- a/include/boost/fusion/sequence/generation/cons_tie.hpp +++ b/include/boost/fusion/sequence/generation/cons_tie.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_CONS_TIE_07182005_0854) #define FUSION_CONS_TIE_07182005_0854 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/generation/deque_tie.hpp b/include/boost/fusion/sequence/generation/deque_tie.hpp index 77478c03..4eeef1a2 100644 --- a/include/boost/fusion/sequence/generation/deque_tie.hpp +++ b/include/boost/fusion/sequence/generation/deque_tie.hpp @@ -14,7 +14,8 @@ #include #include #include -#include +#include +#include namespace boost { namespace fusion { @@ -53,7 +54,13 @@ namespace boost { namespace fusion namespace result_of { template +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + #define TEXT(z, n, text) , text + struct deque_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_DEQUE_SIZE, TEXT, void_) > + #undef TEXT +#else struct deque_tie +#endif { typedef deque type; }; diff --git a/include/boost/fusion/sequence/generation/list_tie.hpp b/include/boost/fusion/sequence/generation/list_tie.hpp index 56fb6823..b23cee93 100644 --- a/include/boost/fusion/sequence/generation/list_tie.hpp +++ b/include/boost/fusion/sequence/generation/list_tie.hpp @@ -13,7 +13,8 @@ #include #include #include -#include +#include +#include namespace boost { namespace fusion { @@ -53,7 +54,13 @@ namespace boost { namespace fusion namespace result_of { template +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + #define TEXT(z, n, text) , text + struct list_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) > + #undef TEXT +#else struct list_tie +#endif { typedef list type; }; diff --git a/include/boost/fusion/sequence/generation/make_cons.hpp b/include/boost/fusion/sequence/generation/make_cons.hpp index 704b35e2..47a2f461 100644 --- a/include/boost/fusion/sequence/generation/make_cons.hpp +++ b/include/boost/fusion/sequence/generation/make_cons.hpp @@ -9,7 +9,7 @@ #define FUSION_MAKE_CONS_07172005_0918 #include -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/generation/make_deque.hpp b/include/boost/fusion/sequence/generation/make_deque.hpp index 4c8544c2..6d6fc372 100644 --- a/include/boost/fusion/sequence/generation/make_deque.hpp +++ b/include/boost/fusion/sequence/generation/make_deque.hpp @@ -19,7 +19,8 @@ #include #include #include -#include +#include +#include #include namespace boost { namespace fusion @@ -72,7 +73,13 @@ namespace boost { namespace fusion namespace result_of { template +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + #define TEXT(z, n, text) , text + struct make_deque< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_DEQUE_SIZE, TEXT, void_) > + #undef TEXT +#else struct make_deque +#endif { typedef deque type; }; diff --git a/include/boost/fusion/sequence/generation/make_list.hpp b/include/boost/fusion/sequence/generation/make_list.hpp index a37a2367..c2c4d521 100644 --- a/include/boost/fusion/sequence/generation/make_list.hpp +++ b/include/boost/fusion/sequence/generation/make_list.hpp @@ -12,7 +12,8 @@ #include #include #include -#include +#include +#include #include namespace boost { namespace fusion @@ -65,7 +66,13 @@ namespace boost { namespace fusion namespace result_of { template +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + #define TEXT(z, n, text) , text + struct make_list< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_LIST_SIZE, TEXT, void_) > + #undef TEXT +#else struct make_list +#endif { typedef list type; }; diff --git a/include/boost/fusion/sequence/generation/make_map.hpp b/include/boost/fusion/sequence/generation/make_map.hpp index 885cea2b..2ab3abb0 100644 --- a/include/boost/fusion/sequence/generation/make_map.hpp +++ b/include/boost/fusion/sequence/generation/make_map.hpp @@ -12,7 +12,8 @@ #include #include #include -#include +#include +#include #include #include @@ -77,7 +78,13 @@ namespace boost { namespace fusion BOOST_PP_ENUM_PARAMS(N, typename K) , BOOST_PP_ENUM_PARAMS(N, typename D) > +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + #define TEXT(z, n, text) , text + struct make_map + #undef TEXT +#else struct make_map +#endif { typedef map type; }; diff --git a/include/boost/fusion/sequence/generation/make_set.hpp b/include/boost/fusion/sequence/generation/make_set.hpp index 7f56159c..7dd9f3ab 100644 --- a/include/boost/fusion/sequence/generation/make_set.hpp +++ b/include/boost/fusion/sequence/generation/make_set.hpp @@ -12,7 +12,8 @@ #include #include #include -#include +#include +#include #include #include @@ -67,7 +68,13 @@ namespace boost { namespace fusion namespace result_of { template +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + #define TEXT(z, n, text) , text + struct make_set< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_SET_SIZE, TEXT, void_) > + #undef TEXT +#else struct make_set +#endif { typedef set type; }; diff --git a/include/boost/fusion/sequence/generation/make_vector.hpp b/include/boost/fusion/sequence/generation/make_vector.hpp index 2dc292fd..d70b4b02 100644 --- a/include/boost/fusion/sequence/generation/make_vector.hpp +++ b/include/boost/fusion/sequence/generation/make_vector.hpp @@ -12,7 +12,8 @@ #include #include #include -#include +#include +#include #include namespace boost { namespace fusion @@ -65,7 +66,13 @@ namespace boost { namespace fusion namespace result_of { template +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + #define TEXT(z, n, text) , text + struct make_vector< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) > + #undef TEXT +#else struct make_vector +#endif { typedef vector type; }; diff --git a/include/boost/fusion/sequence/generation/map_tie.hpp b/include/boost/fusion/sequence/generation/map_tie.hpp index 523a22d4..1431accc 100644 --- a/include/boost/fusion/sequence/generation/map_tie.hpp +++ b/include/boost/fusion/sequence/generation/map_tie.hpp @@ -13,8 +13,9 @@ #include #include #include -#include -#include +#include +#include +#include #include #include #include @@ -80,7 +81,14 @@ namespace boost { namespace fusion BOOST_PP_ENUM_PARAMS(N, typename K) , BOOST_PP_ENUM_PARAMS(N, typename D) > +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + #define TEXT(z, n, text) , text + + struct map_tie + #undef TEXT +#else struct map_tie +#endif { typedef map type; }; diff --git a/include/boost/fusion/sequence/generation/vector_tie.hpp b/include/boost/fusion/sequence/generation/vector_tie.hpp index b8cfe527..f5fe8572 100644 --- a/include/boost/fusion/sequence/generation/vector_tie.hpp +++ b/include/boost/fusion/sequence/generation/vector_tie.hpp @@ -13,7 +13,8 @@ #include #include #include -#include +#include +#include namespace boost { namespace fusion { @@ -52,7 +53,13 @@ namespace boost { namespace fusion namespace result_of { template +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + #define TEXT(z, n, text) , text + struct vector_tie< BOOST_PP_ENUM_PARAMS(N, T) BOOST_PP_REPEAT_FROM_TO(BOOST_PP_DEC(N), FUSION_MAX_VECTOR_SIZE, TEXT, void_) > + #undef TEXT +#else struct vector_tie +#endif { typedef vector type; }; diff --git a/include/boost/fusion/sequence/intrinsic.hpp b/include/boost/fusion/sequence/intrinsic.hpp index 59aaf9ff..8c5f4abd 100644 --- a/include/boost/fusion/sequence/intrinsic.hpp +++ b/include/boost/fusion/sequence/intrinsic.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_SEQUENCE_INTRINSIC_10022005_0618) @@ -14,7 +14,6 @@ #include #include #include -#include #include #include #include diff --git a/include/boost/fusion/sequence/intrinsic/mpl.hpp b/include/boost/fusion/sequence/intrinsic/mpl.hpp deleted file mode 100644 index 9d5bb609..00000000 --- a/include/boost/fusion/sequence/intrinsic/mpl.hpp +++ /dev/null @@ -1,28 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_SEQUENCE_INTRINSIC_MPL_10022005_1641) -#define FUSION_SEQUENCE_INTRINSIC_MPL_10022005_1641 - -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include -#include - -#endif diff --git a/include/boost/fusion/sequence/intrinsic/mpl/detail/as.hpp b/include/boost/fusion/sequence/intrinsic/mpl/detail/as.hpp deleted file mode 100644 index 1537e549..00000000 --- a/include/boost/fusion/sequence/intrinsic/mpl/detail/as.hpp +++ /dev/null @@ -1,80 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_AS_10022005_1442) -#define FUSION_AS_10022005_1442 - -namespace boost { namespace fusion -{ - namespace result_of - { - template - struct as_list; - - template - struct as_map; - - template - struct as_set; - - template - struct as_vector; - - template - struct as_deque; - } - - namespace detail - { - template - struct as_impl; - - template <> - struct as_impl - { - template - struct apply : result_of::as_list {}; - }; - - template <> - struct as_impl - { - template - struct apply : result_of::as_map {}; - }; - - template <> - struct as_impl - { - template - struct apply : result_of::as_set {}; - }; - - template <> - struct as_impl - { - template - struct apply : result_of::as_vector {}; - }; - - template<> - struct as_impl - { - template - struct apply : result_of::as_deque {}; - }; - - template - struct as - { - typedef typename - as_impl::template apply::type - type; - }; - } -}} - -#endif diff --git a/include/boost/fusion/sequence/intrinsic/swap.hpp b/include/boost/fusion/sequence/intrinsic/swap.hpp index 90570c1f..7a385ae8 100644 --- a/include/boost/fusion/sequence/intrinsic/swap.hpp +++ b/include/boost/fusion/sequence/intrinsic/swap.hpp @@ -11,7 +11,7 @@ #include #include -#include +#include #include #include #include diff --git a/include/boost/fusion/support/deduce_sequence.hpp b/include/boost/fusion/support/deduce_sequence.hpp index 41ecbd1b..77631b79 100644 --- a/include/boost/fusion/support/deduce_sequence.hpp +++ b/include/boost/fusion/support/deduce_sequence.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2007 Tobias Schwinger - - Use modification and distribution are subject to the Boost Software + + Use modification and distribution are subject to the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt). ==============================================================================*/ @@ -10,9 +10,9 @@ #define BOOST_FUSION_SUPPORT_DEDUCE_SEQUENCE_HPP_INCLUDED #include -#include -#include -#include +#include +#include + namespace boost { namespace fusion { namespace traits { @@ -22,19 +22,20 @@ namespace boost { namespace fusion { namespace traits { struct deducer { - template - struct apply + template + struct result; + + template + struct result< Self(T) > : fusion::traits::deduce { }; }; } - // We cannot use fusion::transform_view here as result_of looses cv qualifiers - // on built in types template struct deduce_sequence : result_of::as_vector< - typename mpl::transform::type> + fusion::transform_view > { }; }}} diff --git a/include/boost/fusion/support/detail/compiler_config.hpp b/include/boost/fusion/support/detail/compiler_config.hpp deleted file mode 100644 index 3859ef78..00000000 --- a/include/boost/fusion/support/detail/compiler_config.hpp +++ /dev/null @@ -1,17 +0,0 @@ -/*============================================================================= - Copyright (c) 2001-2006 Joel de Guzman - - Distributed under the Boost Software License, Version 1.0. (See accompanying - file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) -==============================================================================*/ -#if !defined(FUSION_COMPILER_CONFIG_01052006_1200) -#define FUSION_COMPILER_CONFIG_01052006_1200 - -#include -#include - -#if BOOST_WORKAROUND(BOOST_MSVC, BOOST_TESTED_AT(1310)) -#pragma warning(disable : 4512 4244 4100 4305) -#endif - -#endif diff --git a/include/boost/fusion/support/iterator_base.hpp b/include/boost/fusion/support/iterator_base.hpp index 39d05c40..2f909b2e 100644 --- a/include/boost/fusion/support/iterator_base.hpp +++ b/include/boost/fusion/support/iterator_base.hpp @@ -1,14 +1,12 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_ITERATOR_BASE_05042005_1008) #define FUSION_ITERATOR_BASE_05042005_1008 -#include - namespace boost { namespace fusion { struct iterator_root {}; diff --git a/include/boost/fusion/support/pair.hpp b/include/boost/fusion/support/pair.hpp index 67758071..cf285714 100644 --- a/include/boost/fusion/support/pair.hpp +++ b/include/boost/fusion/support/pair.hpp @@ -2,13 +2,12 @@ Copyright (c) 2005 Joel de Guzman Copyright (c) 2006 Tobias Schwinger - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_PAIR_07222005_1203) #define FUSION_PAIR_07222005_1203 -#include #include #include @@ -23,7 +22,7 @@ namespace boost { namespace fusion pair(typename detail::call_param::type val) : second(val) {} - + template pair(pair const& rhs) : second(rhs.second) {} @@ -45,7 +44,7 @@ namespace boost { namespace fusion template struct make_pair { - typedef fusion::pair::type> type; }; @@ -84,16 +83,16 @@ namespace boost { namespace fusion is >> p.second; return is; } - + template - inline bool + inline bool operator==(pair const& l, pair const& r) { return l.second == r.second; } template - inline bool + inline bool operator!=(pair const& l, pair const& r) { return l.second != r.second; diff --git a/include/boost/fusion/support/sequence_base.hpp b/include/boost/fusion/support/sequence_base.hpp index 1a82848d..1d436ef1 100644 --- a/include/boost/fusion/support/sequence_base.hpp +++ b/include/boost/fusion/support/sequence_base.hpp @@ -2,13 +2,12 @@ Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2007 Tobias Schwinger - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_SEQUENCE_BASE_04182005_0737) #define FUSION_SEQUENCE_BASE_04182005_0737 -#include #include namespace boost { namespace fusion @@ -37,7 +36,7 @@ namespace boost { namespace fusion namespace boost { namespace mpl { // Deliberately break mpl::begin, so it doesn't lie that a Fusion sequence - // is not an MPL sequence by returning mpl::void_. + // is not an MPL sequence by returning mpl::void_. // In other words: Fusion Sequences are always MPL Sequences, but they can // be incompletely defined. template<> struct begin_impl< boost::fusion::fusion_sequence_tag >; diff --git a/include/boost/fusion/support/tag_of.hpp b/include/boost/fusion/support/tag_of.hpp index a1ccf12d..209ceeff 100644 --- a/include/boost/fusion/support/tag_of.hpp +++ b/include/boost/fusion/support/tag_of.hpp @@ -1,17 +1,17 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_TAG_OF_09232005_0845) #define FUSION_TAG_OF_09232005_0845 +#include #include #include #include #include -#include #include #include #include @@ -26,13 +26,13 @@ namespace boost namespace tuples { struct null_type; - + template < - class T0, class T1, class T2, class T3, class T4, + class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9 > class tuple; - + template struct cons; } @@ -53,7 +53,7 @@ namespace boost { namespace fusion {}; template < - class T0, class T1, class T2, class T3, class T4, + class T0, class T1, class T2, class T3, class T4, class T5, class T6, class T7, class T8, class T9 > struct is_specialized > diff --git a/include/boost/fusion/support/tag_of_fwd.hpp b/include/boost/fusion/support/tag_of_fwd.hpp index 053cacaf..e6c883d5 100644 --- a/include/boost/fusion/support/tag_of_fwd.hpp +++ b/include/boost/fusion/support/tag_of_fwd.hpp @@ -2,14 +2,14 @@ Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2005-2006 Dan Marsden - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(BOOST_FUSION_TAG_OF_FWD_31122005_1445) #define BOOST_FUSION_TAG_OF_FWD_31122005_1445 -namespace boost { namespace fusion { - +namespace boost { namespace fusion +{ namespace traits { template diff --git a/include/boost/fusion/support/void.hpp b/include/boost/fusion/support/void.hpp index 63275b11..7dd11e5c 100644 --- a/include/boost/fusion/support/void.hpp +++ b/include/boost/fusion/support/void.hpp @@ -1,7 +1,14 @@ +/*============================================================================= + Copyright (c) 2001-2006 Joel de Guzman + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ #if !defined(BOOST_FUSION_SUPPORT_VOID_20070706_2125) #define BOOST_FUSION_SUPPORT_VOID_20070706_2125 -namespace boost { namespace fusion { +namespace boost { namespace fusion +{ struct void_ {}; }} diff --git a/include/boost/fusion/tuple/tuple.hpp b/include/boost/fusion/tuple/tuple.hpp index a32e6b3e..d9860323 100644 --- a/include/boost/fusion/tuple/tuple.hpp +++ b/include/boost/fusion/tuple/tuple.hpp @@ -8,7 +8,7 @@ #define FUSION_TUPLE_10032005_0810 #include -#include +#include #include #include #include diff --git a/include/boost/fusion/tuple/tuple_fwd.hpp b/include/boost/fusion/tuple/tuple_fwd.hpp index f3e660e5..1a127cab 100644 --- a/include/boost/fusion/tuple/tuple_fwd.hpp +++ b/include/boost/fusion/tuple/tuple_fwd.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_TUPLE_FORWARD_10032005_0956) #define FUSION_TUPLE_FORWARD_10032005_0956 -#include +#include #include namespace boost { namespace fusion diff --git a/include/boost/fusion/sequence/view.hpp b/include/boost/fusion/view.hpp similarity index 58% rename from include/boost/fusion/sequence/view.hpp rename to include/boost/fusion/view.hpp index 712a9ac5..12d5cc5d 100644 --- a/include/boost/fusion/sequence/view.hpp +++ b/include/boost/fusion/view.hpp @@ -7,11 +7,11 @@ #if !defined(FUSION_SEQUENCE_VIEW_10022005_0620) #define FUSION_SEQUENCE_VIEW_10022005_0620 -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include #endif diff --git a/include/boost/fusion/sequence/view/zip_view/detail/strictest_traversal.hpp b/include/boost/fusion/view/detail/strictest_traversal.hpp similarity index 92% rename from include/boost/fusion/sequence/view/zip_view/detail/strictest_traversal.hpp rename to include/boost/fusion/view/detail/strictest_traversal.hpp index 60abb57c..e74ffbfc 100644 --- a/include/boost/fusion/sequence/view/zip_view/detail/strictest_traversal.hpp +++ b/include/boost/fusion/view/detail/strictest_traversal.hpp @@ -2,7 +2,7 @@ Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2006 Dan Marsden - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_STRICTEST_TRAVERSAL_20060123_2101) @@ -11,13 +11,13 @@ #include #include #include -#include +#include #include #include #include -namespace boost { namespace fusion { - +namespace boost { namespace fusion +{ struct forward_traversal_tag; struct bidirectional_traversal_tag; struct random_access_traversal_tag; @@ -58,7 +58,7 @@ namespace boost { namespace fusion { template struct strictest_traversal : result_of::fold< - Sequence, fusion::random_access_traversal_tag, + Sequence, fusion::random_access_traversal_tag, strictest_traversal_impl> {}; diff --git a/include/boost/fusion/sequence/view/ext_/multiple_view.hpp b/include/boost/fusion/view/ext_/multiple_view.hpp similarity index 100% rename from include/boost/fusion/sequence/view/ext_/multiple_view.hpp rename to include/boost/fusion/view/ext_/multiple_view.hpp diff --git a/include/boost/fusion/sequence/view/ext_/segmented_iterator.hpp b/include/boost/fusion/view/ext_/segmented_iterator.hpp similarity index 99% rename from include/boost/fusion/sequence/view/ext_/segmented_iterator.hpp rename to include/boost/fusion/view/ext_/segmented_iterator.hpp index 2f6c1f74..2216929b 100755 --- a/include/boost/fusion/sequence/view/ext_/segmented_iterator.hpp +++ b/include/boost/fusion/view/ext_/segmented_iterator.hpp @@ -17,8 +17,8 @@ #include #include #include -#include -#include // for nil +#include +#include // for nil #include #include #include diff --git a/include/boost/fusion/sequence/view/ext_/segmented_iterator_range.hpp b/include/boost/fusion/view/ext_/segmented_iterator_range.hpp similarity index 97% rename from include/boost/fusion/sequence/view/ext_/segmented_iterator_range.hpp rename to include/boost/fusion/view/ext_/segmented_iterator_range.hpp index 7bab8789..c4dcd01c 100755 --- a/include/boost/fusion/sequence/view/ext_/segmented_iterator_range.hpp +++ b/include/boost/fusion/view/ext_/segmented_iterator_range.hpp @@ -12,13 +12,15 @@ #include #include #include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/view/filter_view.hpp b/include/boost/fusion/view/filter_view.hpp similarity index 77% rename from include/boost/fusion/sequence/view/filter_view.hpp rename to include/boost/fusion/view/filter_view.hpp index d8fb4936..c649407f 100644 --- a/include/boost/fusion/sequence/view/filter_view.hpp +++ b/include/boost/fusion/view/filter_view.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_SEQUENCE_VIEW_FILTER_VIEW_10022005_0608) #define FUSION_SEQUENCE_VIEW_FILTER_VIEW_10022005_0608 -#include -#include +#include +#include #endif diff --git a/include/boost/fusion/sequence/view/filter_view/detail/begin_impl.hpp b/include/boost/fusion/view/filter_view/detail/begin_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/filter_view/detail/begin_impl.hpp rename to include/boost/fusion/view/filter_view/detail/begin_impl.hpp diff --git a/include/boost/fusion/sequence/view/filter_view/detail/deref_impl.hpp b/include/boost/fusion/view/filter_view/detail/deref_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/filter_view/detail/deref_impl.hpp rename to include/boost/fusion/view/filter_view/detail/deref_impl.hpp diff --git a/include/boost/fusion/sequence/view/filter_view/detail/end_impl.hpp b/include/boost/fusion/view/filter_view/detail/end_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/filter_view/detail/end_impl.hpp rename to include/boost/fusion/view/filter_view/detail/end_impl.hpp diff --git a/include/boost/fusion/sequence/view/filter_view/detail/equal_to_impl.hpp b/include/boost/fusion/view/filter_view/detail/equal_to_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/filter_view/detail/equal_to_impl.hpp rename to include/boost/fusion/view/filter_view/detail/equal_to_impl.hpp diff --git a/include/boost/fusion/sequence/view/filter_view/detail/next_impl.hpp b/include/boost/fusion/view/filter_view/detail/next_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/filter_view/detail/next_impl.hpp rename to include/boost/fusion/view/filter_view/detail/next_impl.hpp diff --git a/include/boost/fusion/sequence/view/filter_view/detail/size_impl.hpp b/include/boost/fusion/view/filter_view/detail/size_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/filter_view/detail/size_impl.hpp rename to include/boost/fusion/view/filter_view/detail/size_impl.hpp diff --git a/include/boost/fusion/sequence/view/filter_view/detail/value_of_impl.hpp b/include/boost/fusion/view/filter_view/detail/value_of_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/filter_view/detail/value_of_impl.hpp rename to include/boost/fusion/view/filter_view/detail/value_of_impl.hpp diff --git a/include/boost/fusion/sequence/view/filter_view/filter_view.hpp b/include/boost/fusion/view/filter_view/filter_view.hpp similarity index 85% rename from include/boost/fusion/sequence/view/filter_view/filter_view.hpp rename to include/boost/fusion/view/filter_view/filter_view.hpp index e09ec97f..a34747e6 100644 --- a/include/boost/fusion/sequence/view/filter_view/filter_view.hpp +++ b/include/boost/fusion/view/filter_view/filter_view.hpp @@ -10,10 +10,10 @@ #include #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/view/filter_view/filter_view_iterator.hpp b/include/boost/fusion/view/filter_view/filter_view_iterator.hpp similarity index 82% rename from include/boost/fusion/sequence/view/filter_view/filter_view_iterator.hpp rename to include/boost/fusion/view/filter_view/filter_view_iterator.hpp index aaf1d6e0..be93c657 100644 --- a/include/boost/fusion/sequence/view/filter_view/filter_view_iterator.hpp +++ b/include/boost/fusion/view/filter_view/filter_view_iterator.hpp @@ -1,18 +1,19 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_FILTER_VIEW_ITERATOR_05062005_0849) #define FUSION_FILTER_VIEW_ITERATOR_05062005_0849 #include +#include #include -#include -#include -#include -#include +#include +#include +#include +#include #include namespace boost { namespace fusion diff --git a/include/boost/fusion/sequence/view/iterator_range.hpp b/include/boost/fusion/view/iterator_range.hpp similarity index 87% rename from include/boost/fusion/sequence/view/iterator_range.hpp rename to include/boost/fusion/view/iterator_range.hpp index 16485eb4..f8d30221 100644 --- a/include/boost/fusion/sequence/view/iterator_range.hpp +++ b/include/boost/fusion/view/iterator_range.hpp @@ -7,6 +7,6 @@ #if !defined(FUSION_SEQUENCE_VIEW_ITERATOR_RANGE_10022005_0610) #define FUSION_SEQUENCE_VIEW_ITERATOR_RANGE_10022005_0610 -#include +#include #endif diff --git a/include/boost/fusion/sequence/view/iterator_range/detail/at_impl.hpp b/include/boost/fusion/view/iterator_range/detail/at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/iterator_range/detail/at_impl.hpp rename to include/boost/fusion/view/iterator_range/detail/at_impl.hpp diff --git a/include/boost/fusion/sequence/view/iterator_range/detail/begin_impl.hpp b/include/boost/fusion/view/iterator_range/detail/begin_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/iterator_range/detail/begin_impl.hpp rename to include/boost/fusion/view/iterator_range/detail/begin_impl.hpp diff --git a/include/boost/fusion/sequence/view/iterator_range/detail/end_impl.hpp b/include/boost/fusion/view/iterator_range/detail/end_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/iterator_range/detail/end_impl.hpp rename to include/boost/fusion/view/iterator_range/detail/end_impl.hpp diff --git a/include/boost/fusion/sequence/view/iterator_range/detail/value_at_impl.hpp b/include/boost/fusion/view/iterator_range/detail/value_at_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/iterator_range/detail/value_at_impl.hpp rename to include/boost/fusion/view/iterator_range/detail/value_at_impl.hpp diff --git a/include/boost/fusion/sequence/view/iterator_range/iterator_range.hpp b/include/boost/fusion/view/iterator_range/iterator_range.hpp similarity index 83% rename from include/boost/fusion/sequence/view/iterator_range/iterator_range.hpp rename to include/boost/fusion/view/iterator_range/iterator_range.hpp index dee6c00a..0036f0ae 100644 --- a/include/boost/fusion/sequence/view/iterator_range/iterator_range.hpp +++ b/include/boost/fusion/view/iterator_range/iterator_range.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_ITERATOR_RANGE_05062005_1224) @@ -10,12 +10,13 @@ #include #include #include -#include -#include -#include -#include -#include #include +#include +#include +#include +#include +#include +#include #include namespace boost { namespace fusion diff --git a/include/boost/fusion/sequence/view/joint_view.hpp b/include/boost/fusion/view/joint_view.hpp similarity index 77% rename from include/boost/fusion/sequence/view/joint_view.hpp rename to include/boost/fusion/view/joint_view.hpp index 6d9209a8..cd1b8571 100644 --- a/include/boost/fusion/sequence/view/joint_view.hpp +++ b/include/boost/fusion/view/joint_view.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_SEQUENCE_VIEW_JOINT_VIEW_10022005_0610) #define FUSION_SEQUENCE_VIEW_JOINT_VIEW_10022005_0610 -#include -#include +#include +#include #endif diff --git a/include/boost/fusion/sequence/view/joint_view/detail/begin_impl.hpp b/include/boost/fusion/view/joint_view/detail/begin_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/joint_view/detail/begin_impl.hpp rename to include/boost/fusion/view/joint_view/detail/begin_impl.hpp diff --git a/include/boost/fusion/sequence/view/joint_view/detail/deref_impl.hpp b/include/boost/fusion/view/joint_view/detail/deref_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/joint_view/detail/deref_impl.hpp rename to include/boost/fusion/view/joint_view/detail/deref_impl.hpp diff --git a/include/boost/fusion/sequence/view/joint_view/detail/end_impl.hpp b/include/boost/fusion/view/joint_view/detail/end_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/joint_view/detail/end_impl.hpp rename to include/boost/fusion/view/joint_view/detail/end_impl.hpp diff --git a/include/boost/fusion/sequence/view/joint_view/detail/next_impl.hpp b/include/boost/fusion/view/joint_view/detail/next_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/joint_view/detail/next_impl.hpp rename to include/boost/fusion/view/joint_view/detail/next_impl.hpp diff --git a/include/boost/fusion/sequence/view/joint_view/detail/value_of_impl.hpp b/include/boost/fusion/view/joint_view/detail/value_of_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/joint_view/detail/value_of_impl.hpp rename to include/boost/fusion/view/joint_view/detail/value_of_impl.hpp diff --git a/include/boost/fusion/sequence/view/joint_view/joint_view.hpp b/include/boost/fusion/view/joint_view/joint_view.hpp similarity index 91% rename from include/boost/fusion/sequence/view/joint_view/joint_view.hpp rename to include/boost/fusion/view/joint_view/joint_view.hpp index d0c48200..9cc798d3 100644 --- a/include/boost/fusion/sequence/view/joint_view/joint_view.hpp +++ b/include/boost/fusion/view/joint_view/joint_view.hpp @@ -12,9 +12,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/view/joint_view/joint_view_iterator.hpp b/include/boost/fusion/view/joint_view/joint_view_iterator.hpp similarity index 86% rename from include/boost/fusion/sequence/view/joint_view/joint_view_iterator.hpp rename to include/boost/fusion/view/joint_view/joint_view_iterator.hpp index 0bdfae07..18696d7e 100644 --- a/include/boost/fusion/sequence/view/joint_view/joint_view_iterator.hpp +++ b/include/boost/fusion/view/joint_view/joint_view_iterator.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_JOINT_VIEW_ITERATOR_07162005_0140) @@ -10,9 +10,10 @@ #include #include #include -#include -#include -#include +#include +#include +#include +#include #include namespace boost { namespace fusion diff --git a/include/boost/fusion/sequence/view/repetitive_view.hpp b/include/boost/fusion/view/repetitive_view.hpp similarity index 75% rename from include/boost/fusion/sequence/view/repetitive_view.hpp rename to include/boost/fusion/view/repetitive_view.hpp index 8940174b..fef1462f 100644 --- a/include/boost/fusion/sequence/view/repetitive_view.hpp +++ b/include/boost/fusion/view/repetitive_view.hpp @@ -8,8 +8,8 @@ #if !defined(BOOST_FUSION_REPETITIVE_VIEW_HPP_INCLUDED) #define BOOST_FUSION_REPETITIVE_VIEW_HPP_INCLUDED -#include -#include +#include +#include #endif diff --git a/include/boost/fusion/sequence/view/repetitive_view/detail/begin_impl.hpp b/include/boost/fusion/view/repetitive_view/detail/begin_impl.hpp similarity index 94% rename from include/boost/fusion/sequence/view/repetitive_view/detail/begin_impl.hpp rename to include/boost/fusion/view/repetitive_view/detail/begin_impl.hpp index b5c4c29a..321d7b8d 100644 --- a/include/boost/fusion/sequence/view/repetitive_view/detail/begin_impl.hpp +++ b/include/boost/fusion/view/repetitive_view/detail/begin_impl.hpp @@ -9,7 +9,7 @@ #define BOOST_FUSION_REPETITIVE_VIEW_BEGIN_IMPL_HPP_INCLUDED #include -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/view/repetitive_view/detail/deref_impl.hpp b/include/boost/fusion/view/repetitive_view/detail/deref_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/repetitive_view/detail/deref_impl.hpp rename to include/boost/fusion/view/repetitive_view/detail/deref_impl.hpp diff --git a/include/boost/fusion/sequence/view/repetitive_view/detail/end_impl.hpp b/include/boost/fusion/view/repetitive_view/detail/end_impl.hpp similarity index 94% rename from include/boost/fusion/sequence/view/repetitive_view/detail/end_impl.hpp rename to include/boost/fusion/view/repetitive_view/detail/end_impl.hpp index 00ac0874..52e36da5 100644 --- a/include/boost/fusion/sequence/view/repetitive_view/detail/end_impl.hpp +++ b/include/boost/fusion/view/repetitive_view/detail/end_impl.hpp @@ -9,7 +9,7 @@ #define BOOST_FUSION_REPETITIVE_VIEW_END_IMPL_HPP_INCLUDED #include -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/view/repetitive_view/detail/next_impl.hpp b/include/boost/fusion/view/repetitive_view/detail/next_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/repetitive_view/detail/next_impl.hpp rename to include/boost/fusion/view/repetitive_view/detail/next_impl.hpp diff --git a/include/boost/fusion/sequence/view/repetitive_view/detail/value_of_impl.hpp b/include/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/repetitive_view/detail/value_of_impl.hpp rename to include/boost/fusion/view/repetitive_view/detail/value_of_impl.hpp diff --git a/include/boost/fusion/sequence/view/repetitive_view/repetitive_view.hpp b/include/boost/fusion/view/repetitive_view/repetitive_view.hpp similarity index 90% rename from include/boost/fusion/sequence/view/repetitive_view/repetitive_view.hpp rename to include/boost/fusion/view/repetitive_view/repetitive_view.hpp index 2e06fd80..050affb1 100644 --- a/include/boost/fusion/sequence/view/repetitive_view/repetitive_view.hpp +++ b/include/boost/fusion/view/repetitive_view/repetitive_view.hpp @@ -14,8 +14,8 @@ #include #include -#include -#include +#include +#include namespace boost { namespace fusion diff --git a/include/boost/fusion/sequence/view/repetitive_view/repetitive_view_fwd.hpp b/include/boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp similarity index 100% rename from include/boost/fusion/sequence/view/repetitive_view/repetitive_view_fwd.hpp rename to include/boost/fusion/view/repetitive_view/repetitive_view_fwd.hpp diff --git a/include/boost/fusion/sequence/view/repetitive_view/repetitive_view_iterator.hpp b/include/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp similarity index 84% rename from include/boost/fusion/sequence/view/repetitive_view/repetitive_view_iterator.hpp rename to include/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp index 6b2a9a5e..9a7334de 100644 --- a/include/boost/fusion/sequence/view/repetitive_view/repetitive_view_iterator.hpp +++ b/include/boost/fusion/view/repetitive_view/repetitive_view_iterator.hpp @@ -11,17 +11,18 @@ #include #include #include +#include #include #include -#include -#include -#include +#include +#include +#include namespace boost { namespace fusion { struct repetitive_view_iterator_tag; - template::type> struct repetitive_view_iterator : iterator_base< repetitive_view_iterator > diff --git a/include/boost/fusion/sequence/view/reverse_view.hpp b/include/boost/fusion/view/reverse_view.hpp similarity index 77% rename from include/boost/fusion/sequence/view/reverse_view.hpp rename to include/boost/fusion/view/reverse_view.hpp index 6aa499e3..634b398c 100644 --- a/include/boost/fusion/sequence/view/reverse_view.hpp +++ b/include/boost/fusion/view/reverse_view.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_SEQUENCE_VIEW_REVERSE_VIEW_10022005_0612) #define FUSION_SEQUENCE_VIEW_REVERSE_VIEW_10022005_0612 -#include -#include +#include +#include #endif diff --git a/include/boost/fusion/sequence/view/reverse_view/detail/advance_impl.hpp b/include/boost/fusion/view/reverse_view/detail/advance_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/reverse_view/detail/advance_impl.hpp rename to include/boost/fusion/view/reverse_view/detail/advance_impl.hpp diff --git a/include/boost/fusion/sequence/view/reverse_view/detail/begin_impl.hpp b/include/boost/fusion/view/reverse_view/detail/begin_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/reverse_view/detail/begin_impl.hpp rename to include/boost/fusion/view/reverse_view/detail/begin_impl.hpp diff --git a/include/boost/fusion/sequence/view/reverse_view/detail/deref_impl.hpp b/include/boost/fusion/view/reverse_view/detail/deref_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/reverse_view/detail/deref_impl.hpp rename to include/boost/fusion/view/reverse_view/detail/deref_impl.hpp diff --git a/include/boost/fusion/sequence/view/reverse_view/detail/distance_impl.hpp b/include/boost/fusion/view/reverse_view/detail/distance_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/reverse_view/detail/distance_impl.hpp rename to include/boost/fusion/view/reverse_view/detail/distance_impl.hpp diff --git a/include/boost/fusion/sequence/view/reverse_view/detail/end_impl.hpp b/include/boost/fusion/view/reverse_view/detail/end_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/reverse_view/detail/end_impl.hpp rename to include/boost/fusion/view/reverse_view/detail/end_impl.hpp diff --git a/include/boost/fusion/sequence/view/reverse_view/detail/next_impl.hpp b/include/boost/fusion/view/reverse_view/detail/next_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/reverse_view/detail/next_impl.hpp rename to include/boost/fusion/view/reverse_view/detail/next_impl.hpp diff --git a/include/boost/fusion/sequence/view/reverse_view/detail/prior_impl.hpp b/include/boost/fusion/view/reverse_view/detail/prior_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/reverse_view/detail/prior_impl.hpp rename to include/boost/fusion/view/reverse_view/detail/prior_impl.hpp diff --git a/include/boost/fusion/sequence/view/reverse_view/detail/value_of_impl.hpp b/include/boost/fusion/view/reverse_view/detail/value_of_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/reverse_view/detail/value_of_impl.hpp rename to include/boost/fusion/view/reverse_view/detail/value_of_impl.hpp diff --git a/include/boost/fusion/sequence/view/reverse_view/reverse_view.hpp b/include/boost/fusion/view/reverse_view/reverse_view.hpp similarity index 90% rename from include/boost/fusion/sequence/view/reverse_view/reverse_view.hpp rename to include/boost/fusion/view/reverse_view/reverse_view.hpp index 6e6f4c09..c939f7ce 100644 --- a/include/boost/fusion/sequence/view/reverse_view/reverse_view.hpp +++ b/include/boost/fusion/view/reverse_view/reverse_view.hpp @@ -10,9 +10,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/view/reverse_view/reverse_view_iterator.hpp b/include/boost/fusion/view/reverse_view/reverse_view_iterator.hpp similarity index 75% rename from include/boost/fusion/sequence/view/reverse_view/reverse_view_iterator.hpp rename to include/boost/fusion/view/reverse_view/reverse_view_iterator.hpp index 5f44b8b5..0a890437 100644 --- a/include/boost/fusion/sequence/view/reverse_view/reverse_view_iterator.hpp +++ b/include/boost/fusion/view/reverse_view/reverse_view_iterator.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_REVERSE_VIEW_ITERATOR_07202005_0835) @@ -10,12 +10,13 @@ #include #include #include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #include #include diff --git a/include/boost/fusion/sequence/view/single_view.hpp b/include/boost/fusion/view/single_view.hpp similarity index 76% rename from include/boost/fusion/sequence/view/single_view.hpp rename to include/boost/fusion/view/single_view.hpp index e4a59476..3640fae8 100644 --- a/include/boost/fusion/sequence/view/single_view.hpp +++ b/include/boost/fusion/view/single_view.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_SINGLE_VIEW_03192006_2216) #define FUSION_SINGLE_VIEW_03192006_2216 -#include -#include +#include +#include #endif diff --git a/include/boost/fusion/sequence/view/single_view/detail/begin_impl.hpp b/include/boost/fusion/view/single_view/detail/begin_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/single_view/detail/begin_impl.hpp rename to include/boost/fusion/view/single_view/detail/begin_impl.hpp diff --git a/include/boost/fusion/sequence/view/single_view/detail/deref_impl.hpp b/include/boost/fusion/view/single_view/detail/deref_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/single_view/detail/deref_impl.hpp rename to include/boost/fusion/view/single_view/detail/deref_impl.hpp diff --git a/include/boost/fusion/sequence/view/single_view/detail/end_impl.hpp b/include/boost/fusion/view/single_view/detail/end_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/single_view/detail/end_impl.hpp rename to include/boost/fusion/view/single_view/detail/end_impl.hpp diff --git a/include/boost/fusion/sequence/view/single_view/detail/next_impl.hpp b/include/boost/fusion/view/single_view/detail/next_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/single_view/detail/next_impl.hpp rename to include/boost/fusion/view/single_view/detail/next_impl.hpp diff --git a/include/boost/fusion/sequence/view/single_view/detail/value_of_impl.hpp b/include/boost/fusion/view/single_view/detail/value_of_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/single_view/detail/value_of_impl.hpp rename to include/boost/fusion/view/single_view/detail/value_of_impl.hpp diff --git a/include/boost/fusion/sequence/view/single_view/single_view.hpp b/include/boost/fusion/view/single_view/single_view.hpp similarity index 87% rename from include/boost/fusion/sequence/view/single_view/single_view.hpp rename to include/boost/fusion/view/single_view/single_view.hpp index 31b68e20..7c10afe6 100644 --- a/include/boost/fusion/sequence/view/single_view/single_view.hpp +++ b/include/boost/fusion/view/single_view/single_view.hpp @@ -10,9 +10,9 @@ #include #include #include -#include -#include -#include +#include +#include +#include #include #include diff --git a/include/boost/fusion/sequence/view/single_view/single_view_iterator.hpp b/include/boost/fusion/view/single_view/single_view_iterator.hpp similarity index 86% rename from include/boost/fusion/sequence/view/single_view/single_view_iterator.hpp rename to include/boost/fusion/view/single_view/single_view_iterator.hpp index 68155d37..1a44bb15 100644 --- a/include/boost/fusion/sequence/view/single_view/single_view_iterator.hpp +++ b/include/boost/fusion/view/single_view/single_view_iterator.hpp @@ -9,9 +9,9 @@ #include #include -#include -#include -#include +#include +#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/view/transform_view.hpp b/include/boost/fusion/view/transform_view.hpp similarity index 76% rename from include/boost/fusion/sequence/view/transform_view.hpp rename to include/boost/fusion/view/transform_view.hpp index 714f8784..744d063c 100644 --- a/include/boost/fusion/sequence/view/transform_view.hpp +++ b/include/boost/fusion/view/transform_view.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_SEQUENCE_VIEW_TRANSFORM_VIEW_10022005_0612) #define FUSION_SEQUENCE_VIEW_TRANSFORM_VIEW_10022005_0612 -#include -#include +#include +#include #endif diff --git a/include/boost/fusion/sequence/view/transform_view/detail/advance_impl.hpp b/include/boost/fusion/view/transform_view/detail/advance_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/transform_view/detail/advance_impl.hpp rename to include/boost/fusion/view/transform_view/detail/advance_impl.hpp diff --git a/include/boost/fusion/sequence/view/transform_view/detail/apply_transform_result.hpp b/include/boost/fusion/view/transform_view/detail/apply_transform_result.hpp similarity index 100% rename from include/boost/fusion/sequence/view/transform_view/detail/apply_transform_result.hpp rename to include/boost/fusion/view/transform_view/detail/apply_transform_result.hpp diff --git a/include/boost/fusion/sequence/view/transform_view/detail/at_impl.hpp b/include/boost/fusion/view/transform_view/detail/at_impl.hpp similarity index 96% rename from include/boost/fusion/sequence/view/transform_view/detail/at_impl.hpp rename to include/boost/fusion/view/transform_view/detail/at_impl.hpp index eb48cfa0..620d96fe 100644 --- a/include/boost/fusion/sequence/view/transform_view/detail/at_impl.hpp +++ b/include/boost/fusion/view/transform_view/detail/at_impl.hpp @@ -9,7 +9,7 @@ #define BOOST_FUSION_AT_IMPL_20061029_1946 #include -#include +#include #include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/view/transform_view/detail/begin_impl.hpp b/include/boost/fusion/view/transform_view/detail/begin_impl.hpp similarity index 96% rename from include/boost/fusion/sequence/view/transform_view/detail/begin_impl.hpp rename to include/boost/fusion/view/transform_view/detail/begin_impl.hpp index b5f4bc29..75b04382 100644 --- a/include/boost/fusion/sequence/view/transform_view/detail/begin_impl.hpp +++ b/include/boost/fusion/view/transform_view/detail/begin_impl.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_BEGIN_IMPL_07162005_1031) #define FUSION_BEGIN_IMPL_07162005_1031 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/view/transform_view/detail/deref_impl.hpp b/include/boost/fusion/view/transform_view/detail/deref_impl.hpp similarity index 96% rename from include/boost/fusion/sequence/view/transform_view/detail/deref_impl.hpp rename to include/boost/fusion/view/transform_view/detail/deref_impl.hpp index d466cfd3..3849f80a 100644 --- a/include/boost/fusion/sequence/view/transform_view/detail/deref_impl.hpp +++ b/include/boost/fusion/view/transform_view/detail/deref_impl.hpp @@ -10,7 +10,7 @@ #include #include #include -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/view/transform_view/detail/distance_impl.hpp b/include/boost/fusion/view/transform_view/detail/distance_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/transform_view/detail/distance_impl.hpp rename to include/boost/fusion/view/transform_view/detail/distance_impl.hpp diff --git a/include/boost/fusion/sequence/view/transform_view/detail/end_impl.hpp b/include/boost/fusion/view/transform_view/detail/end_impl.hpp similarity index 96% rename from include/boost/fusion/sequence/view/transform_view/detail/end_impl.hpp rename to include/boost/fusion/view/transform_view/detail/end_impl.hpp index a689d933..465a2cbe 100644 --- a/include/boost/fusion/sequence/view/transform_view/detail/end_impl.hpp +++ b/include/boost/fusion/view/transform_view/detail/end_impl.hpp @@ -7,7 +7,7 @@ #if !defined(FUSION_END_IMPL_07162005_1028) #define FUSION_END_IMPL_07162005_1028 -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/view/transform_view/detail/equal_to_impl.hpp b/include/boost/fusion/view/transform_view/detail/equal_to_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/transform_view/detail/equal_to_impl.hpp rename to include/boost/fusion/view/transform_view/detail/equal_to_impl.hpp diff --git a/include/boost/fusion/sequence/view/transform_view/detail/next_impl.hpp b/include/boost/fusion/view/transform_view/detail/next_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/transform_view/detail/next_impl.hpp rename to include/boost/fusion/view/transform_view/detail/next_impl.hpp diff --git a/include/boost/fusion/sequence/view/transform_view/detail/prior_impl.hpp b/include/boost/fusion/view/transform_view/detail/prior_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/transform_view/detail/prior_impl.hpp rename to include/boost/fusion/view/transform_view/detail/prior_impl.hpp diff --git a/include/boost/fusion/sequence/view/transform_view/detail/value_at_impl.hpp b/include/boost/fusion/view/transform_view/detail/value_at_impl.hpp similarity index 95% rename from include/boost/fusion/sequence/view/transform_view/detail/value_at_impl.hpp rename to include/boost/fusion/view/transform_view/detail/value_at_impl.hpp index cc5bbf46..cb581583 100644 --- a/include/boost/fusion/sequence/view/transform_view/detail/value_at_impl.hpp +++ b/include/boost/fusion/view/transform_view/detail/value_at_impl.hpp @@ -9,7 +9,7 @@ #define BOOST_FUSION_VALUE_AT_IMPL_20061101_0745 #include -#include +#include #include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/view/transform_view/detail/value_of_impl.hpp b/include/boost/fusion/view/transform_view/detail/value_of_impl.hpp similarity index 95% rename from include/boost/fusion/sequence/view/transform_view/detail/value_of_impl.hpp rename to include/boost/fusion/view/transform_view/detail/value_of_impl.hpp index 28e9942c..08bbf209 100644 --- a/include/boost/fusion/sequence/view/transform_view/detail/value_of_impl.hpp +++ b/include/boost/fusion/view/transform_view/detail/value_of_impl.hpp @@ -9,7 +9,7 @@ #include #include -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/view/transform_view/transform_view.hpp b/include/boost/fusion/view/transform_view/transform_view.hpp similarity index 82% rename from include/boost/fusion/sequence/view/transform_view/transform_view.hpp rename to include/boost/fusion/view/transform_view/transform_view.hpp index 853bdf61..1585cd74 100644 --- a/include/boost/fusion/sequence/view/transform_view/transform_view.hpp +++ b/include/boost/fusion/view/transform_view/transform_view.hpp @@ -11,12 +11,14 @@ #include #include #include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include #include #include #include @@ -42,6 +44,8 @@ namespace boost { namespace fusion typedef typename traits::category_of::type category1; typedef typename traits::category_of::type category2; + typedef typename detail::strictest_traversal< + fusion::vector2 >::type category; typedef typename result_of::begin::type first1_type; typedef typename result_of::begin::type first2_type; typedef typename result_of::end::type last1_type; @@ -69,7 +73,11 @@ namespace boost { namespace fusion // Unary Version template +#if defined(BOOST_PARTIAL_SPECIALIZATION_EXPLICT_ARGS) + struct transform_view : sequence_base > +#else struct transform_view : sequence_base > +#endif { typedef transform_view_tag fusion_tag; typedef fusion_sequence_tag tag; // this gets picked up by MPL diff --git a/include/boost/fusion/sequence/view/transform_view/transform_view_fwd.hpp b/include/boost/fusion/view/transform_view/transform_view_fwd.hpp similarity index 100% rename from include/boost/fusion/sequence/view/transform_view/transform_view_fwd.hpp rename to include/boost/fusion/view/transform_view/transform_view_fwd.hpp diff --git a/include/boost/fusion/sequence/view/transform_view/transform_view_iterator.hpp b/include/boost/fusion/view/transform_view/transform_view_iterator.hpp similarity index 79% rename from include/boost/fusion/sequence/view/transform_view/transform_view_iterator.hpp rename to include/boost/fusion/view/transform_view/transform_view_iterator.hpp index 4d63f7e0..bb4b6afd 100644 --- a/include/boost/fusion/sequence/view/transform_view/transform_view_iterator.hpp +++ b/include/boost/fusion/view/transform_view/transform_view_iterator.hpp @@ -1,7 +1,7 @@ /*============================================================================= Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_TRANSFORM_VIEW_ITERATOR_07162005_1033) @@ -10,13 +10,14 @@ #include #include #include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/view/zip_view.hpp b/include/boost/fusion/view/zip_view.hpp similarity index 79% rename from include/boost/fusion/sequence/view/zip_view.hpp rename to include/boost/fusion/view/zip_view.hpp index 74f71421..f7a16ea0 100644 --- a/include/boost/fusion/sequence/view/zip_view.hpp +++ b/include/boost/fusion/view/zip_view.hpp @@ -8,7 +8,7 @@ #if !defined(FUSION_ZIP_VIEW_23012006_0811) #define FUSION_ZIP_VIEW_23012006_0811 -#include -#include +#include +#include #endif diff --git a/include/boost/fusion/sequence/view/zip_view/detail/advance_impl.hpp b/include/boost/fusion/view/zip_view/detail/advance_impl.hpp similarity index 96% rename from include/boost/fusion/sequence/view/zip_view/detail/advance_impl.hpp rename to include/boost/fusion/view/zip_view/detail/advance_impl.hpp index 36da0444..9aa00deb 100644 --- a/include/boost/fusion/sequence/view/zip_view/detail/advance_impl.hpp +++ b/include/boost/fusion/view/zip_view/detail/advance_impl.hpp @@ -8,7 +8,7 @@ #if !defined(FUSION_ADVANCE_IMPL_20061024_2021) #define FUSION_ADVANCE_IMPL_20061024_2021 -#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/view/zip_view/detail/at_impl.hpp b/include/boost/fusion/view/zip_view/detail/at_impl.hpp similarity index 96% rename from include/boost/fusion/sequence/view/zip_view/detail/at_impl.hpp rename to include/boost/fusion/view/zip_view/detail/at_impl.hpp index d90b5d05..b01b8cfa 100644 --- a/include/boost/fusion/sequence/view/zip_view/detail/at_impl.hpp +++ b/include/boost/fusion/view/zip_view/detail/at_impl.hpp @@ -8,9 +8,9 @@ #if !defined(FUSION_AT_IMPL_20060124_1933) #define FUSION_AT_IMPL_20060124_1933 -#include +#include #include -#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/view/zip_view/detail/begin_impl.hpp b/include/boost/fusion/view/zip_view/detail/begin_impl.hpp similarity index 97% rename from include/boost/fusion/sequence/view/zip_view/detail/begin_impl.hpp rename to include/boost/fusion/view/zip_view/detail/begin_impl.hpp index c98eb7fc..674dea38 100644 --- a/include/boost/fusion/sequence/view/zip_view/detail/begin_impl.hpp +++ b/include/boost/fusion/view/zip_view/detail/begin_impl.hpp @@ -9,7 +9,7 @@ #define FUSION_BEGIN_IMPL_20060123_2147 #include -#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/view/zip_view/detail/deref_impl.hpp b/include/boost/fusion/view/zip_view/detail/deref_impl.hpp similarity index 95% rename from include/boost/fusion/sequence/view/zip_view/detail/deref_impl.hpp rename to include/boost/fusion/view/zip_view/detail/deref_impl.hpp index 70b95d55..69cc8825 100644 --- a/include/boost/fusion/sequence/view/zip_view/detail/deref_impl.hpp +++ b/include/boost/fusion/view/zip_view/detail/deref_impl.hpp @@ -8,10 +8,10 @@ #if !defined(FUSION_DEREF_IMPL_20061024_1959) #define FUSION_DEREF_IMPL_20061024_1959 -#include +#include #include #include -#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/view/zip_view/detail/distance_impl.hpp b/include/boost/fusion/view/zip_view/detail/distance_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/zip_view/detail/distance_impl.hpp rename to include/boost/fusion/view/zip_view/detail/distance_impl.hpp diff --git a/include/boost/fusion/sequence/view/zip_view/detail/end_impl.hpp b/include/boost/fusion/view/zip_view/detail/end_impl.hpp similarity index 97% rename from include/boost/fusion/sequence/view/zip_view/detail/end_impl.hpp rename to include/boost/fusion/view/zip_view/detail/end_impl.hpp index a19b5c1f..fa9c31db 100644 --- a/include/boost/fusion/sequence/view/zip_view/detail/end_impl.hpp +++ b/include/boost/fusion/view/zip_view/detail/end_impl.hpp @@ -8,7 +8,7 @@ #if !defined(FUSION_END_IMPL_20060123_2208) #define FUSION_END_IMPL_20060123_2208 -#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/view/zip_view/detail/equal_to_impl.hpp b/include/boost/fusion/view/zip_view/detail/equal_to_impl.hpp similarity index 97% rename from include/boost/fusion/sequence/view/zip_view/detail/equal_to_impl.hpp rename to include/boost/fusion/view/zip_view/detail/equal_to_impl.hpp index 7def2030..c3962a63 100644 --- a/include/boost/fusion/sequence/view/zip_view/detail/equal_to_impl.hpp +++ b/include/boost/fusion/view/zip_view/detail/equal_to_impl.hpp @@ -8,7 +8,7 @@ #if !defined(FUSION_EQUAL_TO_IMPL_20060128_1423) #define FUSION_EQUAL_TO_IMPL_20060128_1423 -#include +#include #include #include diff --git a/include/boost/fusion/sequence/view/zip_view/detail/next_impl.hpp b/include/boost/fusion/view/zip_view/detail/next_impl.hpp similarity index 97% rename from include/boost/fusion/sequence/view/zip_view/detail/next_impl.hpp rename to include/boost/fusion/view/zip_view/detail/next_impl.hpp index cae95eec..1c9c0245 100644 --- a/include/boost/fusion/sequence/view/zip_view/detail/next_impl.hpp +++ b/include/boost/fusion/view/zip_view/detail/next_impl.hpp @@ -8,7 +8,7 @@ #if !defined(FUSION_NEXT_IMPL_20060124_2006) #define FUSION_NEXT_IMPL_20060124_2006 -#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/view/zip_view/detail/prior_impl.hpp b/include/boost/fusion/view/zip_view/detail/prior_impl.hpp similarity index 97% rename from include/boost/fusion/sequence/view/zip_view/detail/prior_impl.hpp rename to include/boost/fusion/view/zip_view/detail/prior_impl.hpp index 787eb4f9..49b99397 100644 --- a/include/boost/fusion/sequence/view/zip_view/detail/prior_impl.hpp +++ b/include/boost/fusion/view/zip_view/detail/prior_impl.hpp @@ -8,7 +8,7 @@ #if !defined(FUSION_PRIOR_IMPL_20060124_2006) #define FUSION_PRIOR_IMPL_20060124_2006 -#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/view/zip_view/detail/size_impl.hpp b/include/boost/fusion/view/zip_view/detail/size_impl.hpp similarity index 100% rename from include/boost/fusion/sequence/view/zip_view/detail/size_impl.hpp rename to include/boost/fusion/view/zip_view/detail/size_impl.hpp diff --git a/include/boost/fusion/sequence/view/zip_view/detail/value_at_impl.hpp b/include/boost/fusion/view/zip_view/detail/value_at_impl.hpp similarity index 97% rename from include/boost/fusion/sequence/view/zip_view/detail/value_at_impl.hpp rename to include/boost/fusion/view/zip_view/detail/value_at_impl.hpp index ed5475ba..7905b063 100644 --- a/include/boost/fusion/sequence/view/zip_view/detail/value_at_impl.hpp +++ b/include/boost/fusion/view/zip_view/detail/value_at_impl.hpp @@ -8,7 +8,7 @@ #if !defined(FUSION_VALUE_AT_IMPL_20060124_2129) #define FUSION_VALUE_AT_IMPL_20060124_2129 -#include +#include #include #include #include diff --git a/include/boost/fusion/sequence/view/zip_view/detail/value_of_impl.hpp b/include/boost/fusion/view/zip_view/detail/value_of_impl.hpp similarity index 93% rename from include/boost/fusion/sequence/view/zip_view/detail/value_of_impl.hpp rename to include/boost/fusion/view/zip_view/detail/value_of_impl.hpp index 9ea84a17..4ba4c3c5 100644 --- a/include/boost/fusion/sequence/view/zip_view/detail/value_of_impl.hpp +++ b/include/boost/fusion/view/zip_view/detail/value_of_impl.hpp @@ -2,13 +2,13 @@ Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2006 Dan Marsden - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #if !defined(FUSION_VALUE_OF_IMPL_20060124_2147) #define FUSION_VALUE_OF_IMPL_20060124_2147 -#include +#include #include #include #include @@ -17,8 +17,8 @@ #include #include -namespace boost { namespace fusion { - +namespace boost { namespace fusion +{ struct zip_view_iterator_tag; namespace detail diff --git a/include/boost/fusion/sequence/view/zip_view/zip_view.hpp b/include/boost/fusion/view/zip_view/zip_view.hpp similarity index 87% rename from include/boost/fusion/sequence/view/zip_view/zip_view.hpp rename to include/boost/fusion/view/zip_view/zip_view.hpp index 563d853f..340feafb 100644 --- a/include/boost/fusion/sequence/view/zip_view/zip_view.hpp +++ b/include/boost/fusion/view/zip_view/zip_view.hpp @@ -11,17 +11,17 @@ #include #include #include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include #include #include #include -#include +#include #include #include diff --git a/include/boost/fusion/sequence/view/zip_view/zip_view_iterator.hpp b/include/boost/fusion/view/zip_view/zip_view_iterator.hpp similarity index 65% rename from include/boost/fusion/sequence/view/zip_view/zip_view_iterator.hpp rename to include/boost/fusion/view/zip_view/zip_view_iterator.hpp index d4ebcc58..66b514dc 100644 --- a/include/boost/fusion/sequence/view/zip_view/zip_view_iterator.hpp +++ b/include/boost/fusion/view/zip_view/zip_view_iterator.hpp @@ -8,17 +8,17 @@ #if !defined(FUSION_ZIP_VIEW_ITERATOR_23012006_0814) #define FUSION_ZIP_VIEW_ITERATOR_23012006_0814 -#include +#include #include -#include -#include -#include -#include -#include -#include -#include +#include +#include +#include +#include +#include +#include +#include -#include +#include namespace boost { namespace fusion { diff --git a/include/boost/fusion/sequence/view/zip_view/zip_view_iterator_fwd.hpp b/include/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp similarity index 89% rename from include/boost/fusion/sequence/view/zip_view/zip_view_iterator_fwd.hpp rename to include/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp index 6e8bf3f2..e2b9a7d4 100644 --- a/include/boost/fusion/sequence/view/zip_view/zip_view_iterator_fwd.hpp +++ b/include/boost/fusion/view/zip_view/zip_view_iterator_fwd.hpp @@ -8,7 +8,7 @@ #if !defined(FUSION_ZIP_VIEW_ITERATOR_FWD) #define FUSION_ZIP_VIEW_ITERATOR_FWD -#include +#include namespace boost { namespace fusion { diff --git a/test/algorithm/all.cpp b/test/algorithm/all.cpp index 983059c8..47c65e50 100644 --- a/test/algorithm/all.cpp +++ b/test/algorithm/all.cpp @@ -6,8 +6,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/any.cpp b/test/algorithm/any.cpp index 71685ef2..69f114f8 100644 --- a/test/algorithm/any.cpp +++ b/test/algorithm/any.cpp @@ -7,8 +7,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/clear.cpp b/test/algorithm/clear.cpp index 309f3e28..3ab42030 100644 --- a/test/algorithm/clear.cpp +++ b/test/algorithm/clear.cpp @@ -5,7 +5,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include +#include #include #include #include diff --git a/test/algorithm/count.cpp b/test/algorithm/count.cpp index ae6ccde6..e87ff9d8 100644 --- a/test/algorithm/count.cpp +++ b/test/algorithm/count.cpp @@ -6,8 +6,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/count_if.cpp b/test/algorithm/count_if.cpp index 1a8c02e5..d67e464c 100644 --- a/test/algorithm/count_if.cpp +++ b/test/algorithm/count_if.cpp @@ -6,8 +6,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/erase.cpp b/test/algorithm/erase.cpp index efe7dcfe..44f641f3 100644 --- a/test/algorithm/erase.cpp +++ b/test/algorithm/erase.cpp @@ -5,9 +5,9 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include -#include +#include +#include +#include #include #include #include diff --git a/test/algorithm/erase_key.cpp b/test/algorithm/erase_key.cpp index d940714c..2685bfd2 100644 --- a/test/algorithm/erase_key.cpp +++ b/test/algorithm/erase_key.cpp @@ -5,14 +5,14 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include +#include #include -#include +#include #include #include -#include -#include -#include +#include +#include +#include #include #include #include diff --git a/test/algorithm/ext_/find_if_s.cpp b/test/algorithm/ext_/find_if_s.cpp index d57876e2..f3b06d2b 100755 --- a/test/algorithm/ext_/find_if_s.cpp +++ b/test/algorithm/ext_/find_if_s.cpp @@ -5,11 +5,11 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include -#include +#include #include #include #include diff --git a/test/algorithm/ext_/for_each_s.cpp b/test/algorithm/ext_/for_each_s.cpp index 6758872c..bf4e2bbd 100755 --- a/test/algorithm/ext_/for_each_s.cpp +++ b/test/algorithm/ext_/for_each_s.cpp @@ -5,13 +5,13 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include #include -#include +#include struct print { diff --git a/test/algorithm/filter.cpp b/test/algorithm/filter.cpp index 21c93ed0..4c21d03a 100644 --- a/test/algorithm/filter.cpp +++ b/test/algorithm/filter.cpp @@ -6,8 +6,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/filter_if.cpp b/test/algorithm/filter_if.cpp index 681d2bbd..e1bbb230 100644 --- a/test/algorithm/filter_if.cpp +++ b/test/algorithm/filter_if.cpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/find.cpp b/test/algorithm/find.cpp index 1b913a73..25a61e94 100644 --- a/test/algorithm/find.cpp +++ b/test/algorithm/find.cpp @@ -5,10 +5,10 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include #include diff --git a/test/algorithm/find_if.cpp b/test/algorithm/find_if.cpp index 93c694cb..2b402b9f 100644 --- a/test/algorithm/find_if.cpp +++ b/test/algorithm/find_if.cpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/fold.cpp b/test/algorithm/fold.cpp index 933eadb3..55641677 100644 --- a/test/algorithm/fold.cpp +++ b/test/algorithm/fold.cpp @@ -6,8 +6,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/for_each.cpp b/test/algorithm/for_each.cpp index 18ebbda9..a0054fad 100644 --- a/test/algorithm/for_each.cpp +++ b/test/algorithm/for_each.cpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/insert.cpp b/test/algorithm/insert.cpp index 8780636f..acbcf9a3 100644 --- a/test/algorithm/insert.cpp +++ b/test/algorithm/insert.cpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/insert_range.cpp b/test/algorithm/insert_range.cpp index 0aef1e81..4cd3ae41 100644 --- a/test/algorithm/insert_range.cpp +++ b/test/algorithm/insert_range.cpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/join.cpp b/test/algorithm/join.cpp index 39709c50..04341160 100644 --- a/test/algorithm/join.cpp +++ b/test/algorithm/join.cpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include int main() diff --git a/test/algorithm/none.cpp b/test/algorithm/none.cpp index 5747494b..ec5676b6 100644 --- a/test/algorithm/none.cpp +++ b/test/algorithm/none.cpp @@ -6,8 +6,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/pop_back.cpp b/test/algorithm/pop_back.cpp index 5f9ebaf4..55d4b7fe 100644 --- a/test/algorithm/pop_back.cpp +++ b/test/algorithm/pop_back.cpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/pop_front.cpp b/test/algorithm/pop_front.cpp index 8e87a959..c4b797ab 100644 --- a/test/algorithm/pop_front.cpp +++ b/test/algorithm/pop_front.cpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/push_back.cpp b/test/algorithm/push_back.cpp index 94e013a3..a15d4401 100644 --- a/test/algorithm/push_back.cpp +++ b/test/algorithm/push_back.cpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/push_front.cpp b/test/algorithm/push_front.cpp index dabdbf77..5c9e8fa8 100644 --- a/test/algorithm/push_front.cpp +++ b/test/algorithm/push_front.cpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/remove.cpp b/test/algorithm/remove.cpp index a0f20ba0..95f351ef 100644 --- a/test/algorithm/remove.cpp +++ b/test/algorithm/remove.cpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/remove_if.cpp b/test/algorithm/remove_if.cpp index ee4ca848..9cef9a3d 100644 --- a/test/algorithm/remove_if.cpp +++ b/test/algorithm/remove_if.cpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/replace.cpp b/test/algorithm/replace.cpp index 3ccf13b1..acdb9761 100644 --- a/test/algorithm/replace.cpp +++ b/test/algorithm/replace.cpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/replace_if.cpp b/test/algorithm/replace_if.cpp index 01b2df8a..b885976c 100644 --- a/test/algorithm/replace_if.cpp +++ b/test/algorithm/replace_if.cpp @@ -5,9 +5,9 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include -#include +#include +#include +#include #include #include #include diff --git a/test/algorithm/reverse.cpp b/test/algorithm/reverse.cpp index 598edac0..4cae9b33 100644 --- a/test/algorithm/reverse.cpp +++ b/test/algorithm/reverse.cpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/transform.cpp b/test/algorithm/transform.cpp index c7ce3625..1597dfd2 100644 --- a/test/algorithm/transform.cpp +++ b/test/algorithm/transform.cpp @@ -6,8 +6,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/algorithm/zip.cpp b/test/algorithm/zip.cpp index eb60ba17..e4f9bedb 100644 --- a/test/algorithm/zip.cpp +++ b/test/algorithm/zip.cpp @@ -9,7 +9,7 @@ #include #include #include -#include +#include #include int main() diff --git a/test/algorithm/zip2.cpp b/test/algorithm/zip2.cpp index 0823af0e..c8007117 100644 --- a/test/algorithm/zip2.cpp +++ b/test/algorithm/zip2.cpp @@ -8,7 +8,7 @@ #include #include #include -#include +#include #include int main() diff --git a/test/algorithm/zip_ignore.cpp b/test/algorithm/zip_ignore.cpp index cd71ed44..a12b5820 100644 --- a/test/algorithm/zip_ignore.cpp +++ b/test/algorithm/zip_ignore.cpp @@ -6,7 +6,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include +#include #include #include #include diff --git a/test/functional/fused.cpp b/test/functional/fused.cpp index 4b960ee0..de974cf8 100644 --- a/test/functional/fused.cpp +++ b/test/functional/fused.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include #include #include diff --git a/test/functional/fused_function_object.cpp b/test/functional/fused_function_object.cpp index 50a1b38b..45fab30f 100644 --- a/test/functional/fused_function_object.cpp +++ b/test/functional/fused_function_object.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include namespace fusion = boost::fusion; using boost::noncopyable; diff --git a/test/functional/fused_procedure.cpp b/test/functional/fused_procedure.cpp index d4fd0d9f..34ba09d0 100644 --- a/test/functional/fused_procedure.cpp +++ b/test/functional/fused_procedure.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include namespace fusion = boost::fusion; using boost::noncopyable; diff --git a/test/functional/invoke.cpp b/test/functional/invoke.cpp index f6e4c868..3960af17 100644 --- a/test/functional/invoke.cpp +++ b/test/functional/invoke.cpp @@ -17,12 +17,12 @@ #include -#include -#include +#include +#include #include #include -#include -#include +#include +#include #include #include diff --git a/test/functional/invoke_function_object.cpp b/test/functional/invoke_function_object.cpp index 0f6272b2..5f08f650 100644 --- a/test/functional/invoke_function_object.cpp +++ b/test/functional/invoke_function_object.cpp @@ -17,12 +17,12 @@ #include -#include -#include +#include +#include #include #include -#include -#include +#include +#include #include #include diff --git a/test/functional/invoke_procedure.cpp b/test/functional/invoke_procedure.cpp index bf92ef23..810cb903 100644 --- a/test/functional/invoke_procedure.cpp +++ b/test/functional/invoke_procedure.cpp @@ -15,12 +15,12 @@ #include -#include -#include +#include +#include #include #include -#include -#include +#include +#include #include #include diff --git a/test/functional/make_fused.cpp b/test/functional/make_fused.cpp index a1cd77f7..ba5e604f 100644 --- a/test/functional/make_fused.cpp +++ b/test/functional/make_fused.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include namespace fusion = boost::fusion; using boost::noncopyable; diff --git a/test/functional/make_fused_function_object.cpp b/test/functional/make_fused_function_object.cpp index 51808266..f2463003 100644 --- a/test/functional/make_fused_function_object.cpp +++ b/test/functional/make_fused_function_object.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include namespace fusion = boost::fusion; using boost::noncopyable; diff --git a/test/functional/make_fused_procedure.cpp b/test/functional/make_fused_procedure.cpp index ebe5b555..6a4cf572 100644 --- a/test/functional/make_fused_procedure.cpp +++ b/test/functional/make_fused_procedure.cpp @@ -13,7 +13,7 @@ #include #include -#include +#include namespace fusion = boost::fusion; using boost::noncopyable; diff --git a/test/sequence/adapt_assoc_struct.cpp b/test/sequence/adapt_assoc_struct.cpp index 926294a6..277433b3 100644 --- a/test/sequence/adapt_assoc_struct.cpp +++ b/test/sequence/adapt_assoc_struct.cpp @@ -6,7 +6,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include +#include #include #include #include @@ -16,10 +16,10 @@ #include #include #include -#include -#include +#include +#include #include -#include +#include #include #include #include diff --git a/test/sequence/adapt_struct.cpp b/test/sequence/adapt_struct.cpp index 114b8862..0f47c648 100644 --- a/test/sequence/adapt_struct.cpp +++ b/test/sequence/adapt_struct.cpp @@ -5,17 +5,17 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include +#include #include #include #include #include #include #include -#include -#include +#include +#include #include -#include +#include #include #include #include diff --git a/test/sequence/array.cpp b/test/sequence/array.cpp index 3a776d52..0ca5255d 100644 --- a/test/sequence/array.cpp +++ b/test/sequence/array.cpp @@ -8,7 +8,7 @@ #include -#include +#include #include #include diff --git a/test/sequence/as_list.cpp b/test/sequence/as_list.cpp index aa45d469..72dc9aa4 100644 --- a/test/sequence/as_list.cpp +++ b/test/sequence/as_list.cpp @@ -5,11 +5,11 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include -#include +#include #include #include #include diff --git a/test/sequence/as_map.cpp b/test/sequence/as_map.cpp index b1b336fb..a9364bc6 100644 --- a/test/sequence/as_map.cpp +++ b/test/sequence/as_map.cpp @@ -5,12 +5,12 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include -#include -#include +#include +#include #include #include #include diff --git a/test/sequence/as_set.cpp b/test/sequence/as_set.cpp index 40488f32..9bfd5869 100644 --- a/test/sequence/as_set.cpp +++ b/test/sequence/as_set.cpp @@ -5,13 +5,13 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include -#include -#include -#include +#include +#include +#include #include #include #include diff --git a/test/sequence/as_vector.cpp b/test/sequence/as_vector.cpp index b5c3425e..d728c837 100644 --- a/test/sequence/as_vector.cpp +++ b/test/sequence/as_vector.cpp @@ -5,11 +5,11 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include -#include +#include #include #include #include diff --git a/test/sequence/back_extended_deque.cpp b/test/sequence/back_extended_deque.cpp index f58dfdc6..a2daa4cf 100644 --- a/test/sequence/back_extended_deque.cpp +++ b/test/sequence/back_extended_deque.cpp @@ -3,15 +3,16 @@ Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2006 Dan Marsden - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include +#include #include #include diff --git a/test/sequence/boost_tuple.cpp b/test/sequence/boost_tuple.cpp index 522686fd..1e3d23b4 100644 --- a/test/sequence/boost_tuple.cpp +++ b/test/sequence/boost_tuple.cpp @@ -5,17 +5,17 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include +#include #include #include #include #include #include #include -#include -#include +#include +#include #include -#include +#include #include #include #include diff --git a/test/sequence/cons.cpp b/test/sequence/cons.cpp index 644ced5c..b27345e6 100644 --- a/test/sequence/cons.cpp +++ b/test/sequence/cons.cpp @@ -7,10 +7,10 @@ ==============================================================================*/ #include #include -#include +#include #include #include -#include +#include #include #include #include diff --git a/test/sequence/construction.hpp b/test/sequence/construction.hpp index 6c289749..d5c56664 100644 --- a/test/sequence/construction.hpp +++ b/test/sequence/construction.hpp @@ -7,7 +7,7 @@ ==============================================================================*/ #include #include -#include +#include #if !defined(FUSION_AT) #define FUSION_AT at_c diff --git a/test/sequence/copy.hpp b/test/sequence/copy.hpp index f47a0bca..96edbc45 100644 --- a/test/sequence/copy.hpp +++ b/test/sequence/copy.hpp @@ -7,7 +7,7 @@ ==============================================================================*/ #include #include -#include +#include #include #include #include diff --git a/test/sequence/deduce_sequence.cpp b/test/sequence/deduce_sequence.cpp index 9c6d1ef4..ea661662 100644 --- a/test/sequence/deduce_sequence.cpp +++ b/test/sequence/deduce_sequence.cpp @@ -7,7 +7,7 @@ ==============================================================================*/ #include -#include +#include #include #include @@ -35,7 +35,7 @@ struct test_seq_ctor #define TEST_SAME_ELEMENTS(a,b) BOOST_TEST(( boost::mpl::equal< a, b >::type::value )) typedef fusion::vector args1; -typedef fusion::vector storable1; +typedef fusion::vector storable1; template struct test_seq_ctor; typedef fusion::vector< reference_wrapper &, reference_wrapper &, @@ -45,7 +45,7 @@ template struct test_seq_ctor; typedef fusion::vector args3; -typedef fusion::vector storable3; +typedef fusion::vector storable3; template struct test_seq_ctor; typedef fusion::vector args4; diff --git a/test/sequence/deque_comparison.cpp b/test/sequence/deque_comparison.cpp index 2c6db999..229fd0e6 100644 --- a/test/sequence/deque_comparison.cpp +++ b/test/sequence/deque_comparison.cpp @@ -6,7 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #define FUSION_SEQUENCE deque #include "comparison.hpp" diff --git a/test/sequence/deque_construction.cpp b/test/sequence/deque_construction.cpp index 7ec3caff..bba8f09a 100644 --- a/test/sequence/deque_construction.cpp +++ b/test/sequence/deque_construction.cpp @@ -6,7 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #define FUSION_SEQUENCE deque #include "construction.hpp" diff --git a/test/sequence/deque_copy.cpp b/test/sequence/deque_copy.cpp index 6d3ee13f..57e7334d 100644 --- a/test/sequence/deque_copy.cpp +++ b/test/sequence/deque_copy.cpp @@ -6,7 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #include #include diff --git a/test/sequence/deque_iterator.cpp b/test/sequence/deque_iterator.cpp index 414b94c5..baf6f827 100644 --- a/test/sequence/deque_iterator.cpp +++ b/test/sequence/deque_iterator.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #define FUSION_SEQUENCE deque #define FUSION_TRAVERSAL_TAG bidirectional_traversal_tag diff --git a/test/sequence/deque_make.cpp b/test/sequence/deque_make.cpp index dfdc681d..4dc7346b 100644 --- a/test/sequence/deque_make.cpp +++ b/test/sequence/deque_make.cpp @@ -6,7 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #include #define FUSION_SEQUENCE deque diff --git a/test/sequence/deque_misc.cpp b/test/sequence/deque_misc.cpp index 01784c1e..53836bbc 100644 --- a/test/sequence/deque_misc.cpp +++ b/test/sequence/deque_misc.cpp @@ -6,9 +6,9 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include -#include -#include +#include +#include +#include #define FUSION_SEQUENCE deque #include "misc.hpp" diff --git a/test/sequence/deque_mutate.cpp b/test/sequence/deque_mutate.cpp index 8b56aeac..66ab1478 100644 --- a/test/sequence/deque_mutate.cpp +++ b/test/sequence/deque_mutate.cpp @@ -6,7 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #define FUSION_SEQUENCE deque #include "mutate.hpp" diff --git a/test/sequence/deque_tie.cpp b/test/sequence/deque_tie.cpp index 2afb519f..e922335b 100644 --- a/test/sequence/deque_tie.cpp +++ b/test/sequence/deque_tie.cpp @@ -6,7 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #include #include #include diff --git a/test/sequence/deque_value_at.cpp b/test/sequence/deque_value_at.cpp index 4a0a9ab3..c348d287 100644 --- a/test/sequence/deque_value_at.cpp +++ b/test/sequence/deque_value_at.cpp @@ -6,7 +6,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #define FUSION_SEQUENCE deque #include "value_at.hpp" diff --git a/test/sequence/ext_/iterator_range_s.cpp b/test/sequence/ext_/iterator_range_s.cpp index 4f6ead43..1468f61b 100755 --- a/test/sequence/ext_/iterator_range_s.cpp +++ b/test/sequence/ext_/iterator_range_s.cpp @@ -7,11 +7,11 @@ #include #include #include -#include -#include +#include +#include #include -#include -#include +#include +#include #include #include #include diff --git a/test/sequence/filter_view.cpp b/test/sequence/filter_view.cpp index 28dbb8a0..eaefb35e 100644 --- a/test/sequence/filter_view.cpp +++ b/test/sequence/filter_view.cpp @@ -5,12 +5,12 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include -#include +#include +#include +#include #include #include -#include +#include #include #include #include diff --git a/test/sequence/front_extended_deque.cpp b/test/sequence/front_extended_deque.cpp index 2afa6190..40100c32 100644 --- a/test/sequence/front_extended_deque.cpp +++ b/test/sequence/front_extended_deque.cpp @@ -3,15 +3,16 @@ Copyright (c) 2001-2006 Joel de Guzman Copyright (c) 2006 Dan Marsden - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include +#include #include #include diff --git a/test/sequence/io.cpp b/test/sequence/io.cpp index 3629ea39..f7692163 100644 --- a/test/sequence/io.cpp +++ b/test/sequence/io.cpp @@ -5,7 +5,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include +#include #include #include #include diff --git a/test/sequence/iterator_range.cpp b/test/sequence/iterator_range.cpp index 1abaf0d5..29993d8e 100644 --- a/test/sequence/iterator_range.cpp +++ b/test/sequence/iterator_range.cpp @@ -5,9 +5,9 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include +#include #include -#include +#include #include #include #include diff --git a/test/sequence/joint_view.cpp b/test/sequence/joint_view.cpp index eb108df1..7ce135e7 100644 --- a/test/sequence/joint_view.cpp +++ b/test/sequence/joint_view.cpp @@ -5,8 +5,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include diff --git a/test/sequence/list_comparison.cpp b/test/sequence/list_comparison.cpp index 19094687..fcf213c5 100644 --- a/test/sequence/list_comparison.cpp +++ b/test/sequence/list_comparison.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #define FUSION_SEQUENCE list #include "comparison.hpp" diff --git a/test/sequence/list_construction.cpp b/test/sequence/list_construction.cpp index 83d748be..26d648fd 100644 --- a/test/sequence/list_construction.cpp +++ b/test/sequence/list_construction.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #define FUSION_SEQUENCE list #include "construction.hpp" diff --git a/test/sequence/list_copy.cpp b/test/sequence/list_copy.cpp index 68ae042f..561ab10d 100644 --- a/test/sequence/list_copy.cpp +++ b/test/sequence/list_copy.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #include #include diff --git a/test/sequence/list_iterator.cpp b/test/sequence/list_iterator.cpp index 515a6e0f..f7cc6e1d 100644 --- a/test/sequence/list_iterator.cpp +++ b/test/sequence/list_iterator.cpp @@ -4,7 +4,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #define FUSION_SEQUENCE list #define FUSION_NO_PRIOR diff --git a/test/sequence/list_make.cpp b/test/sequence/list_make.cpp index 55833b64..7e7120fe 100644 --- a/test/sequence/list_make.cpp +++ b/test/sequence/list_make.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #include #define FUSION_SEQUENCE list diff --git a/test/sequence/list_misc.cpp b/test/sequence/list_misc.cpp index c5ff71ca..2d8fe047 100644 --- a/test/sequence/list_misc.cpp +++ b/test/sequence/list_misc.cpp @@ -2,12 +2,11 @@ Copyright (c) 1999-2003 Jaakko Järvi Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include -#include -#include +#include +#include #define FUSION_SEQUENCE list #define FUSION_FORWARD_ONLY diff --git a/test/sequence/list_mutate.cpp b/test/sequence/list_mutate.cpp index abfc9a3e..f8802b27 100644 --- a/test/sequence/list_mutate.cpp +++ b/test/sequence/list_mutate.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #define FUSION_SEQUENCE list #include "mutate.hpp" diff --git a/test/sequence/list_tie.cpp b/test/sequence/list_tie.cpp index e227edee..1a0e73b2 100644 --- a/test/sequence/list_tie.cpp +++ b/test/sequence/list_tie.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #include #include #include diff --git a/test/sequence/list_value_at.cpp b/test/sequence/list_value_at.cpp index 9bd3de69..763cf265 100644 --- a/test/sequence/list_value_at.cpp +++ b/test/sequence/list_value_at.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #define FUSION_SEQUENCE list #include "value_at.hpp" diff --git a/test/sequence/make_list.cpp b/test/sequence/make_list.cpp index 55833b64..7e7120fe 100644 --- a/test/sequence/make_list.cpp +++ b/test/sequence/make_list.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #include #define FUSION_SEQUENCE list diff --git a/test/sequence/make_vector.cpp b/test/sequence/make_vector.cpp index ffd06489..228fbb77 100644 --- a/test/sequence/make_vector.cpp +++ b/test/sequence/make_vector.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #include #define FUSION_SEQUENCE vector diff --git a/test/sequence/map.cpp b/test/sequence/map.cpp index b170158d..689e086d 100644 --- a/test/sequence/map.cpp +++ b/test/sequence/map.cpp @@ -5,7 +5,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include +#include #include #include #include diff --git a/test/sequence/misc.hpp b/test/sequence/misc.hpp index 01ee773d..d1fae03b 100644 --- a/test/sequence/misc.hpp +++ b/test/sequence/misc.hpp @@ -2,12 +2,13 @@ Copyright (C) 1999-2003 Jaakko Järvi Copyright (c) 2001-2006 Joel de Guzman - Distributed under the Boost Software License, Version 1.0. (See accompanying + Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include #include #include +#include #include #include #include @@ -105,7 +106,7 @@ struct test_intrinsics2 BOOST_STATIC_ASSERT((boost::mpl::equal::value)); #endif - + typedef boost::fusion::FUSION_SEQUENCE target3; typedef boost::mpl::push_front::type seq3; BOOST_STATIC_ASSERT((boost::mpl::equal::value)); @@ -170,9 +171,9 @@ test() BOOST_STATIC_ASSERT(!traits::is_sequence::value); BOOST_STATIC_ASSERT(!traits::is_sequence::value); } - + { // testing mpl compatibility - + // test begin, end, next, prior, advance, size, deref, etc. //~ typedef FUSION_SEQUENCE tuple_type; //~ test_intrinsics1 test1; @@ -181,7 +182,7 @@ test() // test an algorithm typedef FUSION_SEQUENCE t1; typedef boost::mpl::find::type iter; - typedef boost::mpl::deref::type type; + typedef boost::mpl::deref::type type; BOOST_STATIC_ASSERT((boost::is_same::value)); } diff --git a/test/sequence/repetitive_view.cpp b/test/sequence/repetitive_view.cpp index 0a2c01d9..54da37bc 100644 --- a/test/sequence/repetitive_view.cpp +++ b/test/sequence/repetitive_view.cpp @@ -7,10 +7,10 @@ ==============================================================================*/ #include -#include +#include -#include -#include +#include +#include #include #include diff --git a/test/sequence/reverse_view.cpp b/test/sequence/reverse_view.cpp index 3cc2bf91..03d0632f 100644 --- a/test/sequence/reverse_view.cpp +++ b/test/sequence/reverse_view.cpp @@ -5,12 +5,12 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include -#include +#include #include #include #include diff --git a/test/sequence/set.cpp b/test/sequence/set.cpp index c658380e..0c376f3a 100644 --- a/test/sequence/set.cpp +++ b/test/sequence/set.cpp @@ -5,7 +5,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include +#include #include #include #include diff --git a/test/sequence/single_view.cpp b/test/sequence/single_view.cpp index fd1d1341..e3faa26a 100644 --- a/test/sequence/single_view.cpp +++ b/test/sequence/single_view.cpp @@ -6,7 +6,7 @@ ==============================================================================*/ #include #include -#include +#include #include #include diff --git a/test/sequence/std_pair.cpp b/test/sequence/std_pair.cpp index d0434821..127a1fbc 100644 --- a/test/sequence/std_pair.cpp +++ b/test/sequence/std_pair.cpp @@ -5,17 +5,17 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include +#include #include #include #include #include #include #include -#include -#include +#include +#include #include -#include +#include #include #include #include diff --git a/test/sequence/swap.cpp b/test/sequence/swap.cpp index f9573d52..e89542e0 100644 --- a/test/sequence/swap.cpp +++ b/test/sequence/swap.cpp @@ -6,7 +6,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include +#include #include #include #include diff --git a/test/sequence/transform_view.cpp b/test/sequence/transform_view.cpp index 3dce9043..e811f5f7 100644 --- a/test/sequence/transform_view.cpp +++ b/test/sequence/transform_view.cpp @@ -5,12 +5,12 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include -#include +#include #include #include #include diff --git a/test/sequence/tuple_comparison.cpp b/test/sequence/tuple_comparison.cpp index fde2ad47..8108256b 100644 --- a/test/sequence/tuple_comparison.cpp +++ b/test/sequence/tuple_comparison.cpp @@ -6,7 +6,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include +#include #define FUSION_SEQUENCE tuple #include "comparison.hpp" diff --git a/test/sequence/tuple_construction.cpp b/test/sequence/tuple_construction.cpp index 0d357002..323c72ed 100644 --- a/test/sequence/tuple_construction.cpp +++ b/test/sequence/tuple_construction.cpp @@ -6,7 +6,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include +#include #define FUSION_SEQUENCE tuple #define FUSION_AT get diff --git a/test/sequence/tuple_misc.cpp b/test/sequence/tuple_misc.cpp index 704ebd3a..daef0322 100644 --- a/test/sequence/tuple_misc.cpp +++ b/test/sequence/tuple_misc.cpp @@ -6,8 +6,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #define FUSION_SEQUENCE tuple #define FUSION_AT get diff --git a/test/sequence/variant.cpp b/test/sequence/variant.cpp index b4feee13..bfbf6fd3 100644 --- a/test/sequence/variant.cpp +++ b/test/sequence/variant.cpp @@ -6,7 +6,7 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #include #include diff --git a/test/sequence/vector_comparison.cpp b/test/sequence/vector_comparison.cpp index 0a7ae781..7321820e 100644 --- a/test/sequence/vector_comparison.cpp +++ b/test/sequence/vector_comparison.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #define FUSION_SEQUENCE vector #include "comparison.hpp" diff --git a/test/sequence/vector_construction.cpp b/test/sequence/vector_construction.cpp index 4f1eaa02..d279c232 100644 --- a/test/sequence/vector_construction.cpp +++ b/test/sequence/vector_construction.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #define FUSION_SEQUENCE vector #include "construction.hpp" diff --git a/test/sequence/vector_copy.cpp b/test/sequence/vector_copy.cpp index e554a768..9b1e207d 100644 --- a/test/sequence/vector_copy.cpp +++ b/test/sequence/vector_copy.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #include #include diff --git a/test/sequence/vector_iterator.cpp b/test/sequence/vector_iterator.cpp index 662466fa..bcf15c69 100644 --- a/test/sequence/vector_iterator.cpp +++ b/test/sequence/vector_iterator.cpp @@ -4,8 +4,8 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include -#include +#include +#include #define FUSION_SEQUENCE vector #define FUSION_TRAVERSAL_TAG random_access_traversal_tag diff --git a/test/sequence/vector_make.cpp b/test/sequence/vector_make.cpp index ffd06489..228fbb77 100644 --- a/test/sequence/vector_make.cpp +++ b/test/sequence/vector_make.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #include #define FUSION_SEQUENCE vector diff --git a/test/sequence/vector_misc.cpp b/test/sequence/vector_misc.cpp index e2a22fb7..25d3ecfc 100644 --- a/test/sequence/vector_misc.cpp +++ b/test/sequence/vector_misc.cpp @@ -5,9 +5,9 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include -#include -#include +#include +#include +#include #define FUSION_SEQUENCE vector #include "misc.hpp" diff --git a/test/sequence/vector_mutate.cpp b/test/sequence/vector_mutate.cpp index 60a410b7..610c0c18 100644 --- a/test/sequence/vector_mutate.cpp +++ b/test/sequence/vector_mutate.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #define FUSION_SEQUENCE vector #include "mutate.hpp" diff --git a/test/sequence/vector_n.cpp b/test/sequence/vector_n.cpp index e7ff4ad3..b051ca89 100644 --- a/test/sequence/vector_n.cpp +++ b/test/sequence/vector_n.cpp @@ -5,16 +5,16 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include -#include -#include -#include -#include +#include +#include +#include +#include #include #include diff --git a/test/sequence/vector_tie.cpp b/test/sequence/vector_tie.cpp index 348e235c..08a82e3d 100644 --- a/test/sequence/vector_tie.cpp +++ b/test/sequence/vector_tie.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #include #include #include diff --git a/test/sequence/vector_value_at.cpp b/test/sequence/vector_value_at.cpp index e4aa9ac4..8a99da5b 100644 --- a/test/sequence/vector_value_at.cpp +++ b/test/sequence/vector_value_at.cpp @@ -5,7 +5,7 @@ Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ -#include +#include #define FUSION_SEQUENCE vector #include "value_at.hpp" diff --git a/test/sequence/zip_view.cpp b/test/sequence/zip_view.cpp index 485760cd..0fcb438d 100644 --- a/test/sequence/zip_view.cpp +++ b/test/sequence/zip_view.cpp @@ -7,9 +7,9 @@ ==============================================================================*/ #include #include -#include -#include -#include +#include +#include +#include #include #include #include @@ -20,7 +20,7 @@ #include #include #include -#include +#include #include #include #include diff --git a/test/sequence/zip_view2.cpp b/test/sequence/zip_view2.cpp index c8c42e1e..611c41cb 100644 --- a/test/sequence/zip_view2.cpp +++ b/test/sequence/zip_view2.cpp @@ -9,9 +9,9 @@ #include #include -#include -#include -#include +#include +#include +#include #include #include #include @@ -22,7 +22,7 @@ #include #include #include -#include +#include #include #include diff --git a/test/sequence/zip_view_ignore.cpp b/test/sequence/zip_view_ignore.cpp index 5eb3bf39..2a300809 100644 --- a/test/sequence/zip_view_ignore.cpp +++ b/test/sequence/zip_view_ignore.cpp @@ -6,8 +6,8 @@ file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) ==============================================================================*/ #include -#include -#include +#include +#include #include #include #include