diff --git a/changelist.txt b/changelist.txt index fb2cb9d0..0ec99b22 100644 --- a/changelist.txt +++ b/changelist.txt @@ -5,3 +5,5 @@ Interface Changes - September 24, 2009: added nview and friends - October 12, 2009: the accumulator is the first argument to the functor of fold and accumulate. Fixes Boost Trac Ticket #2355. +- October 30, 2009: Added support for associative iterators & views. Fixes + Boost Trac Ticket #3473. diff --git a/doc/algorithm.qbk b/doc/algorithm.qbk index 8b68343b..d0ab62ca 100644 --- a/doc/algorithm.qbk +++ b/doc/algorithm.qbk @@ -583,8 +583,8 @@ or `__end__(seq)` if there is no such element. [heading Complexity] Linear. At most `__result_of_size__::value` comparisons. - -/algorithm/query/find_if.hpp> +#include +#include [heading Example] const __vector__ vec(1.0,2); @@ -795,7 +795,7 @@ Constant. [section find] [heading Description] -Returns the result type of `find`, given the sequence and search types. +Returns the result type of __find__, given the sequence and search types. [heading Synopsis] template< @@ -833,7 +833,7 @@ Linear, at most `__result_of_size__::value` comparisons. [section find_if] [heading Description] -Returns the result type of `find_if` given the sequence and predicate types. +Returns the result type of __find_if__ given the sequence and predicate types. [heading Synopsis] template< @@ -983,7 +983,10 @@ For a given sequence, filter returns a new sequences containing only the element [heading Expression Semantics] __filter__(seq); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence containing all the elements of `seq` of type `T`. Equivalent to `__filter_if__ >(seq)`. @@ -1024,7 +1027,10 @@ only the elements with types for which a given __mpl_lambda_expression__ evaluat [heading Expression Semantics] __filter_if__(seq); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence containing all the elements of `seq` with types for which `Pred` evaluates to `boost::mpl::true_`. The order of the retained elements is the same as in the original sequence. @@ -1225,7 +1231,10 @@ Returns a new sequence, with all the elements of the original sequence, except t [heading Expression Semantics] __remove__(seq); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing all the elements of `seq`, in their original order, except those of type `T`. Equivalent to `__remove_if__ >(seq)`. @@ -1266,7 +1275,10 @@ function object evaluates to `true`. [heading Expression Semantics] __remove_if__(seq); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing all the elements of `seq`, in their original order, except those elements with types for which `Pred` evaluates to `boost::mpl::true_`. @@ -1305,7 +1317,10 @@ Returns a new sequence with the elements of the original in reverse order. [heading Expression Semantics] __reverse__(seq); -[*Return type]: A model of __bidirectional_sequence__. +[*Return type]: + +* A model of __bidirectional_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence containing all the elements of `seq` in reverse order. @@ -1390,13 +1405,19 @@ between two iterators. [heading Expression Semantics] __erase__(seq, pos); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing all the elements of `seq` except the element at `pos`. __erase__(seq, first, last); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, with all the elements of `seq`, in their original order, except those in the range [`first`,`last`). @@ -1419,26 +1440,27 @@ Constant. Returns a view which is lazily evaluated. [section erase_key] [heading Description] -For an __associative_sequence__ `seq`, returns a __forward_sequence__ containing all the -elements of the original except those with a given key. +For an [link fusion.sequence.concepts.associative_sequence associative]] __forward_sequence__ `seq`, +returns a [link fusion.sequence.concepts.associative_sequence associative]] __forward_sequence__ containing +all the elements of the original except those with a given key. [heading Synposis] template< typename Key, typename Sequence > - typename result_of::erase_key::type erase_key(Sequence const& seq); + typename __result_of_erase_key__::type erase_key(Sequence const& seq); [table Parameters [[Parameter][Requirement][Description]] - [[`seq`][A model of __associative_sequence__][Operation's argument]] + [[`seq`][A model of __forward_sequence__ and __associative_sequence__][Operation's argument]] [[`Key`][Any type][Key to erase]] ] [heading Expression Semantics] __erase_key__(seq); -[*Return type]: A model of __forward_sequence__. +[*Return type]: A model of __forward_sequence__ and __associative_sequence__. [*Semantics]: Returns a new sequence, containing all the elements of `seq`, except those with key `Key`. @@ -1467,7 +1489,8 @@ position described by a given iterator. typename Pos, typename T > - __unspecified__ insert(Sequence const& seq, Pos const& pos, T const& t); + typename __result_of_insert__::type insert( + Sequence const& seq, Pos const& pos, T const& t); [table Parameters [[Parameter][Requirement][Description]] @@ -1479,7 +1502,10 @@ position described by a given iterator. [heading Expression Semantics] __insert__(seq, p, t); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing all the elements of `seq`, in their original order, and a new element with the type and value of `t` inserted at iterator `pos`. @@ -1522,7 +1548,10 @@ Returns a new sequence with another sequence inserted at a specified iterator. [heading Expression Semantics] __insert__(seq, pos, range); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing all the elements of `seq`, and the elements of `range` inserted at iterator `pos`. All elements retaining their ordering from the orignal sequences. @@ -1561,9 +1590,12 @@ Takes 2 sequences and returns a sequence containing the elements of the first fo [heading Expression Semantics] __join__(lhs, rhs); -[*Return type]: A model of __forward_sequence__. +[*Return type]: -[*Semantics]: Returns a sequence containing all the elements of `lhs` followed by all the elements of `rhs`. The order of th elements is preserved. +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `lhs` and `rhs` implement the __associative_sequence__ model. + +[*Semantics]: Returns a sequence containing all the elements of `lhs` followed by all the elements of `rhs`. The order of the elements is preserved. [heading Complexity] Constant. Returns a view which is lazily evaluated. @@ -1641,7 +1673,10 @@ Returns a new sequence, with the last element of the original removed. [heading Expression Semantics] __pop_back__(seq); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence containing all the elements of `seq`, except the last element. The elements in the new sequence are in the same order as they were in `seq`. @@ -1678,7 +1713,10 @@ Returns a new sequence, with the first element of the original removed. [heading Expression Semantics] __pop_front__(seq); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence containing all the elements of `seq`, except the first element. The elements in the new sequence are in the same order as they were in `seq`. @@ -1717,7 +1755,10 @@ Returns a new sequence with an element added at the end. [heading Expression Semantics] __push_back__(seq, t); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing all the elements of `seq`, and new element `t` appended to the end. The elements are in the same order as they were in `seq`. @@ -1756,7 +1797,10 @@ Returns a new sequence with an element added at the beginning. [heading Expression Semantics] __push_back__(seq, t); -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `seq` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing all the elements of `seq`, and new element `t` appended to the beginning. The elements are in the same order as they were in `seq`. @@ -1801,7 +1845,10 @@ Returns the result type of __filter__ given the sequence type and type to retain [heading Expression Semantics] __result_of_filter__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence containing the elements of `Sequence` that are of type `T`. Equivalent to `__result_of_filter_if__ >::type`. @@ -1839,7 +1886,10 @@ Returns the result type of __filter_if__ given the sequence and unary __mpl_lamb [heading Expression Semantics] __result_of_filter_if__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence containing the elements of `Sequence` for which `Pred` evaluates to `boost::mpl::true_`. @@ -1876,7 +1926,10 @@ with elements created by applying `f(e)` to each element of `e` of `seq`. [heading Expression Semantics] __transform__(seq, f); -[*Return type]: A model of __forward_sequence__ +[*Return type]: + +* A model of __forward_sequence__ +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence, containing the return values of `f(e)` for each element `e` within `seq`. @@ -2024,7 +2077,10 @@ Returns the result type of __remove__, given the sequence and removal types. [heading Expression Semantics] __result_of_remove__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence containing the elements of `Sequence` not of type `T`. Equivalent to `__result_of_replace_if__ >::type`. @@ -2062,7 +2118,10 @@ Returns the result type of __remove_if__, given the input sequence and unary __m [heading Expression Semantics] __result_of_remove_if__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence containing the elements of `Sequence` for which `Pred` evaluates to `boost::mpl::false_`. @@ -2098,7 +2157,10 @@ Returns the result type of __reverse__, given the input sequence type. [heading Expression Semantics] __result_of_reverse__::type -[*Return type]: A model of __bidirectional_sequence__. +[*Return type]: + +* A model of __bidirectional_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with the elements in the reverse order to `Sequence`. @@ -2173,7 +2235,10 @@ Returns the result type of __erase__, given the input sequence and range delimit [heading Expression Semantics] __result_of_erase__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a new sequence with the element at `It1` removed. @@ -2210,14 +2275,14 @@ Returns the result type of __erase_key__, given the sequence and key types. [table Parameters [[Parameter][Requirement][Description]] - [[`Sequence`][A model of __associative_sequence__][Operation's argument]] + [[`Sequence`][A model of __forward_sequence__ and __associative_sequence__][Operation's argument]] [[`Key`][Any type][Key type]] ] [heading Expression Semantics] __result_of_erase_key__::type -[*Return type]: A model of __associative_sequence__. +[*Return type]: A model of __forward_sequence__ and __associative_sequence__. [*Semantics]: Returns a sequence with the elements of `Sequence`, except those with key `Key`. @@ -2257,7 +2322,10 @@ Returns the result type of __insert__, given the sequence, position iterator and [heading Expression Semantics] __result_of_insert__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with an element of type `T` inserted at position `Position` in `Sequence`. @@ -2297,7 +2365,10 @@ Returns the result type of __insert_range__, given the input sequence, position [heading Expression Semantics] __result_of_insert_range__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with the elements of `Range` inserted at position `Position` into `Sequence`. @@ -2329,7 +2400,10 @@ Returns the result of joining 2 sequences, given the sequence types. [heading Expression Semantics] __result_of_join__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `LhSequence` amd `RhSequence` implement the __associative_sequence__ model. [*Semantics]: Returns a sequence containing the elements of `LhSequence` followed by the elements of `RhSequence`. The order of the elements in the 2 sequences is preserved. @@ -2399,7 +2473,10 @@ Returns the result type of __pop_back__, given the input sequence type. [heading Expression Semantics] __result_of_pop_back__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with all the elements of `Sequence` except the last element. @@ -2408,7 +2485,7 @@ Constant. [heading Header] - #include + #include #include [endsect] @@ -2435,14 +2512,20 @@ Returns the result type of __pop_front__, given the input sequence type. [heading Expression Semantics] __result_of_pop_front__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with all the elements of `Sequence` except the first element. [heading Complexity] Constant. -/algorithm/transformation/pop_front.hpp> +[heading Header] + + #include + #include [endsect] @@ -2470,14 +2553,20 @@ Returns the result type of __push_back__, given the types of the input sequence [heading Expression Semantics] __result_of_push_back__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with the elements of `Sequence` and an element of type `T` added to the end. [heading Complexity] Constant. -/algorithm/transformation/push_back.hpp> +[heading Header] + + #include + #include [endsect] @@ -2505,14 +2594,20 @@ Returns the result type of __push_front__, given the types of the input sequence [heading Expression Semantics] __result_of_push_front__::type -[*Return type]: A model of __forward_sequence__. +[*Return type]: + +* A model of __forward_sequence__. +* A model of __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [*Semantics]: Returns a sequence with the elements of `Sequence` and an element of type `T` added to the beginning. [heading Complexity] Constant. -/algorithm/transformation/push_front.hpp> +[heading Header] + + #include + #include [endsect] diff --git a/doc/fusion.qbk b/doc/fusion.qbk index f48ff84a..f6330d42 100644 --- a/doc/fusion.qbk +++ b/doc/fusion.qbk @@ -79,6 +79,7 @@ [def __forward_iterator__ [link fusion.iterator.concepts.forward_iterator Forward Iterator]] [def __bidirectional_iterator__ [link fusion.iterator.concepts.bidirectional_iterator Bidirectional Iterator]] [def __random_access_iterator__ [link fusion.iterator.concepts.random_access_iterator Random Access Iterator]] +[def __associative_iterator__ [link fusion.iterator.concepts.associative_iterator Associative Iterator]] [def __next__ [link fusion.iterator.functions.next `next`]] [def __prior__ [link fusion.iterator.functions.prior `prior`]] @@ -86,6 +87,7 @@ [def __advance_c__ [link fusion.iterator.functions.advance_c `advance_c`]] [def __distance__ [link fusion.iterator.functions.distance `distance`]] [def __deref__ [link fusion.iterator.functions.deref `deref`]] +[def __deref_data__ [link fusion.iterator.functions.deref_data `deref_data`]] [def __result_of_next__ [link fusion.iterator.metafunctions.next `result_of::next`]] [def __result_of_prior__ [link fusion.iterator.metafunctions.prior `result_of::prior`]] @@ -95,7 +97,9 @@ [def __result_of_distance__ [link fusion.iterator.metafunctions.distance `result_of::distance`]] [def __result_of_deref__ [link fusion.iterator.metafunctions.deref `result_of::deref`]] [def __result_of_value_of__ [link fusion.iterator.metafunctions.value_of `result_of::value_of`]] -[def __value_of__ [link fusion.iterator.metafunctions.value_of `value_of`]] +[def __result_of_key_of__ [link fusion.iterator.metafunctions.key_of `result_of::key_of`]] +[def __result_of_value_of_data__ [link fusion.iterator.metafunctions.value_of_data `result_of::value_of_data`]] +[def __result_of_deref_data__ [link fusion.iterator.metafunctions.deref_data `result_of::deref_data`]] [def __sequence__ [link fusion.sequence Sequence]] [def __sequence_concepts__ [link fusion.sequence.concepts Sequence Concepts]] diff --git a/doc/html/fusion/adapted.html b/doc/html/fusion/adapted.html index f166e963..c7f8e1e1 100644 --- a/doc/html/fusion/adapted.html +++ b/doc/html/fusion/adapted.html @@ -47,7 +47,7 @@ various data structures, non-intrusively, as full fledged Fusion sequences.

- + Header

#include <boost/fusion/adapted.hpp>
diff --git a/doc/html/fusion/adapted/adapt_assoc.html b/doc/html/fusion/adapted/adapt_assoc.html
index 7c792cca..18b58de6 100644
--- a/doc/html/fusion/adapted/adapt_assoc.html
+++ b/doc/html/fusion/adapted/adapt_assoc.html
@@ -27,7 +27,7 @@
  BOOST_FUSION_ADAPT_ASSOC_STRUCT
 
 
- + Description

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

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

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

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

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

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

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

- + Header
#include <boost/fusion/adapted/struct/adapt_struct.hpp>
 #include <boost/fusion/include/adapt_struct.hpp>
 
- + Example
namespace demo
diff --git a/doc/html/fusion/adapted/boost__array.html b/doc/html/fusion/adapted/boost__array.html
index 62f1b863..03d3af56 100644
--- a/doc/html/fusion/adapted/boost__array.html
+++ b/doc/html/fusion/adapted/boost__array.html
@@ -33,20 +33,20 @@
         Access Sequence.
       

- + Header
#include <boost/fusion/adapted/array.hpp>
 #include <boost/fusion/include/array.hpp>
 
- + Model of
- + Example
boost::array<int,3> arr = {{1,2,3}};
@@ -58,7 +58,7 @@
 std::cout << at_c<2>(arr) << std::endl;
 
- + See also

diff --git a/doc/html/fusion/adapted/boost__tuple.html b/doc/html/fusion/adapted/boost__tuple.html index 27abf9d7..77927116 100644 --- a/doc/html/fusion/adapted/boost__tuple.html +++ b/doc/html/fusion/adapted/boost__tuple.html @@ -33,19 +33,19 @@ Sequence.

- + Header
#include <boost/fusion/adapted/boost_tuple.hpp>
 #include <boost/fusion/include/boost_tuple.hpp>
 
- + Model of
- + Example
boost::tuple<int,std::string> example_tuple(101, "hello");
@@ -53,7 +53,7 @@
 std::cout << *boost::fusion::next(boost::fusion::begin(example_tuple)) << '\n';
 
- + See also

diff --git a/doc/html/fusion/adapted/mpl_sequence.html b/doc/html/fusion/adapted/mpl_sequence.html index 3258ab23..abb17037 100644 --- a/doc/html/fusion/adapted/mpl_sequence.html +++ b/doc/html/fusion/adapted/mpl_sequence.html @@ -32,14 +32,14 @@ sequences fully conforming fusion sequences.

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

diff --git a/doc/html/fusion/adapted/std__pair.html b/doc/html/fusion/adapted/std__pair.html index ac3bef8f..b5a1d1a1 100644 --- a/doc/html/fusion/adapted/std__pair.html +++ b/doc/html/fusion/adapted/std__pair.html @@ -33,20 +33,20 @@ Access Sequence.

- + Header
#include <boost/fusion/adapted/std_pair.hpp>
 #include <boost/fusion/include/std_pair.hpp>
 
- + Model of
- + Example
std::pair<int, std::string> p(123, "Hola!!!");
@@ -55,7 +55,7 @@
 std::cout << p << std::endl;
 
- + See also

diff --git a/doc/html/fusion/algorithm.html b/doc/html/fusion/algorithm.html index 56ead030..3faa3782 100644 --- a/doc/html/fusion/algorithm.html +++ b/doc/html/fusion/algorithm.html @@ -44,7 +44,7 @@

- + Lazy Evaluation

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

- + Sequence Extension

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

- + Header

#include <boost/fusion/algorithm.hpp>
diff --git a/doc/html/fusion/algorithm/iteration.html b/doc/html/fusion/algorithm/iteration.html
index f7d44766..610b0261 100644
--- a/doc/html/fusion/algorithm/iteration.html
+++ b/doc/html/fusion/algorithm/iteration.html
@@ -35,7 +35,7 @@
         a sequence repeatedly applying an operation to its elements.
       

- + Header
#include <boost/fusion/algorithm/iteration.hpp>
diff --git a/doc/html/fusion/algorithm/iteration/functions/accumulate.html b/doc/html/fusion/algorithm/iteration/functions/accumulate.html
index c7fda069..211daf32 100644
--- a/doc/html/fusion/algorithm/iteration/functions/accumulate.html
+++ b/doc/html/fusion/algorithm/iteration/functions/accumulate.html
@@ -27,7 +27,7 @@
 accumulate
 
 
- + Description

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

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

Table 1.34. Parameters

+

Table 1.38. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.33. Parameters

+

Table 1.37. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.35. Parameters

+

Table 1.39. Parameters

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

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

- + Complexity

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

- + Header
#include <boost/fusion/algorithm/iteration/for_each.hpp>
 #include <boost/fusion/include/for_each.hpp>
 
- + Example
struct increment
diff --git a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html
index b888c1fa..62c43ef6 100644
--- a/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html
+++ b/doc/html/fusion/algorithm/iteration/metafunctions/accumulate.html
@@ -27,14 +27,14 @@
 accumulate
 
 
- + Description

Returns the result type of accumulate.

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

Table 1.37. Parameters

+

Table 1.41. Parameters

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

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

- + Complexity

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

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

Returns the result type of fold.

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

Table 1.36. Parameters

+

Table 1.40. Parameters

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

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

- + Complexity

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

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

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

Table 1.38. Parameters

+

Table 1.42. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/iteration/for_each.hpp>
diff --git a/doc/html/fusion/algorithm/query.html b/doc/html/fusion/algorithm/query.html
index d2443b8e..b8aa272a 100644
--- a/doc/html/fusion/algorithm/query.html
+++ b/doc/html/fusion/algorithm/query.html
@@ -34,7 +34,7 @@
         The query algorithms provide support for searching and analyzing sequences.
       

- + Header
#include <boost/fusion/algorithm/query.hpp>
diff --git a/doc/html/fusion/algorithm/query/functions/all.html b/doc/html/fusion/algorithm/query/functions/all.html
index a10464e3..ffaf6be6 100644
--- a/doc/html/fusion/algorithm/query/functions/all.html
+++ b/doc/html/fusion/algorithm/query/functions/all.html
@@ -27,7 +27,7 @@
 all
 
 
- + Description

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

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

Table 1.40. Parameters

+

Table 1.44. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.39. Parameters

+

Table 1.43. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.44. Parameters

+

Table 1.48. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.45. Parameters

+

Table 1.49. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.42. Parameters

+

Table 1.46. Parameters

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

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

- + Complexity

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

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

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

Table 1.43. Parameters

+

Table 1.47. Parameters

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

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

- + Complexity

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

-

- /algorithm/query/find_if.hpp> -

+
    +
  1. + include <boost/fusion/algorithm/query/find_if.hpp> +
  2. +
  3. + include <boost/fusion/include/find_if.hpp> +
  4. +
- + Example
const vector<double,int> vec(1.0,2);
diff --git a/doc/html/fusion/algorithm/query/functions/none.html b/doc/html/fusion/algorithm/query/functions/none.html
index 668cbd72..6ff7f23a 100644
--- a/doc/html/fusion/algorithm/query/functions/none.html
+++ b/doc/html/fusion/algorithm/query/functions/none.html
@@ -27,7 +27,7 @@
 none
 
 
- + Description

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

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

Table 1.41. Parameters

+

Table 1.45. Parameters

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

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

- + Complexity

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

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

A metafunction returning the result type of all.

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

Table 1.47. Parameters

+

Table 1.51. Parameters

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

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

- + Complexity

Constant.

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

A metafunction returning the result type of any.

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

Table 1.46. Parameters

+

Table 1.50. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.51. Parameters

+

Table 1.55. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/query/count.hpp>
diff --git a/doc/html/fusion/algorithm/query/metafunctions/count_if.html b/doc/html/fusion/algorithm/query/metafunctions/count_if.html
index 5f2208aa..88d3dcfb 100644
--- a/doc/html/fusion/algorithm/query/metafunctions/count_if.html
+++ b/doc/html/fusion/algorithm/query/metafunctions/count_if.html
@@ -27,7 +27,7 @@
 count_if
 
 
- + Description

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

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

Table 1.52. Parameters

+

Table 1.56. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.49. Parameters

+

Table 1.53. Parameters

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

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

- + Complexity

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

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

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

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

Table 1.50. Parameters

+

Table 1.54. Parameters

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

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

- + Complexity

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

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

A metafunction returning the result type of none.

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

Table 1.48. Parameters

+

Table 1.52. Parameters

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

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

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/query/none.hpp>
diff --git a/doc/html/fusion/algorithm/transformation.html b/doc/html/fusion/algorithm/transformation.html
index 5be2503f..7cb55c08 100644
--- a/doc/html/fusion/algorithm/transformation.html
+++ b/doc/html/fusion/algorithm/transformation.html
@@ -47,7 +47,7 @@
         

- + Header
#include <boost/fusion/algorithm/transformation.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/functions/clear.html b/doc/html/fusion/algorithm/transformation/functions/clear.html
index da109a5d..0d1ad10b 100644
--- a/doc/html/fusion/algorithm/transformation/functions/clear.html
+++ b/doc/html/fusion/algorithm/transformation/functions/clear.html
@@ -27,14 +27,14 @@
 clear
 
 
- + Description

clear returns an empty sequence.

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

Table 1.62. Parameters

+

Table 1.66. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.63. Parameters

+

Table 1.67. Parameters

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

- + Expression Semantics
erase(seq, pos);
 

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

+

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

erase(seq, first, last);
 

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

+

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/erase.hpp>
 #include <boost/fusion/include/erase.hpp>
 
- + Example
const vector<int, double, char> vec(1, 2.0, 'c');
diff --git a/doc/html/fusion/algorithm/transformation/functions/erase_key.html b/doc/html/fusion/algorithm/transformation/functions/erase_key.html
index 5597f11e..10a93363 100644
--- a/doc/html/fusion/algorithm/transformation/functions/erase_key.html
+++ b/doc/html/fusion/algorithm/transformation/functions/erase_key.html
@@ -27,28 +27,29 @@
 erase_key
 
 
- + Description

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

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

Table 1.64. Parameters

+

Table 1.68. Parameters

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

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


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

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.53. Parameters

+

Table 1.57. Parameters

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

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

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

+

Semantics: Returns a sequence containing all the elements of seq @@ -126,21 +137,21 @@ to filter_if<boost::same_type<_, T> >(seq).

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.54. Parameters

+

Table 1.58. Parameters

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

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

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

+

Semantics: Returns a sequence containing all the elements of seq @@ -129,21 +140,21 @@ is the same as in the original sequence.

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

- + Synposis
template<
@@ -43,10 +43,11 @@
     typename Pos,
     typename T
     >
-unspecified insert(Sequence const& seq, Pos const& pos, T const& t);
+typename result_of::insert<Sequence const, Pos, T>::type insert(
+    Sequence const& seq, Pos const& pos, T const& t);
 
-

Table 1.65. Parameters

+

Table 1.69. Parameters

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

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

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

+

Semantics: Returns a new sequence, containing all the elements of seq, @@ -146,21 +158,21 @@ pos.

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.66. Parameters

+

Table 1.70. Parameters

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

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

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

+

Semantics: Returns a new sequence, containing all the elements of seq, @@ -148,21 +159,21 @@ All elements retaining their ordering from the orignal sequences.

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.67. Parameters

+

Table 1.71. Parameters

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

- + Expression Semantics
join(lhs, rhs);
 

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

+

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.69. Parameters

+

Table 1.73. Parameters

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

- + Expression Semantics
pop_back(seq);
 

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

+

Semantics: Returns a new sequence containing all the elements of seq, @@ -105,21 +116,21 @@ same order as they were in seq.

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.70. Parameters

+

Table 1.74. Parameters

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

- + Expression Semantics
pop_front(seq);
 

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

+

Semantics: Returns a new sequence containing all the elements of seq, @@ -105,21 +116,21 @@ same order as they were in seq.

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.71. Parameters

+

Table 1.75. Parameters

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

- + Expression Semantics
push_back(seq, t);
 

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

+

Semantics: Returns a new sequence, containing all the elements of seq, @@ -126,21 +137,21 @@ to the end. The elements are in the same order as they were in seq.

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.72. Parameters

+

Table 1.76. Parameters

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

- + Expression Semantics
push_back(seq, t);
 

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

+

Semantics: Returns a new sequence, containing all the elements of seq, @@ -127,21 +138,21 @@ seq.

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.59. Parameters

+

Table 1.63. Parameters

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

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

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

+

Semantics: Returns a new sequence, containing all the elements of seq, @@ -126,21 +137,21 @@ Equivalent to remove_if<boost::is_same<_,T> >(seq).

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.60. Parameters

+

Table 1.64. Parameters

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

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

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

+

Semantics: Returns a new sequence, containing all the elements of seq, @@ -128,21 +139,21 @@ >(seq).

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.57. Parameters

+

Table 1.61. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.58. Parameters

+

Table 1.62. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.61. Parameters

+

Table 1.65. Parameters

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

- + Expression Semantics
reverse(seq);
 

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

+

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.55. Parameters

+

Table 1.59. Parameters

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

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

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

Table 1.56. Parameters

+

Table 1.60. Parameters

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.68. Parameters

+

Table 1.72. Parameters

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

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

- + Complexity

Constant. Returns a view which is lazily evaluated.

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

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

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

Table 1.82. Parameters

+

Table 1.86. Parameters

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

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

- + Complexity

Constant.

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

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

Table 1.83. Parameters

+

Table 1.87. Parameters

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

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

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

+

Semantics: Returns a new sequence with the element at It1 removed. @@ -157,14 +168,14 @@ and It2 removed.

- + Complexity

Constant.

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

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

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

Table 1.84. Parameters

+

Table 1.88. Parameters

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

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


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

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

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

- + Complexity

Constant.

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

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

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

Table 1.73. Parameter

+

Table 1.77. Parameter

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

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

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

+

Semantics: Returns a sequence containing the elements of Sequence @@ -130,14 +141,14 @@ boost::is_same<mpl::_, T> >::type.

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/filter.hpp>
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html b/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html
index 6977f542..8c286843 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/filter_if.html
@@ -27,7 +27,7 @@
 filter_if
 
 
- + Description

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

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

Table 1.74. Parameter

+

Table 1.78. Parameter

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

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

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

+

Semantics: Returns a sequence containing the elements of Sequence @@ -131,14 +142,14 @@ to boost::mpl::true_.

- + Complexity

Constant.

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

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

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

Table 1.85. Parameters

+

Table 1.89. Parameters

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

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

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

+

Semantics: Returns a sequence with an element of type T inserted @@ -148,14 +159,14 @@ in Sequence.

- + Complexity

Constant.

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

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

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

Table 1.86. Parameters

+

Table 1.90. Parameters

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

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

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

+

Semantics: Returns a sequence with the elements of Range inserted @@ -149,14 +160,14 @@ into Sequence.

- + Complexity

Constant.

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

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

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

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

+

Semantics: Returns a sequence containing the elements of LhSequence @@ -64,14 +76,14 @@ The order of the elements in the 2 sequences is preserved.

- + Complexity

Constant.

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

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

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

Table 1.87. Parameters

+

Table 1.91. Parameters

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

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

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

+

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

- + Complexity

Constant.

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

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

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

Table 1.88. Parameters

+

Table 1.92. Parameters

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

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

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

+

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

- + Complexity

Constant.

-

- /algorithm/transformation/pop_front.hpp> -

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

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

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

Table 1.89. Parameters

+

Table 1.93. Parameters

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

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

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

+

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

- + Complexity

Constant.

-

- /algorithm/transformation/push_back.hpp> -

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

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

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

Table 1.90. Parameters

+

Table 1.94. Parameters

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

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

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

+

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

- + Complexity

Constant.

-

- /algorithm/transformation/push_front.hpp> -

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

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

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

Table 1.79. Parameters

+

Table 1.83. Parameters

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

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

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

+

Semantics: Returns a sequence containing the elements of Sequence @@ -130,14 +141,14 @@ boost::is_same<mpl::_, T> >::type.

- + Complexity

Constant.

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

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

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

Table 1.80. Parameters

+

Table 1.84. Parameters

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

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

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

+

Semantics: Returns a sequence containing the elements of Sequence @@ -131,14 +142,14 @@ to boost::mpl::false_.

- + Complexity

Constant.

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

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

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

Table 1.77. Parameters

+

Table 1.81. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.78. Parameters

+

Table 1.82. Parameters

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

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

- + Complexity

Constant.

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

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

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

Table 1.81. Parameters

+

Table 1.85. Parameters

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

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

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

+

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

- + Complexity

Constant.

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

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

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

Table 1.75. Parameters

+

Table 1.79. Parameters

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

- + Expression Semantics
transform(seq, f);
 

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

+

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

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

Table 1.76. Parameters

+

Table 1.80. Parameters

@@ -241,21 +252,21 @@ within seq1 and seq2 respectively.

- + Complexity

Constant. Returns a view which is lazily evaluated.

- + Header
#include <boost/fusion/algorithm/transformation/transform.hpp>
 #include <boost/fusion/include/transform.hpp>
 
- + Example
struct triple
diff --git a/doc/html/fusion/algorithm/transformation/metafunctions/zip.html b/doc/html/fusion/algorithm/transformation/metafunctions/zip.html
index 9c5afd54..8524320e 100644
--- a/doc/html/fusion/algorithm/transformation/metafunctions/zip.html
+++ b/doc/html/fusion/algorithm/transformation/metafunctions/zip.html
@@ -27,7 +27,7 @@
 zip
 
 
- + Description

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

- + Synopsis
template<
@@ -50,7 +50,7 @@
 };
 
- + Expression Semantics
@@ -72,14 +72,14 @@ 'c'))

- + Complexity

Constant.

- + Header
#include <boost/fusion/algorithm/transformation/zip.hpp>
diff --git a/doc/html/fusion/container.html b/doc/html/fusion/container.html
index 87cf803f..322ae7a9 100644
--- a/doc/html/fusion/container.html
+++ b/doc/html/fusion/container.html
@@ -49,7 +49,7 @@
       These containers are more or less counterparts of those in STL.
     

- + Header

#include <boost/fusion/container.hpp>
diff --git a/doc/html/fusion/container/cons.html b/doc/html/fusion/container/cons.html
index 3959fb5a..ec018f91 100644
--- a/doc/html/fusion/container/cons.html
+++ b/doc/html/fusion/container/cons.html
@@ -27,7 +27,7 @@
 cons
 
 
- + Description

@@ -42,21 +42,21 @@ Inlined Functions).

- + Header
#include <boost/fusion/container/list/cons.hpp>
 #include <boost/fusion/include/cons.hpp>
 
- + Synopsis
template <typename Car, typename Cdr = nil>
 struct cons;
 
- + Template parameters
@@ -119,7 +119,7 @@
- + Model of
@@ -159,7 +159,7 @@
- + Expression Semantics

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

- + Example
cons<int, cons<float> > l(12, cons<float>(5.5f));
diff --git a/doc/html/fusion/container/conversion.html b/doc/html/fusion/container/conversion.html
index 570bbfb5..74eb030d 100644
--- a/doc/html/fusion/container/conversion.html
+++ b/doc/html/fusion/container/conversion.html
@@ -35,7 +35,7 @@
         types using one of these conversion functions.
       

- + Header
#include <boost/fusion/include/convert.hpp>
diff --git a/doc/html/fusion/container/conversion/functions/as_list.html b/doc/html/fusion/container/conversion/functions/as_list.html
index e5ad39fe..2982fba6 100644
--- a/doc/html/fusion/container/conversion/functions/as_list.html
+++ b/doc/html/fusion/container/conversion/functions/as_list.html
@@ -27,14 +27,14 @@
 as_list
 
 
- + Description

Convert a fusion sequence to a list.

- + Synopsis
template <typename Sequence>
@@ -46,7 +46,7 @@
 as_list(Sequence const& seq);
 
- + Parameters
@@ -91,7 +91,7 @@
- + Expression Semantics
@@ -105,14 +105,14 @@ seq, to a list.

- + Header
#include <boost/fusion/container/list/convert.hpp>
 #include <boost/fusion/include/as_list.hpp>
 
- + Example
as_list(make_vector('x', 123, "hello"))
diff --git a/doc/html/fusion/container/conversion/functions/as_map.html b/doc/html/fusion/container/conversion/functions/as_map.html
index d935ec13..7b1471cc 100644
--- a/doc/html/fusion/container/conversion/functions/as_map.html
+++ b/doc/html/fusion/container/conversion/functions/as_map.html
@@ -27,14 +27,14 @@
 as_map
 
 
- + Description

Convert a fusion sequence to a map.

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

- + Header
#include <boost/fusion/container/map/convert.hpp>
 #include <boost/fusion/include/as_map.hpp>
 
- + Example
as_map(make_vector(
diff --git a/doc/html/fusion/container/conversion/functions/as_set.html b/doc/html/fusion/container/conversion/functions/as_set.html
index 45100478..c53308d9 100644
--- a/doc/html/fusion/container/conversion/functions/as_set.html
+++ b/doc/html/fusion/container/conversion/functions/as_set.html
@@ -27,14 +27,14 @@
 as_set
 
 
- + Description

Convert a fusion sequence to a set.

- + Synopsis
template <typename Sequence>
@@ -46,7 +46,7 @@
 as_set(Sequence const& seq);
 
- + Parameters
@@ -91,7 +91,7 @@
- + Expression Semantics
@@ -109,14 +109,14 @@ key types.

- + Header
#include <boost/fusion/container/set/convert.hpp>
 #include <boost/fusion/include/as_set.hpp>
 
- + Example
as_set(make_vector('x', 123, "hello"))
diff --git a/doc/html/fusion/container/conversion/functions/as_vector.html b/doc/html/fusion/container/conversion/functions/as_vector.html
index f935559a..92e4a850 100644
--- a/doc/html/fusion/container/conversion/functions/as_vector.html
+++ b/doc/html/fusion/container/conversion/functions/as_vector.html
@@ -27,14 +27,14 @@
 as_vector
 
 
- + Description

Convert a fusion sequence to a vector.

- + Synopsis
template <typename Sequence>
@@ -46,7 +46,7 @@
 as_vector(Sequence const& seq);
 
- + Parameters
@@ -91,7 +91,7 @@
- + Expression Semantics
@@ -105,14 +105,14 @@ seq, to a vector.

- + Header
#include <boost/fusion/container/vector/convert.hpp>
 #include <boost/fusion/include/as_vector.hpp>
 
- + Example
as_vector(make_list('x', 123, "hello"))
diff --git a/doc/html/fusion/container/conversion/metafunctions/as_list.html b/doc/html/fusion/container/conversion/metafunctions/as_list.html
index 9f2908a5..6a394daa 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_list.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_list.html
@@ -27,21 +27,21 @@
 as_list
 
 
- + Description

Returns the result type of as_list.

- + Synopsis
template <typename Sequence>
 struct as_list;
 
- + Parameters
@@ -86,7 +86,7 @@
- + Expression Semantics
@@ -101,14 +101,14 @@ Sequence, to a list.

- + Header
#include <boost/fusion/container/list/convert.hpp>
 #include <boost/fusion/include/as_list.hpp>
 
- + Example
result_of::as_list<vector<char, int> >::type
diff --git a/doc/html/fusion/container/conversion/metafunctions/as_map.html b/doc/html/fusion/container/conversion/metafunctions/as_map.html
index 8c2400d6..2edac668 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_map.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_map.html
@@ -27,21 +27,21 @@
 as_map
 
 
- + Description

Returns the result type of as_map.

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

- + Header
#include <boost/fusion/container/map/convert.hpp>
 #include <boost/fusion/include/as_map.hpp>
 
- + Example
result_of::as_map<vector<
diff --git a/doc/html/fusion/container/conversion/metafunctions/as_set.html b/doc/html/fusion/container/conversion/metafunctions/as_set.html
index 6451e236..157da053 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_set.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_set.html
@@ -27,21 +27,21 @@
 as_set
 
 
- + Description

Returns the result type of as_set.

- + Synopsis
template <typename Sequence>
 struct as_set;
 
- + Parameters
@@ -86,7 +86,7 @@
- + Expression Semantics
@@ -105,14 +105,14 @@ key types.

- + Header
#include <boost/fusion/container/set/convert.hpp>
 #include <boost/fusion/include/as_set.hpp>
 
- + Example
result_of::as_set<vector<char, int> >::type
diff --git a/doc/html/fusion/container/conversion/metafunctions/as_vector.html b/doc/html/fusion/container/conversion/metafunctions/as_vector.html
index a233239e..0ef5f318 100644
--- a/doc/html/fusion/container/conversion/metafunctions/as_vector.html
+++ b/doc/html/fusion/container/conversion/metafunctions/as_vector.html
@@ -27,21 +27,21 @@
 as_vector
 
 
- + Description

Returns the result type of as_vector.

- + Synopsis
template <typename Sequence>
 struct as_vector;
 
- + Parameters
@@ -86,7 +86,7 @@
- + Expression Semantics
@@ -101,14 +101,14 @@ Sequence, to a vector.

- + Header
#include <boost/fusion/container/vector/convert.hpp>
 #include <boost/fusion/include/as_vector.hpp>
 
- + Example
result_of::as_vector<list<char, int> >::type
diff --git a/doc/html/fusion/container/generation.html b/doc/html/fusion/container/generation.html
index c75fa0d9..12b28ef5 100644
--- a/doc/html/fusion/container/generation.html
+++ b/doc/html/fusion/container/generation.html
@@ -34,7 +34,7 @@
         These are the functions that you can use to generate various forms of Container from elemental values.
       

- + Header
#include <boost/fusion/container/generation.hpp>
diff --git a/doc/html/fusion/container/generation/functions/list_tie.html b/doc/html/fusion/container/generation/functions/list_tie.html
index 6b051f9f..fc8b14f7 100644
--- a/doc/html/fusion/container/generation/functions/list_tie.html
+++ b/doc/html/fusion/container/generation/functions/list_tie.html
@@ -27,14 +27,14 @@
 list_tie
 
 
- + Description

Constructs a tie using a list sequence.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -52,7 +52,7 @@
 
#define FUSION_MAX_LIST_SIZE 20
 
- + Parameters
@@ -99,7 +99,7 @@
- + Expression Semantics
@@ -113,14 +113,14 @@ Semantics: Create a list of references from x0, x1,... xN.

- + Header
#include <boost/fusion/container/generation/list_tie.hpp>
 #include <boost/fusion/include/list_tie.hpp>
 
- + Example
int i = 123;
diff --git a/doc/html/fusion/container/generation/functions/make_cons.html b/doc/html/fusion/container/generation/functions/make_cons.html
index 22edd5b4..107e14cd 100644
--- a/doc/html/fusion/container/generation/functions/make_cons.html
+++ b/doc/html/fusion/container/generation/functions/make_cons.html
@@ -27,7 +27,7 @@
 make_cons
 
 
- + Description

@@ -36,7 +36,7 @@ and optional cdr (tail).

- + Synopsis
template <typename Car>
@@ -48,7 +48,7 @@
 make_cons(Car const& car, Cdr const& cdr);
 
- + Parameters
@@ -112,7 +112,7 @@
- + Expression Semantics
@@ -127,20 +127,20 @@ (tail).

- + Header
#include <boost/fusion/container/generation/make_cons.hpp>
 #include <boost/fusion/include/make_cons.hpp>
 
- + Example
make_cons('x', make_cons(123))
 
- + See also
diff --git a/doc/html/fusion/container/generation/functions/make_list.html b/doc/html/fusion/container/generation/functions/make_list.html index e32a6b83..73814f0d 100644 --- a/doc/html/fusion/container/generation/functions/make_list.html +++ b/doc/html/fusion/container/generation/functions/make_list.html @@ -27,7 +27,7 @@ make_list
- + Description

@@ -35,7 +35,7 @@ from one or more values.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -53,7 +53,7 @@
 
#define FUSION_MAX_LIST_SIZE 20
 
- + Parameters
@@ -100,7 +100,7 @@
- + Expression Semantics
@@ -113,20 +113,20 @@ Semantics: Create a list from x0, x1,... xN.

- + Header
#include <boost/fusion/container/generation/make_list.hpp>
 #include <boost/fusion/include/make_list.hpp>
 
- + Example
make_list(123, "hello", 12.5)
 
- + See also
diff --git a/doc/html/fusion/container/generation/functions/make_map.html b/doc/html/fusion/container/generation/functions/make_map.html index 6006482e..fe7e4cdd 100644 --- a/doc/html/fusion/container/generation/functions/make_map.html +++ b/doc/html/fusion/container/generation/functions/make_map.html @@ -27,7 +27,7 @@ make_map
- + Description

@@ -35,7 +35,7 @@ from one or more key/data pairs.

- + Synopsis
template <
@@ -55,7 +55,7 @@
 
#define FUSION_MAX_MAP_SIZE 20
 
- + Parameters
@@ -123,7 +123,7 @@
- + Expression Semantics
@@ -143,20 +143,20 @@ key types.

- + Header
#include <boost/fusion/container/generation/make_map.hpp>
 #include <boost/fusion/include/make_map.hpp>
 
- + Example
make_map<int, double>('X', "Men")
 
- + See also
diff --git a/doc/html/fusion/container/generation/functions/make_set.html b/doc/html/fusion/container/generation/functions/make_set.html index 3f6d8ffb..6e69498a 100644 --- a/doc/html/fusion/container/generation/functions/make_set.html +++ b/doc/html/fusion/container/generation/functions/make_set.html @@ -27,7 +27,7 @@ make_set
- + Description

@@ -35,7 +35,7 @@ from one or more values.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -53,7 +53,7 @@
 
#define FUSION_MAX_SET_SIZE 20
 
- + Parameters
@@ -100,7 +100,7 @@
- + Expression Semantics
@@ -117,20 +117,20 @@ key types.

- + Header
#include <boost/fusion/container/generation/make_set.hpp>
 #include <boost/fusion/include/make_set.hpp>
 
- + Example
make_set(123, "hello", 12.5)
 
- + See also
diff --git a/doc/html/fusion/container/generation/functions/make_vector.html b/doc/html/fusion/container/generation/functions/make_vector.html index 317b7df2..5f2f1e64 100644 --- a/doc/html/fusion/container/generation/functions/make_vector.html +++ b/doc/html/fusion/container/generation/functions/make_vector.html @@ -27,7 +27,7 @@ make_vector
- + Description

@@ -35,7 +35,7 @@ from one or more values.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -53,7 +53,7 @@
 
#define FUSION_MAX_VECTOR_SIZE 20
 
- + Parameters
@@ -100,7 +100,7 @@
- + Expression Semantics
@@ -113,20 +113,20 @@ Semantics: Create a vector from x0, x1,... xN.

- + Header
#include <boost/fusion/container/generation/make_vector.hpp>
 #include <boost/fusion/include/make_vector.hpp>
 
- + Example
make_vector(123, "hello", 12.5)
 
- + See also
diff --git a/doc/html/fusion/container/generation/functions/map_tie.html b/doc/html/fusion/container/generation/functions/map_tie.html index e3e8abfe..5d7d8c1e 100644 --- a/doc/html/fusion/container/generation/functions/map_tie.html +++ b/doc/html/fusion/container/generation/functions/map_tie.html @@ -27,14 +27,14 @@ map_tie
- + Description

Constructs a tie using a map sequence.

- + Synopsis
template <typename K0, typename K1,... typename KN, typename D0, typename D1,... typename DN>
@@ -52,7 +52,7 @@
 
#define FUSION_MAX_MAP_SIZE 20
 
- + Parameters
@@ -121,7 +121,7 @@
- + Expression Semantics
@@ -136,14 +136,14 @@ Semantics: Create a map of references from x0, x1,... xN with keys K0, K1,... KN

- + Header
#include <boost/fusion/container/generation/map_tie.hpp>
 #include <boost/fusion/include/map_tie.hpp>
 
- + Example
struct int_key;
diff --git a/doc/html/fusion/container/generation/functions/tiers.html b/doc/html/fusion/container/generation/functions/tiers.html
index 081ad4c9..49949e49 100644
--- a/doc/html/fusion/container/generation/functions/tiers.html
+++ b/doc/html/fusion/container/generation/functions/tiers.html
@@ -49,7 +49,7 @@
             a vector
             of type vector<int&, char&, double&>. The same result could be achieved
             with the call make_vector(ref(i), ref(c), ref(a))
-            [9]
+            [9]
             .
           

@@ -66,7 +66,7 @@ when calling functions which return sequences.

- + Ignore

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



-

[9] +

[9] see Boost.Ref for details about ref

diff --git a/doc/html/fusion/container/generation/functions/vector_tie.html b/doc/html/fusion/container/generation/functions/vector_tie.html index 7b036b9e..83a3e051 100644 --- a/doc/html/fusion/container/generation/functions/vector_tie.html +++ b/doc/html/fusion/container/generation/functions/vector_tie.html @@ -27,14 +27,14 @@ vector_tie
- + Description

Constructs a tie using a vector sequence.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -52,7 +52,7 @@
 
#define FUSION_MAX_VECTOR_SIZE 20
 
- + Parameters
@@ -99,7 +99,7 @@
- + Expression Semantics
@@ -113,14 +113,14 @@ Semantics: Create a vector of references from x0, x1,... xN.

- + Header
#include <boost/fusion/container/generation/vector_tie.hpp>
 #include <boost/fusion/include/vector_tie.hpp>
 
- + Example
int i = 123;
diff --git a/doc/html/fusion/container/generation/metafunctions/list_tie.html b/doc/html/fusion/container/generation/metafunctions/list_tie.html
index c985177f..76c9daa5 100644
--- a/doc/html/fusion/container/generation/metafunctions/list_tie.html
+++ b/doc/html/fusion/container/generation/metafunctions/list_tie.html
@@ -27,14 +27,14 @@
 list_tie
 
 
- + Description

Returns the result type of list_tie.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -51,7 +51,7 @@
 
#define FUSION_MAX_LIST_SIZE 20
 
- + Parameters
@@ -98,7 +98,7 @@
- + Expression Semantics
@@ -112,14 +112,14 @@ Semantics: Create a list of references from T0, T1,... TN.

- + Header
#include <boost/fusion/container/generation/list_tie.hpp>
 #include <boost/fusion/include/list_tie.hpp>
 
- + Example
result_of::list_tie<int, double>::type
diff --git a/doc/html/fusion/container/generation/metafunctions/make_cons.html b/doc/html/fusion/container/generation/metafunctions/make_cons.html
index fd6a3453..e96bab2d 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_cons.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_cons.html
@@ -27,21 +27,21 @@
 make_cons
 
 
- + Description

Returns the result type of make_cons.

- + Synopsis
template <typename Car, typename Cdr = nil>
 struct make_cons;
 
- + Parameters
@@ -105,7 +105,7 @@
- + Expression Semantics
@@ -122,14 +122,14 @@ (tail).

- + Header
#include <boost/fusion/container/generation/make_cons.hpp>
 #include <boost/fusion/include/make_cons.hpp>
 
- + Example
result_of::make_cons<char, result_of::make_cons<int>::type>::type
diff --git a/doc/html/fusion/container/generation/metafunctions/make_list.html b/doc/html/fusion/container/generation/metafunctions/make_list.html
index 21e33767..b2e62b89 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_list.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_list.html
@@ -27,14 +27,14 @@
 make_list
 
 
- + Description

Returns the result type of make_list.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -51,7 +51,7 @@
 
#define FUSION_MAX_LIST_SIZE 20
 
- + Parameters
@@ -98,7 +98,7 @@
- + Expression Semantics
@@ -113,14 +113,14 @@ Semantics: Create a list from T0, T1,... TN.

- + Header
#include <boost/fusion/container/generation/make_list.hpp>
 #include <boost/fusion/include/make_list.hpp>
 
- + Example
result_of::make_list<int, const char(&)[7], double>::type
diff --git a/doc/html/fusion/container/generation/metafunctions/make_map.html b/doc/html/fusion/container/generation/metafunctions/make_map.html
index eef09fb9..615677c7 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_map.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_map.html
@@ -27,14 +27,14 @@
 make_map
 
 
- + Description

Returns the result type of make_map.

- + Synopsis
template <
@@ -53,7 +53,7 @@
 
#define FUSION_MAX_MAP_SIZE 20
 
- + Parameters
@@ -121,7 +121,7 @@
- + Expression Semantics
@@ -140,20 +140,20 @@ key types.

- + Header
#include <boost/fusion/container/generation/make_map.hpp>
 #include <boost/fusion/include/make_map.hpp>
 
- + Example
result_of::make_map<int, double, char, double>::type
 
- + See also
diff --git a/doc/html/fusion/container/generation/metafunctions/make_set.html b/doc/html/fusion/container/generation/metafunctions/make_set.html index b6a770f2..2ee25d9a 100644 --- a/doc/html/fusion/container/generation/metafunctions/make_set.html +++ b/doc/html/fusion/container/generation/metafunctions/make_set.html @@ -27,14 +27,14 @@ make_set
- + Description

Returns the result type of make_set.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -51,7 +51,7 @@
 
#define FUSION_MAX_SET_SIZE 20
 
- + Parameters
@@ -98,7 +98,7 @@
- + Expression Semantics
@@ -117,14 +117,14 @@ key types.

- + Header
#include <boost/fusion/container/generation/make_set.hpp>
 #include <boost/fusion/include/make_set.hpp>
 
- + Example
result_of::make_set<int, char, double>::type
diff --git a/doc/html/fusion/container/generation/metafunctions/make_vector.html b/doc/html/fusion/container/generation/metafunctions/make_vector.html
index e28161a9..49353a70 100644
--- a/doc/html/fusion/container/generation/metafunctions/make_vector.html
+++ b/doc/html/fusion/container/generation/metafunctions/make_vector.html
@@ -27,14 +27,14 @@
 make_vector
 
 
- + Description

Returns the result type of make_vector.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -51,7 +51,7 @@
 
#define FUSION_MAX_VECTOR_SIZE 20
 
- + Parameters
@@ -98,7 +98,7 @@
- + Expression Semantics
@@ -113,14 +113,14 @@ Semantics: Create a vector from T0, T1,... TN.

- + Header
#include <boost/fusion/container/generation/make_list.hpp>
 #include <boost/fusion/include/make_list.hpp>
 
- + Example
result_of::make_vector<int, const char(&)[7], double>::type
diff --git a/doc/html/fusion/container/generation/metafunctions/map_tie.html b/doc/html/fusion/container/generation/metafunctions/map_tie.html
index 8bf69960..154f53db 100644
--- a/doc/html/fusion/container/generation/metafunctions/map_tie.html
+++ b/doc/html/fusion/container/generation/metafunctions/map_tie.html
@@ -27,14 +27,14 @@
 map_tie
 
 
- + Description

Returns the result type of map_tie.

- + Synopsis
template <typename K0, typename K1,... typename KN, typename D0, typename D1,... typename DN>
@@ -51,7 +51,7 @@
 
#define FUSION_MAX_MAP_SIZE 20
 
- + Parameters
@@ -119,7 +119,7 @@
- + Expression Semantics
@@ -134,14 +134,14 @@ Semantics: Create a map of references from D0, D1,... DN with keys K0, K1,... KN

- + Header
#include <boost/fusion/container/generation/map_tie.hpp>
 #include <boost/fusion/include/map_tie.hpp>
 
- + Example
struct int_key;
diff --git a/doc/html/fusion/container/generation/metafunctions/vector_tie.html b/doc/html/fusion/container/generation/metafunctions/vector_tie.html
index ebee6e6f..e9e97662 100644
--- a/doc/html/fusion/container/generation/metafunctions/vector_tie.html
+++ b/doc/html/fusion/container/generation/metafunctions/vector_tie.html
@@ -27,14 +27,14 @@
 vector_tie
 
 
- + Description

Returns the result type of vector_tie.

- + Synopsis
template <typename T0, typename T1,... typename TN>
@@ -51,7 +51,7 @@
 
#define FUSION_MAX_VECTOR_SIZE 20
 
- + Parameters
@@ -98,7 +98,7 @@
- + Expression Semantics
@@ -112,14 +112,14 @@ Semantics: Create a vector of references from T0, T1,... TN.

- + Header
#include <boost/fusion/container/generation/vector_tie.hpp>
 #include <boost/fusion/include/vector_tie.hpp>
 
- + Example
result_of::vector_tie<int, double>::type
diff --git a/doc/html/fusion/container/list.html b/doc/html/fusion/container/list.html
index c805355d..235b5592 100644
--- a/doc/html/fusion/container/list.html
+++ b/doc/html/fusion/container/list.html
@@ -27,7 +27,7 @@
 list
 
 
- + Description

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

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

@@ -257,7 +257,7 @@

- + Example
list<int, float> l(12, 5.5f);
diff --git a/doc/html/fusion/container/map.html b/doc/html/fusion/container/map.html
index 370bfcce..941e396b 100644
--- a/doc/html/fusion/container/map.html
+++ b/doc/html/fusion/container/map.html
@@ -27,7 +27,7 @@
 map
 
 
- + Description

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

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

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

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

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

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

@@ -234,7 +234,7 @@

- + Example
typedef set<int, float> S;
diff --git a/doc/html/fusion/container/vector.html b/doc/html/fusion/container/vector.html
index 91e34f00..c1bd235f 100644
--- a/doc/html/fusion/container/vector.html
+++ b/doc/html/fusion/container/vector.html
@@ -27,7 +27,7 @@
 vector
 
 
- + Description

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

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

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

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

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

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

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

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

- + A first couple of instructive features
@@ -217,18 +217,17 @@

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

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

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

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

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

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

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

- + Implementing the remaining iterator functionality

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

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

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

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

- + Summary

diff --git a/doc/html/fusion/extension/iterator_facade.html b/doc/html/fusion/extension/iterator_facade.html index 5899320b..47d9d6b4 100644 --- a/doc/html/fusion/extension/iterator_facade.html +++ b/doc/html/fusion/extension/iterator_facade.html @@ -27,7 +27,7 @@ Iterator Facade

- + Description

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

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

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

-

Table 1.93. Parameters

+

Table 1.97. Parameters

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

-

Table 1.94. Key Expressions

+

Table 1.98. Key Expressions

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

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

diff --git a/doc/html/fusion/extension/sequence_facade.html b/doc/html/fusion/extension/sequence_facade.html index 1c2d035d..04d5acad 100644 --- a/doc/html/fusion/extension/sequence_facade.html +++ b/doc/html/fusion/extension/sequence_facade.html @@ -27,7 +27,7 @@ Sequence Facade

- + Description

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

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

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

-

Table 1.91. Parameters

+

Table 1.95. Parameters

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

-

Table 1.92. Key Expressions

+

Table 1.96. Key Expressions

@@ -243,14 +243,14 @@

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

diff --git a/doc/html/fusion/functional.html b/doc/html/fusion/functional.html index cdc2347b..2412e1fc 100644 --- a/doc/html/fusion/functional.html +++ b/doc/html/fusion/functional.html @@ -63,13 +63,13 @@ through a function object interface.

- + Header

#include <boost/fusion/functional.hpp>
 

- + Fused and unfused forms

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

- + Calling functions and function objects

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

- + Making Fusion code callable through a function object interface

diff --git a/doc/html/fusion/functional/adapters/fused.html b/doc/html/fusion/functional/adapters/fused.html index 3100beaf..59cef3f5 100644 --- a/doc/html/fusion/functional/adapters/fused.html +++ b/doc/html/fusion/functional/adapters/fused.html @@ -27,7 +27,7 @@ fused
- + Description

@@ -54,20 +54,20 @@ and boost::shared_ptr).

- + Header
#include <boost/fusion/functional/adapter/fused.hpp>
 
- + Synopsis
template <typename Function>
 class fused;
 
- + Template parameters
@@ -113,7 +113,7 @@
- + Model of
    @@ -146,7 +146,7 @@
- + Expression Semantics
@@ -210,14 +210,14 @@
- + Example
fused< std::plus<long> > f;
 assert(f(make_vector(1,2l)) == 3l);
 
- + See also
    diff --git a/doc/html/fusion/functional/adapters/fused_function_object.html b/doc/html/fusion/functional/adapters/fused_function_object.html index 7fd166c8..7b07c053 100644 --- a/doc/html/fusion/functional/adapters/fused_function_object.html +++ b/doc/html/fusion/functional/adapters/fused_function_object.html @@ -27,7 +27,7 @@ fused_function_object
- + Description

@@ -44,20 +44,20 @@ object is held by value, the adapter is const).

- + Header
#include <boost/fusion/functional/adapter/fused_function_object.hpp>
 
- + Synopsis
template <class Function>
 class fused_function_object;
 
- + Template parameters
@@ -103,7 +103,7 @@
- + Model of
@@ -137,7 +137,7 @@
- + Expression Semantics
@@ -201,7 +201,7 @@
- + Example
template<class SeqOfSeqs, class Func>
@@ -238,7 +238,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/fused_procedure.html b/doc/html/fusion/functional/adapters/fused_procedure.html index f87ffaf8..5e921585 100644 --- a/doc/html/fusion/functional/adapters/fused_procedure.html +++ b/doc/html/fusion/functional/adapters/fused_procedure.html @@ -27,7 +27,7 @@ fused_procedure
- + Description

@@ -62,20 +62,20 @@ case is not implemented).

- + Header
#include <boost/fusion/functional/adapter/fused_procedure.hpp>
 
- + Synopsis
template <typename Function>
 class fused_procedure;
 
- + Template parameters
@@ -121,7 +121,7 @@
- + Model of
@@ -155,7 +155,7 @@
- + Expression Semantics
@@ -219,7 +219,7 @@
- + Example
template<class SequenceOfSequences, class Func>
@@ -239,7 +239,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/adapters/limits.html b/doc/html/fusion/functional/adapters/limits.html index 0b781778..8e30bbf7 100644 --- a/doc/html/fusion/functional/adapters/limits.html +++ b/doc/html/fusion/functional/adapters/limits.html @@ -27,13 +27,13 @@ Limits
- + Header
#include <boost/fusion/functional/adapter/limits.hpp>
 
- + Macros

diff --git a/doc/html/fusion/functional/adapters/unfused.html b/doc/html/fusion/functional/adapters/unfused.html index 7dac7510..57d74043 100644 --- a/doc/html/fusion/functional/adapters/unfused.html +++ b/doc/html/fusion/functional/adapters/unfused.html @@ -27,7 +27,7 @@ unfused

- + Description

@@ -57,20 +57,20 @@ object is held by value, the adapter is const.

- + Header
#include <boost/fusion/functional/adapter/unfused.hpp>
 
- + Synopsis
template <class Function, bool AllowNullary = true>
 class unfused;
 
- + Template parameters
@@ -135,7 +135,7 @@
- + Model of
    @@ -172,7 +172,7 @@
- + Expression Semantics
@@ -236,7 +236,7 @@
- + Example
struct fused_incrementer
@@ -263,7 +263,7 @@
 }
 
- + See also
    diff --git a/doc/html/fusion/functional/adapters/unfused_typed.html b/doc/html/fusion/functional/adapters/unfused_typed.html index a14e8e11..dcbb6e46 100644 --- a/doc/html/fusion/functional/adapters/unfused_typed.html +++ b/doc/html/fusion/functional/adapters/unfused_typed.html @@ -27,7 +27,7 @@ unfused_typed
- + Description

@@ -66,20 +66,20 @@

- + Header
#include <boost/fusion/functional/adapter/unfused_typed.hpp>
 
- + Synopsis
template <class Function, class Sequence>
 class unfused_typed;
 
- + Template parameters
@@ -143,7 +143,7 @@
- + Model of
@@ -186,7 +186,7 @@
- + Expression Semantics
@@ -252,7 +252,7 @@
- + Example
struct add_assign // applies operator+=
@@ -320,7 +320,7 @@
 }
 
- + See also
    diff --git a/doc/html/fusion/functional/concepts/callable.html b/doc/html/fusion/functional/concepts/callable.html index 6ef17732..26afb6c7 100644 --- a/doc/html/fusion/functional/concepts/callable.html +++ b/doc/html/fusion/functional/concepts/callable.html @@ -27,7 +27,7 @@ Callable Object
- + Description

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

- + Models
    @@ -51,7 +51,7 @@
- + Examples
& a_free_function
diff --git a/doc/html/fusion/functional/concepts/def_callable.html b/doc/html/fusion/functional/concepts/def_callable.html
index 86590b42..93edd73e 100644
--- a/doc/html/fusion/functional/concepts/def_callable.html
+++ b/doc/html/fusion/functional/concepts/def_callable.html
@@ -28,7 +28,7 @@
         Callable Object
 
 
- + Description

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

- + Refinement of
@@ -80,7 +80,7 @@
- + Expression requirements
@@ -118,7 +118,7 @@
- + Models
    @@ -131,7 +131,7 @@
- + Examples
& a_free_function
diff --git a/doc/html/fusion/functional/concepts/poly.html b/doc/html/fusion/functional/concepts/poly.html
index c372ef06..56e27bab 100644
--- a/doc/html/fusion/functional/concepts/poly.html
+++ b/doc/html/fusion/functional/concepts/poly.html
@@ -28,7 +28,7 @@
         Object
 
 
- + Description

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

- + Refinement of
@@ -78,7 +78,7 @@
- + Expression requirements
@@ -127,7 +127,7 @@
- + Models
    @@ -142,7 +142,7 @@
- + Examples
& a_free_function
diff --git a/doc/html/fusion/functional/concepts/reg_callable.html b/doc/html/fusion/functional/concepts/reg_callable.html
index 26bce9d2..d62a3079 100644
--- a/doc/html/fusion/functional/concepts/reg_callable.html
+++ b/doc/html/fusion/functional/concepts/reg_callable.html
@@ -28,7 +28,7 @@
         Object
 
 
- + Description

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

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

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

- + Synopsis
template <typename F>
@@ -45,7 +45,7 @@
 make_fused(F const & f);
 
- + Parameters
@@ -91,7 +91,7 @@
- + Expression Semantics
@@ -104,14 +104,14 @@ Semantics: Returns a fused adapter for f.

- + Header
#include <boost/fusion/functional/generation/make_fused.hpp>
 #include <boost/fusion/include/make_fused.hpp>
 
- + Example
float sub(float a, float b) { return a - b; }
@@ -126,7 +126,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html b/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html index ba003210..97392ab9 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_fobj.html @@ -28,7 +28,7 @@ make_fused_function_object
- + Description

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

- + Synopsis
template <typename F>
@@ -46,7 +46,7 @@
 make_fused_function_object(F const & f);
 
- + Parameters
@@ -92,7 +92,7 @@
- + Expression Semantics
@@ -106,14 +106,14 @@ for f.

- + Header
#include <boost/fusion/functional/generation/make_fused_function_object.hpp>
 #include <boost/fusion/include/make_fused_function_object.hpp>
 
- + Example
struct sub
@@ -141,7 +141,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/generation/functions/mk_fused_proc.html b/doc/html/fusion/functional/generation/functions/mk_fused_proc.html index 3fcd3cd2..2a9d4dc4 100644 --- a/doc/html/fusion/functional/generation/functions/mk_fused_proc.html +++ b/doc/html/fusion/functional/generation/functions/mk_fused_proc.html @@ -28,7 +28,7 @@ make_fused_procedure
- + Description

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

- + Synopsis
template <typename F>
@@ -46,7 +46,7 @@
 make_fused_procedure(F const & f);
 
- + Parameters
@@ -92,7 +92,7 @@
- + Expression Semantics
@@ -106,14 +106,14 @@ f.

- + Header
#include <boost/fusion/functional/generation/make_fused_procedure.hpp>
 #include <boost/fusion/include/make_fused_procedure.hpp>
 
- + Example
vector<int,int,int> v(1,2,3);
@@ -122,7 +122,7 @@
 assert(front(v) == 0);
 
- + See also
diff --git a/doc/html/fusion/functional/generation/functions/mk_unfused.html b/doc/html/fusion/functional/generation/functions/mk_unfused.html index b843ad31..605baed6 100644 --- a/doc/html/fusion/functional/generation/functions/mk_unfused.html +++ b/doc/html/fusion/functional/generation/functions/mk_unfused.html @@ -28,7 +28,7 @@ make_unfused
- + Description

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

- + Synopsis
template <typename F>
@@ -46,7 +46,7 @@
 make_unfused(F const & f);
 
- + Parameters
@@ -92,7 +92,7 @@
- + Expression Semantics
@@ -105,14 +105,14 @@ Semantics: Returns a unfused adapter for f.

- + Header
#include <boost/fusion/functional/generation/make_unfused.hpp>
 #include <boost/fusion/include/make_unfused.hpp>
 
- + Example
struct fused_incrementer
@@ -138,7 +138,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html index bb60c475..9b2aa132 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused.html @@ -28,21 +28,21 @@ make_fused
- + Description

Returns the result type of make_fused.

- + Header
#include <boost/fusion/functional/generation/make_fused.hpp>
 #include <boost/fusion/include/make_fused.hpp>
 
- + Synopsis
namespace result_of
@@ -55,7 +55,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html b/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html index 9bca4c5b..97cdc013 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_fused_fobj.html @@ -28,21 +28,21 @@ make_fused_function_object
- + Description

Returns the result type of make_fused_function_object.

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

Returns the result type of make_fused_procedure.

- + Header
#include <boost/fusion/functional/generation/make_fused_procedure.hpp>
 #include <boost/fusion/include/make_fused_procedure.hpp>
 
- + Synopsis
namespace result_of
@@ -55,7 +55,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html b/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html index ad49bb7f..063d8b42 100644 --- a/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html +++ b/doc/html/fusion/functional/generation/metafunctions/mk_unfused.html @@ -28,21 +28,21 @@ make_unfused
- + Description

Returns the result type of make_unfused.

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

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

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

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

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

- + Synopsis
template<
@@ -61,7 +61,7 @@
 invoke_function_object(Function f, Sequence const & s);
 
- + Parameters
@@ -127,7 +127,7 @@
- + Expression Semantics
@@ -143,13 +143,13 @@ as arguments and returns the result of the call expression.

- + Header
#include <boost/fusion/functional/invocation/invoke_function_object.hpp>
 
- + Example
struct sub
@@ -175,7 +175,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/invocation/functions/invoke_proc.html b/doc/html/fusion/functional/invocation/functions/invoke_proc.html index 7cb02502..a38b09b1 100644 --- a/doc/html/fusion/functional/invocation/functions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/functions/invoke_proc.html @@ -28,7 +28,7 @@ invoke_procedure
- + Description

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

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

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

diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke.html b/doc/html/fusion/functional/invocation/metafunctions/invoke.html index 9574cbca..a9f367fc 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke.html @@ -27,14 +27,14 @@ invoke

- + Description

Returns the result type of invoke.

- + Synopsis
namespace result_of
@@ -50,7 +50,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html b/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html index 7300544a..afbc76de 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_fobj.html @@ -28,14 +28,14 @@ invoke_function_object
- + Description

Returns the result type of invoke_function_object.

- + Synopsis
namespace result_of
@@ -51,7 +51,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html b/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html index b3b9527d..7daa3477 100644 --- a/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html +++ b/doc/html/fusion/functional/invocation/metafunctions/invoke_proc.html @@ -28,14 +28,14 @@ invoke_procedure
- + Description

Returns the result type of invoke_procedure.

- + Synopsis
namespace result_of
@@ -51,7 +51,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/introduction.html b/doc/html/fusion/introduction.html index e8b177d2..d20f29b6 100644 --- a/doc/html/fusion/introduction.html +++ b/doc/html/fusion/introduction.html @@ -117,7 +117,7 @@ sequences are fully compatible with Fusion. You can work with Fusion sequences on MPL if you wish to work solely on types - [1] + [1] . In MPL, Fusion sequences follow MPL's sequence-type preserving semantics (i.e. algorithms preserve the original sequence @@ -132,7 +132,7 @@



-

[1] +

[1] Choose MPL over fusion when doing pure type calculations. Once the static type calculation is finished, you can instantiate a fusion sequence (see Conversion) diff --git a/doc/html/fusion/iterator.html b/doc/html/fusion/iterator.html index 775406c3..dbb42e55 100644 --- a/doc/html/fusion/iterator.html +++ b/doc/html/fusion/iterator.html @@ -35,6 +35,8 @@ Iterator

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

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

- + Header

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

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

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

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

+
+

Notation

+
+
i
+

+ Associative Iterator +

+
I
+

+ Associative Iterator type +

+
+
+
+ + Refinement + of +
+

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

+
+ + Expression + requirements +
+

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

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

+ Expression +

+
+

+ Return type +

+
+

+ Runtime Complexity +

+
+

+ deref_data(i) +

+
+

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

+
+

+ Constant +

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

+ Expression +

+
+

+ Compile Time Complexity +

+
+

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

+
+

+ Amortized constant time +

+
+

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

+
+

+ Amortized constant time +

+
+

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

+
+

+ Amortized constant time +

+
+
+ + Models +
+
+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/fusion/iterator/concepts/bidirectional_iterator.html b/doc/html/fusion/iterator/concepts/bidirectional_iterator.html index 5ccf6cf7..ba898c38 100644 --- a/doc/html/fusion/iterator/concepts/bidirectional_iterator.html +++ b/doc/html/fusion/iterator/concepts/bidirectional_iterator.html @@ -28,7 +28,7 @@ Iterator
- + Description

@@ -58,7 +58,7 @@

- + Refinement of
@@ -66,7 +66,7 @@ Forward Iterator

- + Expression requirements
@@ -173,7 +173,7 @@
- + Meta Expressions
@@ -208,7 +208,7 @@
- + Expression Semantics
@@ -248,7 +248,7 @@
- + Invariants

@@ -264,7 +264,7 @@

- + Models
    diff --git a/doc/html/fusion/iterator/concepts/forward_iterator.html b/doc/html/fusion/iterator/concepts/forward_iterator.html index 554b83e5..4ea7245a 100644 --- a/doc/html/fusion/iterator/concepts/forward_iterator.html +++ b/doc/html/fusion/iterator/concepts/forward_iterator.html @@ -28,7 +28,7 @@ Iterator
- + Description

@@ -61,7 +61,7 @@

- + Expression requirements
@@ -239,7 +239,7 @@
- + Meta Expressions
@@ -350,7 +350,7 @@
- + Expression Semantics
@@ -476,7 +476,7 @@
- + Invariants

@@ -500,7 +500,7 @@

- + Models
    diff --git a/doc/html/fusion/iterator/concepts/random_access_iterator.html b/doc/html/fusion/iterator/concepts/random_access_iterator.html index 3b7a0a94..7cfd3d42 100644 --- a/doc/html/fusion/iterator/concepts/random_access_iterator.html +++ b/doc/html/fusion/iterator/concepts/random_access_iterator.html @@ -7,7 +7,7 @@ - + @@ -20,7 +20,7 @@

    -PrevUpHomeNext +PrevUpHomeNext

    @@ -28,7 +28,7 @@ Access Iterator

    - + Description

    @@ -61,7 +61,7 @@

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

    - + Expression requirements
    @@ -177,7 +177,7 @@
- + Meta Expressions
@@ -240,7 +240,7 @@
- + Models
    @@ -284,7 +284,7 @@
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterator/functions.html b/doc/html/fusion/iterator/functions.html index 17087d66..6927aa54 100644 --- a/doc/html/fusion/iterator/functions.html +++ b/doc/html/fusion/iterator/functions.html @@ -6,7 +6,7 @@ - + @@ -20,7 +20,7 @@
    -PrevUpHomeNext +PrevUpHomeNext

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

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


    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterator/functions/advance.html b/doc/html/fusion/iterator/functions/advance.html index f8a94987..48c18056 100644 --- a/doc/html/fusion/iterator/functions/advance.html +++ b/doc/html/fusion/iterator/functions/advance.html @@ -27,14 +27,14 @@ advance
    - + Description

    Moves an iterator by a specified distance.

    - + Synopsis
    template<
    @@ -44,7 +44,7 @@
     typename result_of::advance<I, M>::type advance(I const& i);
     
    -

    Table 1.6. Parameters

    +

    Table 1.6. Parameters

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

    - + Expression Semantics
    @@ -128,14 +128,14 @@ may be negative.

    - + Header
    #include <boost/fusion/iterator/advance.hpp>
     #include <boost/fusion/include/advance.hpp>
     
    - + Example
    typedef vector<int,int,int> vec;
    diff --git a/doc/html/fusion/iterator/functions/advance_c.html b/doc/html/fusion/iterator/functions/advance_c.html
    index c1404eb7..5497daa4 100644
    --- a/doc/html/fusion/iterator/functions/advance_c.html
    +++ b/doc/html/fusion/iterator/functions/advance_c.html
    @@ -7,7 +7,7 @@
     
     
     
    -
    +
     
     
     
    @@ -20,21 +20,21 @@
     

    -PrevUpHomeNext +PrevUpHomeNext
    - + Description

    Moves an iterator by a specified distance.

    - + Synopsis
    template<
    @@ -44,7 +44,7 @@
     typename result_of::advance_c<I, N>::type advance_c(I const& i);
     
    -

    Table 1.7. Parameters

    +

    Table 1.7. Parameters

    @@ -108,7 +108,7 @@

    - + Expression Semantics
    @@ -127,14 +127,14 @@ may be negative.

    - + Header
    #include <boost/fusion/iterator/advance.hpp>
     #include <boost/fusion/include/advance.hpp>
     
    - + Example
    typedef vector<int,int,int> vec;
    @@ -154,7 +154,7 @@
     
     
    -PrevUpHomeNext +PrevUpHomeNext
    diff --git a/doc/html/fusion/iterator/functions/deref.html b/doc/html/fusion/iterator/functions/deref.html index 7eb45ffe..8c6c51ab 100644 --- a/doc/html/fusion/iterator/functions/deref.html +++ b/doc/html/fusion/iterator/functions/deref.html @@ -27,14 +27,14 @@ deref
- + Description

Deferences an iterator.

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

Table 1.2. Parameters

+

Table 1.2. Parameters

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

- + Expression Semantics
@@ -102,14 +102,14 @@ i.

- + Header
#include <boost/fusion/iterator/deref.hpp>
 #include <boost/fusion/include/deref.hpp>
 
- + Example
typedef vector<int,int&> vec;
diff --git a/doc/html/fusion/iterator/functions/deref_data.html b/doc/html/fusion/iterator/functions/deref_data.html
new file mode 100644
index 00000000..cc82f3f5
--- /dev/null
+++ b/doc/html/fusion/iterator/functions/deref_data.html
@@ -0,0 +1,138 @@
+
+
+
+deref_data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+ + Description +
+

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

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

Table 1.8. Parameters

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

+ Parameter +

+
+

+ Requirement +

+
+

+ Description +

+
+

+ i +

+
+

+ Model of Associative + Iterator +

+
+

+ Operation's argument +

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

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

+

+ Semantics: Dereferences the data property + associated with the element referenced by an associative iterator i. +

+
+ + Header +
+
#include <boost/fusion/iterator/deref_data.hpp>
+#include <boost/fusion/include/deref_data.hpp>
+
+
+ + Example +
+
typedef map<pair<float,int&> > map;
+
+int i(0);
+map m(1.0f,i);
+assert(deref_data(begin(m)) == 0);
+assert(&(deref_data(begin(m))) == &i);
+
+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/fusion/iterator/functions/distance.html b/doc/html/fusion/iterator/functions/distance.html index e76598e2..5f4e7816 100644 --- a/doc/html/fusion/iterator/functions/distance.html +++ b/doc/html/fusion/iterator/functions/distance.html @@ -27,14 +27,14 @@ distance
- + Description

Returns the distance between 2 iterators.

- + Synopsis
template<
@@ -44,7 +44,7 @@
 typename result_of::distance<I, J>::type distance(I const& i, J const& j);
 
-

Table 1.5. Parameters

+

Table 1.5. Parameters

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

- + Expression Semantics
@@ -103,14 +103,14 @@ iterators i and j.

- + Header
#include <boost/fusion/iterator/distance.hpp>
 #include <boost/fusion/include/distance.hpp>
 
- + Example
typedef vector<int,int,int> vec;
diff --git a/doc/html/fusion/iterator/functions/next.html b/doc/html/fusion/iterator/functions/next.html
index fda83c51..2b0cca48 100644
--- a/doc/html/fusion/iterator/functions/next.html
+++ b/doc/html/fusion/iterator/functions/next.html
@@ -27,14 +27,14 @@
 next
 
 
- + Description

Moves an iterator 1 position forwards.

- + Synopsis
template<
@@ -43,7 +43,7 @@
 typename result_of::next<I>::type next(I const& i);
 
-

Table 1.3. Parameters

+

Table 1.3. Parameters

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

- + Expression Semantics
@@ -103,14 +103,14 @@ next element after i.

- + Header
#include <boost/fusion/iterator/next.hpp>
 #include <boost/fusion/include/next.hpp>
 
- + Example
typedef vector<int,int,int> vec;
diff --git a/doc/html/fusion/iterator/functions/prior.html b/doc/html/fusion/iterator/functions/prior.html
index 5e3fad70..090681de 100644
--- a/doc/html/fusion/iterator/functions/prior.html
+++ b/doc/html/fusion/iterator/functions/prior.html
@@ -27,14 +27,14 @@
 prior
 
 
- + Description

Moves an iterator 1 position backwards.

- + Synopsis
template<
@@ -43,7 +43,7 @@
 typename result_of::prior<I>::type prior(I const& i);
 
-

Table 1.4. Parameters

+

Table 1.4. Parameters

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

- + Expression Semantics
@@ -103,14 +103,14 @@ element prior to i.

- + Header
#include <boost/fusion/iterator/prior.hpp>
 #include <boost/fusion/include/prior.hpp>
 
- + Example
typedef vector<int,int> vec;
diff --git a/doc/html/fusion/iterator/metafunctions.html b/doc/html/fusion/iterator/metafunctions.html
index 00a4a45b..e62b490b 100644
--- a/doc/html/fusion/iterator/metafunctions.html
+++ b/doc/html/fusion/iterator/metafunctions.html
@@ -35,6 +35,9 @@
 
distance
advance
advance_c
+
key_of
+
value_of_data
+
deref_data
diff --git a/doc/html/fusion/iterator/metafunctions/advance.html b/doc/html/fusion/iterator/metafunctions/advance.html index 7e79f18f..9a78295a 100644 --- a/doc/html/fusion/iterator/metafunctions/advance.html +++ b/doc/html/fusion/iterator/metafunctions/advance.html @@ -27,14 +27,14 @@ advance
- + Description

Moves an iterator a specified distance.

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

Table 1.17. Parameters

+

Table 1.18. Parameters

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

- + Expression Semantics
@@ -130,14 +130,14 @@ may be negative.

- + Header
#include <boost/fusion/iterator/advance.hpp>
 #include <boost/fusion/include/advance.hpp>
 
- + Example
typedef vector<int,double,char> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/advance_c.html b/doc/html/fusion/iterator/metafunctions/advance_c.html
index 1f6be8c5..fe456c8c 100644
--- a/doc/html/fusion/iterator/metafunctions/advance_c.html
+++ b/doc/html/fusion/iterator/metafunctions/advance_c.html
@@ -7,7 +7,7 @@
 
 
 
-
+
 
 
 
@@ -20,21 +20,21 @@
 

-PrevUpHomeNext +PrevUpHomeNext
- + Description

Moves an iterator by a specified distance.

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

Table 1.18. Parameters

+

Table 1.19. Parameters

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

- + Expression Semantics
@@ -129,14 +129,14 @@ may be negative. Equivalent to result_of::advance<I, boost::mpl::int_<N> >::type.

- + Header
#include <boost/fusion/iterator/advance.hpp>
 #include <boost/fusion/include/advance.hpp>
 
- + Example
typedef vector<int,double,char> vec;
@@ -158,7 +158,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/iterator/metafunctions/deref.html b/doc/html/fusion/iterator/metafunctions/deref.html index bb3e8854..a0a165dd 100644 --- a/doc/html/fusion/iterator/metafunctions/deref.html +++ b/doc/html/fusion/iterator/metafunctions/deref.html @@ -27,14 +27,14 @@ deref
- + Description

Returns the type that will be returned by dereferencing an iterator.

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

Table 1.12. Parameters

+

Table 1.13. Parameters

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

- + Expression Semantics
@@ -105,14 +105,14 @@ an iterator of type I.

- + Header
#include <boost/fusion/iterator/deref.hpp>
 #include <boost/fusion/include/deref.hpp>
 
- + Example
typedef vector<int,int&> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/deref_data.html b/doc/html/fusion/iterator/metafunctions/deref_data.html
new file mode 100644
index 00000000..0df181a5
--- /dev/null
+++ b/doc/html/fusion/iterator/metafunctions/deref_data.html
@@ -0,0 +1,139 @@
+
+
+
+deref_data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+ + Description +
+

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

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

Table 1.22. Parameters

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

+ Parameter +

+
+

+ Requirement +

+
+

+ Description +

+
+

+ I +

+
+

+ Model of Associative + Iterator +

+
+

+ Operation's argument +

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

+ Return type: Any type +

+

+ Semantics: Returns the result of dereferencing + the data property referenced by an associative iterator of type I. +

+
+ + Header +
+
#include <boosta/fusion/iterator/deref_data.hpp>
+#include <boost/fusion/include/deref_data.hpp>
+
+
+ + Example +
+
typedef map<pair<float,int> > map;
+typedef result_of::begin<vec>::type first;
+
+BOOST_MPL_ASSERT((boost::is_same<result_of::deref_data<first>::type, int&>));
+
+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/fusion/iterator/metafunctions/distance.html b/doc/html/fusion/iterator/metafunctions/distance.html index 501a4647..9e54386d 100644 --- a/doc/html/fusion/iterator/metafunctions/distance.html +++ b/doc/html/fusion/iterator/metafunctions/distance.html @@ -27,14 +27,14 @@ distance
- + Description

Returns the distance between two iterators.

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

Table 1.16. Parameters

+

Table 1.17. Parameters

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

- + Expression Semantics
@@ -108,14 +108,14 @@ J.

- + Header
#include <boost/fusion/iterator/distance.hpp>
 #include <boost/fusion/include/distance.hpp>
 
- + Example
typedef vector<int,double,char> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/equal_to.html b/doc/html/fusion/iterator/metafunctions/equal_to.html
index 0620dd58..ecf65f9e 100644
--- a/doc/html/fusion/iterator/metafunctions/equal_to.html
+++ b/doc/html/fusion/iterator/metafunctions/equal_to.html
@@ -27,7 +27,7 @@
 equal_to
 
 
- + Description

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

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

Table 1.15. Parameters

+

Table 1.16. Parameters

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

- + Expression Semantics
@@ -109,14 +109,14 @@ Returns boost::mpl::false_ otherwise.

- + Header
#include <boost/fusion/iterator/equal_to.hpp>
 #include <boost/fusion/include/equal_to.hpp>
 
- + Example
typedef vector<int,double> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/key_of.html b/doc/html/fusion/iterator/metafunctions/key_of.html
new file mode 100644
index 00000000..55356c2c
--- /dev/null
+++ b/doc/html/fusion/iterator/metafunctions/key_of.html
@@ -0,0 +1,139 @@
+
+
+
+key_of
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+

+key_of +

+
+ + Description +
+

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

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

Table 1.20. Parameters

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

+ Parameter +

+
+

+ Requirement +

+
+

+ Description +

+
+

+ I +

+
+

+ Model of Associative + Iterator +

+
+

+ Operation's argument +

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

+ Return type: Any type +

+

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

+
+ + Header +
+
#include <boost/fusion/iterator/key_of.hpp>
+#include <boost/fusion/include/key_of.hpp>
+
+
+ + Example +
+
typedef map<pair<float,int> > vec;
+typedef result_of::begin<vec>::type first;
+
+BOOST_MPL_ASSERT((boost::is_same<result_of::key_of<first>::type, float>));
+
+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/fusion/iterator/metafunctions/next.html b/doc/html/fusion/iterator/metafunctions/next.html index 1620b22b..e5d4e350 100644 --- a/doc/html/fusion/iterator/metafunctions/next.html +++ b/doc/html/fusion/iterator/metafunctions/next.html @@ -27,14 +27,14 @@ next
- + Description

Returns the type of the next iterator in a sequence.

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

Table 1.13. Parameters

+

Table 1.14. Parameters

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

- + Expression Semantics
@@ -106,14 +106,14 @@ next element in the sequence after I.

- + Header
#include <boost/fusion/iterator/next.hpp>
 #include <boost/fusion/include/next.hpp>
 
- + Example
typedef vector<int,double> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/prior.html b/doc/html/fusion/iterator/metafunctions/prior.html
index d953db31..d42f9808 100644
--- a/doc/html/fusion/iterator/metafunctions/prior.html
+++ b/doc/html/fusion/iterator/metafunctions/prior.html
@@ -27,14 +27,14 @@
 prior
 
 
- + Description

Returns the type of the previous iterator in a sequence.

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

Table 1.14. Parameters

+

Table 1.15. Parameters

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

- + Expression Semantics
@@ -106,14 +106,14 @@ previous element in the sequence before I.

- + Header
#include <boost/fusion/iterator/prior.hpp>
 #include <boost/fusion/include/prior.hpp>
 
- + Example
typedef vector<int,double> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/value_of.html b/doc/html/fusion/iterator/metafunctions/value_of.html
index 1ef34859..8c85ea75 100644
--- a/doc/html/fusion/iterator/metafunctions/value_of.html
+++ b/doc/html/fusion/iterator/metafunctions/value_of.html
@@ -27,14 +27,14 @@
 value_of
 
 
- + Description

Returns the type stored at the position of an iterator.

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

Table 1.11. Parameters

+

Table 1.12. Parameters

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

- + Expression Semantics
@@ -105,14 +105,14 @@ a sequence at iterator position I.

- + Header
#include <boost/fusion/iterator/value_of.hpp>
 #include <boost/fusion/include/value_of.hpp>
 
- + Example
typedef vector<int,int&,const int&> vec;
diff --git a/doc/html/fusion/iterator/metafunctions/value_of_data.html b/doc/html/fusion/iterator/metafunctions/value_of_data.html
new file mode 100644
index 00000000..7b978b71
--- /dev/null
+++ b/doc/html/fusion/iterator/metafunctions/value_of_data.html
@@ -0,0 +1,140 @@
+
+
+
+value_of_data
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
Boost C++ LibrariesHomeLibrariesPeopleFAQMore
+
+
+PrevUpHomeNext +
+
+ +
+ + Description +
+

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

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

Table 1.21. Parameters

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

+ Parameter +

+
+

+ Requirement +

+
+

+ Description +

+
+

+ I +

+
+

+ Model of Associative + Iterator +

+
+

+ Operation's argument +

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

+ Return type: Any type +

+

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

+
+ + Header +
+
#include <boost/fusion/iterator/value_of_data.hpp>
+#include <boost/fusion/include/value_of_data.hpp>
+
+
+ + Example +
+
typedef map<pair<float,int> > vec;
+typedef result_of::begin<vec>::type first;
+
+BOOST_MPL_ASSERT((boost::is_same<result_of::value_of_data<first>::type, int>));
+
+
+ + + +
+
+
+PrevUpHomeNext +
+ + diff --git a/doc/html/fusion/iterator/operator.html b/doc/html/fusion/iterator/operator.html index 256ae230..8dc66e89 100644 --- a/doc/html/fusion/iterator/operator.html +++ b/doc/html/fusion/iterator/operator.html @@ -6,7 +6,7 @@ - + @@ -20,7 +20,7 @@
-PrevUpHomeNext +PrevUpHomeNext

@@ -50,7 +50,7 @@
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/iterator/operator/operator_equality.html b/doc/html/fusion/iterator/operator/operator_equality.html index 286fbb7b..debda0f3 100644 --- a/doc/html/fusion/iterator/operator/operator_equality.html +++ b/doc/html/fusion/iterator/operator/operator_equality.html @@ -28,14 +28,14 @@ ==

- + Description

Compares 2 iterators for equality.

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

Table 1.9. Parameters

+

Table 1.10. Parameters

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

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

- + Header
#include <boost/fusion/iterator/equal_to.hpp>
diff --git a/doc/html/fusion/iterator/operator/operator_inequality.html b/doc/html/fusion/iterator/operator/operator_inequality.html
index 3a4352de..9e156273 100644
--- a/doc/html/fusion/iterator/operator/operator_inequality.html
+++ b/doc/html/fusion/iterator/operator/operator_inequality.html
@@ -28,14 +28,14 @@
         !=
 
- + Description

Compares 2 iterators for inequality.

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

Table 1.10. Parameters

+

Table 1.11. Parameters

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

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

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

Dereferences an iterator.

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

Table 1.8. Parameters

+

Table 1.9. Parameters

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

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

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

- + Recursive Inlined Functions

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

- + Overloaded Functions

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

- + Tag Dispatching

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

- + Extensibility

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

- + Element Conversion

@@ -158,7 +158,7 @@

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

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

- + boost::ref

@@ -227,7 +227,7 @@



-

[10] +

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

- + Layers

@@ -66,7 +66,7 @@ against.

- + Directory

    @@ -187,7 +187,7 @@

- + Example

@@ -202,12 +202,12 @@

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



-

[4] +

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

diff --git a/doc/html/fusion/preface.html b/doc/html/fusion/preface.html index 4bb05e32..47d353ae 100644 --- a/doc/html/fusion/preface.html +++ b/doc/html/fusion/preface.html @@ -45,7 +45,7 @@

- + Description

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

- + Motivation

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

- + How to use this manual

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

-

Table 1.1. Icons

+

Table 1.1. Icons

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

- + Support

diff --git a/doc/html/fusion/quick_start.html b/doc/html/fusion/quick_start.html index fe8197ee..c10f5e91 100644 --- a/doc/html/fusion/quick_start.html +++ b/doc/html/fusion/quick_start.html @@ -34,7 +34,7 @@

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

#include <boost/fusion/sequence.hpp>
@@ -42,7 +42,7 @@
 

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

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

- + Print the vector as XML

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

- + Print only pointers

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

- + Associative tuples

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

- + Tip of the Iceberg

@@ -229,12 +229,12 @@



-

[2] +

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

-

[3] +

[3] Unless otherwise noted, components are in namespace boost::fusion. For the sake of simplicity, code in this quick start implies using directives for the fusion components we will be using. diff --git a/doc/html/fusion/sequence.html b/doc/html/fusion/sequence.html index f480f370..c267e16a 100644 --- a/doc/html/fusion/sequence.html +++ b/doc/html/fusion/sequence.html @@ -6,7 +6,7 @@ - + @@ -20,7 +20,7 @@


-PrevUpHomeNext +PrevUpHomeNext

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

- + Header

#include <boost/fusion/sequence.hpp>
@@ -78,7 +78,7 @@
 
 
-PrevUpHomeNext +PrevUpHomeNext
diff --git a/doc/html/fusion/sequence/concepts.html b/doc/html/fusion/sequence/concepts.html index 34996e39..8fb42718 100644 --- a/doc/html/fusion/sequence/concepts.html +++ b/doc/html/fusion/sequence/concepts.html @@ -40,7 +40,7 @@ Fusion Sequences are organized into a hierarchy of concepts.

- + Traversal

@@ -53,7 +53,7 @@ Sequence. These concepts pertain to sequence traversal.

- + Associativity

diff --git a/doc/html/fusion/sequence/concepts/associative_sequence.html b/doc/html/fusion/sequence/concepts/associative_sequence.html index e68b98de..8c234513 100644 --- a/doc/html/fusion/sequence/concepts/associative_sequence.html +++ b/doc/html/fusion/sequence/concepts/associative_sequence.html @@ -28,7 +28,7 @@ Sequence

- + Description

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

Notation

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

- + Expression Semantics
@@ -308,7 +303,7 @@
- + Models
    diff --git a/doc/html/fusion/sequence/concepts/bidirectional_sequence.html b/doc/html/fusion/sequence/concepts/bidirectional_sequence.html index 3036a63b..b80d73b5 100644 --- a/doc/html/fusion/sequence/concepts/bidirectional_sequence.html +++ b/doc/html/fusion/sequence/concepts/bidirectional_sequence.html @@ -28,7 +28,7 @@ Sequence
- + Description

@@ -37,7 +37,7 @@ Iterator.

- + Refinement of
@@ -66,7 +66,7 @@
- + Valid Expressions
@@ -198,7 +198,7 @@
- + Result Type Expressions
@@ -259,7 +259,7 @@
- + Expression Semantics
@@ -299,7 +299,7 @@
- + Models
    diff --git a/doc/html/fusion/sequence/concepts/forward_sequence.html b/doc/html/fusion/sequence/concepts/forward_sequence.html index 27204400..f0105472 100644 --- a/doc/html/fusion/sequence/concepts/forward_sequence.html +++ b/doc/html/fusion/sequence/concepts/forward_sequence.html @@ -28,7 +28,7 @@ Sequence
- + Description

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

- + Valid Expressions
@@ -235,7 +235,7 @@
- + Result Type Expressions
@@ -320,7 +320,7 @@
- + Expression Semantics
@@ -408,7 +408,7 @@
- + Invariants

@@ -434,7 +434,7 @@

- + Models
    diff --git a/doc/html/fusion/sequence/concepts/random_access_sequence.html b/doc/html/fusion/sequence/concepts/random_access_sequence.html index 93cc98a5..62850c60 100644 --- a/doc/html/fusion/sequence/concepts/random_access_sequence.html +++ b/doc/html/fusion/sequence/concepts/random_access_sequence.html @@ -28,7 +28,7 @@ Access Sequence
- + Description

@@ -38,7 +38,7 @@ sequence elements.

- + Refinement of
@@ -73,7 +73,7 @@
- + Valid Expressions
@@ -205,7 +205,7 @@
- + Result Type Expressions
@@ -291,7 +291,7 @@

- + Expression Semantics
@@ -331,7 +331,7 @@
- + Models
    diff --git a/doc/html/fusion/sequence/intrinsic.html b/doc/html/fusion/sequence/intrinsic.html index 8981b1e4..d9d8a3de 100644 --- a/doc/html/fusion/sequence/intrinsic.html +++ b/doc/html/fusion/sequence/intrinsic.html @@ -37,11 +37,11 @@ Intrinsic functions, unlike Algorithms, are not generic across the full Sequence repertoire. They need to be implemented for each Fusion Sequence - [5] + [5] .

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


    -

    [5] +

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

    diff --git a/doc/html/fusion/sequence/intrinsic/functions/at.html b/doc/html/fusion/sequence/intrinsic/functions/at.html index 1210fa84..5553ca55 100644 --- a/doc/html/fusion/sequence/intrinsic/functions/at.html +++ b/doc/html/fusion/sequence/intrinsic/functions/at.html @@ -27,14 +27,14 @@ at
- + Description

Returns the N-th element from the beginning of the sequence.

- + Synopsis
template <typename N, typename Sequence>
@@ -46,7 +46,7 @@
 at(Sequence const& seq);
 
- + Parameters
@@ -112,7 +112,7 @@
- + Expression Semantics
@@ -138,14 +138,14 @@
deref(advance<N>(begin(s)))
 
- + Header
#include <boost/fusion/sequence/intrinsic/at.hpp>
 #include <boost/fusion/include/at.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/at_c.html b/doc/html/fusion/sequence/intrinsic/functions/at_c.html
index 84770c41..21b9782d 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/at_c.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/at_c.html
@@ -27,14 +27,14 @@
 at_c
 
 
- + Description

Returns the N-th element from the beginning of the sequence.

- + Synopsis
template <int N, typename Sequence>
@@ -46,7 +46,7 @@
 at_c(Sequence const& seq);
 
- + Parameters
@@ -111,7 +111,7 @@
- + Expression Semantics
@@ -138,14 +138,14 @@
deref(advance<N>(begin(s)))
 
- + Header
#include <boost/fusion/sequence/intrinsic/at_c.hpp>
 #include <boost/fusion/include/at_c.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/at_key.html b/doc/html/fusion/sequence/intrinsic/functions/at_key.html
index 34ef15e7..dbe814da 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/at_key.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/at_key.html
@@ -27,14 +27,14 @@
 at_key
 
 
- + Description

Returns the element associated with a Key from the sequence.

- + Synopsis
template <typename Key, typename Sequence>
@@ -46,7 +46,7 @@
 at_key(Sequence const& seq);
 
- + Parameters
@@ -111,7 +111,7 @@
- + Expression Semantics
@@ -134,14 +134,14 @@ with Key.

- + Header
#include <boost/fusion/sequence/intrinsic/at_key.hpp>
 #include <boost/fusion/include/at_key.hpp>
 
- + Example
set<int, char, bool> s(1, 'x', true);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/back.html b/doc/html/fusion/sequence/intrinsic/functions/back.html
index d9987ae8..e39524d9 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/back.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/back.html
@@ -27,14 +27,14 @@
 back
 
 
- + Description

Returns the last element in the sequence.

- + Synopsis
template <typename Sequence>
@@ -46,7 +46,7 @@
 back(Sequence const& seq);
 
- + Parameters
@@ -92,7 +92,7 @@
- + Expression Semantics
@@ -115,14 +115,14 @@ in the sequence.

- + Header
#include <boost/fusion/sequence/intrinsic/back.hpp>
 #include <boost/fusion/include/back.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/begin.html b/doc/html/fusion/sequence/intrinsic/functions/begin.html
index 8081e9ac..6b1f3f30 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/begin.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/begin.html
@@ -27,14 +27,14 @@
 begin
 
 
- + Description

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

- + Synopsis
template <typename Sequence>
@@ -46,7 +46,7 @@
 begin(Sequence const& seq);
 
- + Parameters
@@ -92,37 +92,48 @@
- + Expression Semantics
begin(seq);
 

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

+

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

- + Header
#include <boost/fusion/sequence/intrinsic/begin.hpp>
 #include <boost/fusion/include/begin.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/empty.html b/doc/html/fusion/sequence/intrinsic/functions/empty.html
index f02d63dc..802caf6a 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/empty.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/empty.html
@@ -27,7 +27,7 @@
 empty
 
 
- + Description

@@ -36,7 +36,7 @@ the sequence is empty, else, evaluates to false.

- + Synopsis
template <typename Sequence>
@@ -44,7 +44,7 @@
 empty(Sequence const& seq);
 
- + Parameters
@@ -90,7 +90,7 @@
- + Expression Semantics
@@ -104,14 +104,14 @@ to false.

- + Header
#include <boost/fusion/sequence/intrinsic/empty.hpp>
 #include <boost/fusion/include/empty.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/end.html b/doc/html/fusion/sequence/intrinsic/functions/end.html
index 0d30dc68..fbb905e6 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/end.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/end.html
@@ -27,14 +27,14 @@
 end
 
 
- + Description

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

- + Synopsis
template <typename Sequence>
@@ -46,7 +46,7 @@
 end(Sequence const& seq);
 
- + Parameters
@@ -92,37 +92,48 @@
- + Expression Semantics
end(seq);
 

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

+

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

- + Header
#include <boost/fusion/sequence/intrinsic/end.hpp>
 #include <boost/fusion/include/end.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/front.html b/doc/html/fusion/sequence/intrinsic/functions/front.html
index 9fcf997b..e6f73b70 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/front.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/front.html
@@ -27,14 +27,14 @@
 front
 
 
- + Description

Returns the first element in the sequence.

- + Synopsis
template <typename Sequence>
@@ -46,7 +46,7 @@
 front(Sequence const& seq);
 
- + Parameters
@@ -92,7 +92,7 @@
- + Expression Semantics
@@ -115,14 +115,14 @@ in the sequence.

- + Header
#include <boost/fusion/sequence/intrinsic/front.hpp>
 #include <boost/fusion/include/front.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/has_key.html b/doc/html/fusion/sequence/intrinsic/functions/has_key.html
index 7d049caf..1037f55d 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/has_key.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/has_key.html
@@ -27,7 +27,7 @@
 has_key
 
 
- + Description

@@ -37,7 +37,7 @@ to false.

- + Synopsis
template <typename Key, typename Sequence>
@@ -45,7 +45,7 @@
 has_key(Sequence const& seq);
 
- + Parameters
@@ -110,7 +110,7 @@
- + Expression Semantics
@@ -124,14 +124,14 @@ associated with Key, else, evaluates to false.

- + Header
#include <boost/fusion/sequence/intrinsic/has_key.hpp>
 #include <boost/fusion/include/has_key.hpp>
 
- + Example
set<int, char, bool> s(1, 'x', true);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/size.html b/doc/html/fusion/sequence/intrinsic/functions/size.html
index de71118c..3a3732f0 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/size.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/size.html
@@ -27,7 +27,7 @@
 size
 
 
- + Description

@@ -35,7 +35,7 @@ that evaluates the number of elements in the sequence.

- + Synopsis
template <typename Sequence>
@@ -43,7 +43,7 @@
 size(Sequence const& seq);
 
- + Parameters
@@ -89,7 +89,7 @@
- + Expression Semantics
@@ -103,14 +103,14 @@ in the sequence.

- + Header
#include <boost/fusion/sequence/intrinsic/size.hpp>
 #include <boost/fusion/include/size.hpp>
 
- + Example
vector<int, int, int> v(1, 2, 3);
diff --git a/doc/html/fusion/sequence/intrinsic/functions/swap.html b/doc/html/fusion/sequence/intrinsic/functions/swap.html
index eed72510..6ed387ec 100644
--- a/doc/html/fusion/sequence/intrinsic/functions/swap.html
+++ b/doc/html/fusion/sequence/intrinsic/functions/swap.html
@@ -27,21 +27,21 @@
 swap
 
 
- + Description

Performs an element by element swap of the elements in 2 sequences.

- + Synopsis
template<typename Seq1, typename Seq2>
 void swap(Seq1& seq1, Seq2& seq2);
 
- + Parameters
@@ -87,7 +87,7 @@
- + Expression Semantics
@@ -106,7 +106,7 @@ /sequence/intrinsic/swap.hpp>

- + Example
vector<int, std::string> v1(1, "hello"), v2(2, "world");
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/at.html b/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
index ba65312d..f50592e5 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/at.html
@@ -27,16 +27,16 @@
 at
 
 
- + Description

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

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

Table 1.25. Parameters

+

Table 1.29. Parameters

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

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

-

- /sequence/intrinsic/at.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/at.hpp>
+#include <boost/fusion/include/at.hpp>
+
- + Example
typedef vector<int,float,char> vec;
@@ -138,7 +142,7 @@
 


-

[6] +

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

- + Description

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

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

Table 1.26. Parameters

+

Table 1.30. Parameters

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

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

-

- /sequence/intrinsic/at.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/at.hpp>
+#include <boost/fusion/include/at.hpp>
+
- + Example
typedef vector<int,float,char> vec;
@@ -137,7 +141,7 @@
 


-

[7] +

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

- + Description

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

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

Table 1.30. Parameters

+

Table 1.34. Parameters

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

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

-

- /sequence/intrinsic/at_key.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/at_key.hpp>
+#include <boost/fusion/include/at_key.hpp>
+
- + Example
typedef map<pair<int, char>, pair<char, char>, pair<double, char> > mymap;
@@ -139,7 +143,7 @@
 


-

[8] +

[8] result_of::at_key reflects the actual return type of the function at_key. _sequence_s typically return references to its elements via the at_key function. If you diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/back.html b/doc/html/fusion/sequence/intrinsic/metafunctions/back.html index 5f450323..d0b51999 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/back.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/back.html @@ -27,14 +27,14 @@ back

- + Description

Returns the result type of back.

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

Table 1.23. Parameters

+

Table 1.27. Parameters

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

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

-

- /sequence/intrinsic/back.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/back.hpp>
+#include <boost/fusion/include/back.hpp>
+
- + Example
typedef vector<int,char> vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html b/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html
index 5fdfaa34..b3de01de 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/begin.html
@@ -27,14 +27,14 @@
 begin
 
 
- + Description

Returns the result type of begin.

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

Table 1.19. Parameters

+

Table 1.23. Parameters

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

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

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

+

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

-

- /sequence/intrinsic/begin.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/begin.hpp>
+#include <boost/fusion/include/begin.hpp>
+
- + Example
typedef vector<int> vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html b/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html
index d127877c..a8a54dd9 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/empty.html
@@ -27,14 +27,14 @@
 empty
 
 
- + Description

Returns the result type of empty.

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

Table 1.21. Parameters

+

Table 1.25. Parameters

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

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

-

- /sequence/intrinsic/empty.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/empty.hpp>
+#include <boost/fusion/include/empty.hpp>
+
- + Example
typedef vector<> empty_vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/end.html b/doc/html/fusion/sequence/intrinsic/metafunctions/end.html
index 74905219..c87b7f0f 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/end.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/end.html
@@ -27,14 +27,14 @@
 end
 
 
- + Description

Returns the result type of end.

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

Table 1.20. Parameters

+

Table 1.24. Parameters

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

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

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

+

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

-

- /sequence/intrinsic/end.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/end.hpp>
+#include <boost/fusion/include/end.hpp>
+
- + Example
typedef vector<int> vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/front.html b/doc/html/fusion/sequence/intrinsic/metafunctions/front.html
index 93ad7782..c58512b1 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/front.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/front.html
@@ -27,14 +27,14 @@
 front
 
 
- + Description

Returns the result type of front.

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

Table 1.22. Parameters

+

Table 1.26. Parameters

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

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

-

- /sequence/intrinsic/front.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/front.hpp>
+#include <boost/fusion/include/front.hpp>
+
- + Example
typedef vector<int,char> vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/has_key.html b/doc/html/fusion/sequence/intrinsic/metafunctions/has_key.html
index 8691e4dd..424a3a30 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/has_key.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/has_key.html
@@ -27,14 +27,14 @@
 has_key
 
 
- + Description

Returns the result type of has_key.

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

Table 1.29. Parameters

+

Table 1.33. Parameters

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

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

-

- /sequence/intrinsic/has_key.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/has_key.hpp>
+#include <boost/fusion/include/has_key.hpp>
+
- + Example
typedef map<pair<int, char>, pair<char, char>, pair<double, char> > mymap;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/size.html b/doc/html/fusion/sequence/intrinsic/metafunctions/size.html
index b2edb7d4..2219819f 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/size.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/size.html
@@ -27,14 +27,14 @@
 size
 
 
- + Description

Returns the result type of size.

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

Table 1.24. Parameters

+

Table 1.28. Parameters

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

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

-

- /sequence/intrinsic/size.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/size.hpp>
+#include <boost/fusion/include/size.hpp>
+
- + Example
typedef vector<int,float,char> vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/swap.html b/doc/html/fusion/sequence/intrinsic/metafunctions/swap.html
index c8c14d9b..b61958b9 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/swap.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/swap.html
@@ -27,14 +27,14 @@
 swap
 
 
- + Description

Returns the return type of swap.

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

Table 1.32. Parameters

+

Table 1.36. Parameters

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

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

Semantics: Always returns void.

-

- /sequence/intrinsic/swap.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/swap.hpp>
+#include <boost/fusion/include/swap.hpp>
+
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html index 90a27030..8be851f4 100644 --- a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html +++ b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at.html @@ -27,14 +27,14 @@ value_at
- + Description

Returns the actual type at a given index from the Sequence.

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

Table 1.27. Parameters

+

Table 1.31. Parameters

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

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

-

- /sequence/intrinsic/value_at.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/value_at.hpp>
+#include <boost/fusion/include/value_at.hpp>
+
- + Example
typedef vector<int,float,char> vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_c.html b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_c.html
index 464df88b..fb23c905 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_c.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_c.html
@@ -27,14 +27,14 @@
 value_at_c
 
 
- + Description

Returns the actual type at a given index from the Sequence.

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

Table 1.28. Parameters

+

Table 1.32. Parameters

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

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

-

- /sequence/intrinsic/value_at.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/value_at.hpp>
+#include <boost/fusion/include/value_at.hpp>
+
- + Example
typedef vector<int,float,char> vec;
diff --git a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_key.html b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_key.html
index 116ded9f..e2afd3ba 100644
--- a/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_key.html
+++ b/doc/html/fusion/sequence/intrinsic/metafunctions/value_at_key.html
@@ -27,14 +27,14 @@
 value_at_key
 
 
- + Description

Returns the actual element type associated with a Key from the Sequence.

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

Table 1.31. Parameters

+

Table 1.35. Parameters

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

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

-

- /sequence/intrinsic/value_at_key.hpp> -

+
+ + Header +
+
#include <boost/fusion/sequence/intrinsic/value_at_key.hpp>
+#include <boost/fusion/include/value_at_key.hpp>
+
- + Example
typedef map<pair<int, char>, pair<char, char>, pair<double, char> > mymap;
diff --git a/doc/html/fusion/sequence/operator/comparison.html b/doc/html/fusion/sequence/operator/comparison.html
index 60b388fb..5b9e7ac2 100644
--- a/doc/html/fusion/sequence/operator/comparison.html
+++ b/doc/html/fusion/sequence/operator/comparison.html
@@ -49,7 +49,7 @@
           only until the result is clear.
         

- + Header
#include <boost/fusion/sequence/comparison.hpp>
diff --git a/doc/html/fusion/sequence/operator/comparison/equal.html b/doc/html/fusion/sequence/operator/comparison/equal.html
index 252e84e3..23f65285 100644
--- a/doc/html/fusion/sequence/operator/comparison/equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/equal.html
@@ -27,14 +27,14 @@
 equal
 
 
- + Description

Compare two sequences for equality.

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

- + Header
#include <boost/fusion/sequence/comparison/equal_to.hpp>
 #include <boost/fusion/include/equal_to.hpp>
 
- + Example
vector<int, char> v1(5, 'a');
diff --git a/doc/html/fusion/sequence/operator/comparison/greater_than.html b/doc/html/fusion/sequence/operator/comparison/greater_than.html
index 839ff8a7..2fb8d36f 100644
--- a/doc/html/fusion/sequence/operator/comparison/greater_than.html
+++ b/doc/html/fusion/sequence/operator/comparison/greater_than.html
@@ -31,7 +31,7 @@
             Lexicographically compare two sequences.
           

- + Synopsis
template <typename Seq1, typename Seq2>
@@ -39,7 +39,7 @@
 operator>(Seq1 const& a, Seq2 const& b);
 
- + Parameters
@@ -85,7 +85,7 @@
- + Expression Semantics
@@ -112,14 +112,14 @@ Semantics: Returns b < a.

- + Header
#include <boost/fusion/sequence/comparison/less_equal.hpp>
 #include <boost/fusion/include/less_equal.hpp>
 
- + Example
vector<int, float> v1(4, 3.3f);
diff --git a/doc/html/fusion/sequence/operator/comparison/greater_than_equal.html b/doc/html/fusion/sequence/operator/comparison/greater_than_equal.html
index 2d86039a..7b238302 100644
--- a/doc/html/fusion/sequence/operator/comparison/greater_than_equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/greater_than_equal.html
@@ -31,7 +31,7 @@
             Lexicographically compare two sequences.
           

- + Synopsis
template <typename Seq1, typename Seq2>
@@ -39,7 +39,7 @@
 operator>=(Seq1 const& a, Seq2 const& b);
 
- + Parameters
@@ -85,7 +85,7 @@
- + Expression Semantics
@@ -112,14 +112,14 @@ Semantics: Returns !(a < b).

- + Header
#include <boost/fusion/sequence/comparison/greater_equal.hpp>
 #include <boost/fusion/include/greater_equal.hpp>
 
- + Example
vector<int, float> v1(4, 3.3f);
diff --git a/doc/html/fusion/sequence/operator/comparison/less_than.html b/doc/html/fusion/sequence/operator/comparison/less_than.html
index c5553787..b08a00b8 100644
--- a/doc/html/fusion/sequence/operator/comparison/less_than.html
+++ b/doc/html/fusion/sequence/operator/comparison/less_than.html
@@ -31,7 +31,7 @@
             Lexicographically compare two sequences.
           

- + Synopsis
template <typename Seq1, typename Seq2>
@@ -39,7 +39,7 @@
 operator<(Seq1 const& a, Seq2 const& b);
 
- + Parameters
@@ -85,7 +85,7 @@
- + Expression Semantics
@@ -114,14 +114,14 @@ and b.

- + Header
#include <boost/fusion/sequence/comparison/less.hpp>
 #include <boost/fusion/include/less.hpp>
 
- + Example
vector<int, float> v1(4, 3.3f);
diff --git a/doc/html/fusion/sequence/operator/comparison/less_than_equal.html b/doc/html/fusion/sequence/operator/comparison/less_than_equal.html
index 92bbb874..5be7d8d5 100644
--- a/doc/html/fusion/sequence/operator/comparison/less_than_equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/less_than_equal.html
@@ -31,7 +31,7 @@
             Lexicographically compare two sequences.
           

- + Synopsis
template <typename Seq1, typename Seq2>
@@ -39,7 +39,7 @@
 operator<=(Seq1 const& a, Seq2 const& b);
 
- + Parameters
@@ -85,7 +85,7 @@
- + Expression Semantics
@@ -112,14 +112,14 @@ Semantics: Returns !(b < a).

- + Header
#include <boost/fusion/sequence/comparison/less_equal.hpp>
 #include <boost/fusion/include/less_equal.hpp>
 
- + Example
vector<int, float> v1(4, 3.3f);
diff --git a/doc/html/fusion/sequence/operator/comparison/not_equal.html b/doc/html/fusion/sequence/operator/comparison/not_equal.html
index 7e967361..b87c8919 100644
--- a/doc/html/fusion/sequence/operator/comparison/not_equal.html
+++ b/doc/html/fusion/sequence/operator/comparison/not_equal.html
@@ -31,7 +31,7 @@
             Compare two sequences for inequality.
           

- + Synopsis
template <typename Seq1, typename Seq2>
@@ -39,7 +39,7 @@
 operator!=(Seq1 const& a, Seq2 const& b);
 
- + Parameters
@@ -85,7 +85,7 @@
- + Expression Semantics
@@ -115,14 +115,14 @@ Returns !(a == b).

- + Header
#include <boost/fusion/sequence/comparison/not_equal_to.hpp>
 #include <boost/fusion/include/not_equal_to.hpp>
 
- + Example
vector<int, char> v3(5, 'b');
diff --git a/doc/html/fusion/sequence/operator/i_o.html b/doc/html/fusion/sequence/operator/i_o.html
index a01c3f81..4d04bd68 100644
--- a/doc/html/fusion/sequence/operator/i_o.html
+++ b/doc/html/fusion/sequence/operator/i_o.html
@@ -113,7 +113,7 @@
           representation may not be unambiguously parseable.
         

- + Header
#include <boost/fusion/sequence/io.hpp>
diff --git a/doc/html/fusion/sequence/operator/i_o/in.html b/doc/html/fusion/sequence/operator/i_o/in.html
index 1a001d74..1022a083 100644
--- a/doc/html/fusion/sequence/operator/i_o/in.html
+++ b/doc/html/fusion/sequence/operator/i_o/in.html
@@ -27,7 +27,7 @@
 in
 
 
- + Description

@@ -35,7 +35,7 @@ stream.

- + Synopsis
template <typename IStream, typename Sequence>
@@ -43,7 +43,7 @@
 operator>>(IStream& is, Sequence& seq);
 
- + Parameters
@@ -107,7 +107,7 @@
- + Expression Semantics
@@ -122,14 +122,14 @@ e.

- + Header
#include <boost/fusion/sequence/io/in.hpp>
 #include <boost/fusion/include/in.hpp>
 
- + Example
vector<int, std::string, char> v;
diff --git a/doc/html/fusion/sequence/operator/i_o/out.html b/doc/html/fusion/sequence/operator/i_o/out.html
index 3ea40a01..9ab8f979 100644
--- a/doc/html/fusion/sequence/operator/i_o/out.html
+++ b/doc/html/fusion/sequence/operator/i_o/out.html
@@ -27,7 +27,7 @@
 out
 
 
- + Description

@@ -35,7 +35,7 @@ stream.

- + Synopsis
template <typename OStream, typename Sequence>
@@ -43,7 +43,7 @@
 operator<<(OStream& os, Sequence& seq);
 
- + Parameters
@@ -107,7 +107,7 @@
- + Expression Semantics
@@ -122,14 +122,14 @@ e.

- + Header
#include <boost/fusion/sequence/io/out.hpp>
 #include <boost/fusion/include/out.hpp>
 
- + Example
std::cout << make_vector(123, "Hello", 'x') << std::endl;
diff --git a/doc/html/fusion/support/category_of.html b/doc/html/fusion/support/category_of.html
index cc5b7423..d5ff5268 100644
--- a/doc/html/fusion/support/category_of.html
+++ b/doc/html/fusion/support/category_of.html
@@ -27,7 +27,7 @@
 category_of
 
 
- + Description

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

- + Synopsis
namespace traits
@@ -50,7 +50,7 @@
 }
 
- + Parameters
@@ -95,7 +95,7 @@
- + Expression Semantics
@@ -105,27 +105,7 @@ Return type:

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

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

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

namespace boost { namespace fusion
 {
@@ -157,14 +137,14 @@
         of a particular Sequence or Iterator.
       

- + Header
#include <boost/fusion/support/category_of.hpp>
 #include <boost/fusion/include/category_of.hpp>
 
- + Example
using boost::is_base_of;
diff --git a/doc/html/fusion/support/deduce.html b/doc/html/fusion/support/deduce.html
index 9bf91bce..05a7dd61 100644
--- a/doc/html/fusion/support/deduce.html
+++ b/doc/html/fusion/support/deduce.html
@@ -27,7 +27,7 @@
 deduce
 
 
- + Description

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

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

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

- + Header
#include <boost/fusion/support/deduce_sequence.hpp>
 #include <boost/fusion/include/deduce_sequence.hpp>
 
- + Synopsis
namespace traits
@@ -58,7 +58,7 @@
 }
 
- + Example
template <class Seq>
@@ -80,7 +80,7 @@
 }
 
- + See also
diff --git a/doc/html/fusion/support/is_sequence.html b/doc/html/fusion/support/is_sequence.html index 2b957eed..4db68079 100644 --- a/doc/html/fusion/support/is_sequence.html +++ b/doc/html/fusion/support/is_sequence.html @@ -27,7 +27,7 @@ is_sequence
- + Description

@@ -38,7 +38,7 @@ conforming sequences.

- + Synopsis
namespace traits
@@ -51,7 +51,7 @@
 }
 
- + Parameters
@@ -96,7 +96,7 @@
- + Expression Semantics
@@ -113,14 +113,14 @@ otherwise.

- + Header
#include <boost/fusion/support/is_sequence.hpp>
 #include <boost/fusion/include/is_sequence.hpp>
 
- + Example
BOOST_MPL_ASSERT_NOT(( traits::is_sequence< std::vector<int> > ));
diff --git a/doc/html/fusion/support/is_view.html b/doc/html/fusion/support/is_view.html
index 1358f40e..a561ed13 100644
--- a/doc/html/fusion/support/is_view.html
+++ b/doc/html/fusion/support/is_view.html
@@ -27,7 +27,7 @@
 is_view
 
 
- + Description

@@ -41,7 +41,7 @@ specialized to accomodate clients providing Fusion conforming views.

- + Synopsis
namespace traits
@@ -54,7 +54,7 @@
 }
 
- + Parameters
@@ -99,7 +99,7 @@
- + Expression Semantics
typedef traits::is_view<T>::type c;
@@ -115,14 +115,14 @@
         otherwise.
       

- + Header
#include <boost/fusion/support/is_view.hpp>
 #include <boost/fusion/include/is_view.hpp>
 
- + Example
BOOST_MPL_ASSERT_NOT(( traits::is_view<std::vector<int> > ));
diff --git a/doc/html/fusion/support/pair.html b/doc/html/fusion/support/pair.html
index b5d71309..bd08257a 100644
--- a/doc/html/fusion/support/pair.html
+++ b/doc/html/fusion/support/pair.html
@@ -27,18 +27,17 @@
 pair
 
 
- + Description

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

- + Synopsis
template <typename First, typename Second>
@@ -61,7 +60,7 @@
 make_pair(Second const &);
 
- + Template parameters
@@ -140,7 +139,7 @@
- + Expression Semantics
@@ -320,14 +319,14 @@
- + Header
#include <boost/fusion/support/pair.hpp>
 #include <boost/fusion/include/pair.hpp>
 
- + Example
pair<int, char> p('X');
diff --git a/doc/html/fusion/support/tag_of.html b/doc/html/fusion/support/tag_of.html
index b4e10250..77925096 100644
--- a/doc/html/fusion/support/tag_of.html
+++ b/doc/html/fusion/support/tag_of.html
@@ -27,7 +27,7 @@
 tag_of
 
 
- + Description

@@ -41,7 +41,7 @@ conforming sequences.

- + Synopsis
namespace traits
@@ -54,7 +54,7 @@
 }
 
- + Parameters
@@ -99,7 +99,7 @@
- + Expression Semantics
typedef traits::tag_of<T>::type tag;
@@ -112,14 +112,14 @@
         with T.
       

- + Header
#include <boost/fusion/support/tag_of.hpp>
 #include <boost/fusion/include/tag_of.hpp>
 
- + Example
typedef traits::tag_of<list<> >::type tag1;
diff --git a/doc/html/fusion/tuple/class_template_tuple.html b/doc/html/fusion/tuple/class_template_tuple.html
index 397cfb79..1a069594 100644
--- a/doc/html/fusion/tuple/class_template_tuple.html
+++ b/doc/html/fusion/tuple/class_template_tuple.html
@@ -48,7 +48,7 @@
         in future releases of fusion.
       

- + Synopsis
template<
diff --git a/doc/html/fusion/tuple/class_template_tuple/construction.html b/doc/html/fusion/tuple/class_template_tuple/construction.html
index 560adb59..45336953 100644
--- a/doc/html/fusion/tuple/class_template_tuple/construction.html
+++ b/doc/html/fusion/tuple/class_template_tuple/construction.html
@@ -27,7 +27,7 @@
 Construction
 
 
- + Description

@@ -38,7 +38,7 @@ in this section.

- + Specification
diff --git a/doc/html/fusion/tuple/class_template_tuple/element_access.html b/doc/html/fusion/tuple/class_template_tuple/element_access.html index b6c70ba6..987c0611 100644 --- a/doc/html/fusion/tuple/class_template_tuple/element_access.html +++ b/doc/html/fusion/tuple/class_template_tuple/element_access.html @@ -28,7 +28,7 @@ access
- + Description

@@ -37,7 +37,7 @@ function to provide access to it's elements by zero based numeric index.

- + Specification
template<int I, T>
diff --git a/doc/html/fusion/tuple/class_template_tuple/relational_operators.html b/doc/html/fusion/tuple/class_template_tuple/relational_operators.html
index 1b7ea11c..7d2470ed 100644
--- a/doc/html/fusion/tuple/class_template_tuple/relational_operators.html
+++ b/doc/html/fusion/tuple/class_template_tuple/relational_operators.html
@@ -28,7 +28,7 @@
         operators
 
 
- + Description

@@ -36,7 +36,7 @@ Tuple provides the standard boolean relational operators.

- + Specification
diff --git a/doc/html/fusion/tuple/class_template_tuple/tuple_creation_functions.html b/doc/html/fusion/tuple/class_template_tuple/tuple_creation_functions.html index 16d2e2de..f9fc8731 100644 --- a/doc/html/fusion/tuple/class_template_tuple/tuple_creation_functions.html +++ b/doc/html/fusion/tuple/class_template_tuple/tuple_creation_functions.html @@ -28,7 +28,7 @@ creation functions
- + Description

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

- + Specification
template<typename T1, typename T2, ..., typename TN>
diff --git a/doc/html/fusion/tuple/class_template_tuple/tuple_helper_classes.html b/doc/html/fusion/tuple/class_template_tuple/tuple_helper_classes.html
index e3387c41..08f7f9fc 100644
--- a/doc/html/fusion/tuple/class_template_tuple/tuple_helper_classes.html
+++ b/doc/html/fusion/tuple/class_template_tuple/tuple_helper_classes.html
@@ -28,7 +28,7 @@
         helper classes
 
 
- + Description

@@ -37,7 +37,7 @@ tuple size, and the element types.

- + Specification
tuple_size<T>::value
diff --git a/doc/html/fusion/tuple/pairs.html b/doc/html/fusion/tuple/pairs.html
index a7688590..5d4507a1 100644
--- a/doc/html/fusion/tuple/pairs.html
+++ b/doc/html/fusion/tuple/pairs.html
@@ -27,7 +27,7 @@
 Pairs
 
 
- + Description

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

- + Specification
tuple_size<std::pair<T1, T2> >::value
diff --git a/doc/html/fusion/view.html b/doc/html/fusion/view.html
index 31d107f9..9826ab6c 100644
--- a/doc/html/fusion/view.html
+++ b/doc/html/fusion/view.html
@@ -46,7 +46,7 @@
       to copy and be passed around by value.
     

- + Header

#include <boost/fusion/view.hpp>
diff --git a/doc/html/fusion/view/filter_view.html b/doc/html/fusion/view/filter_view.html
index 4263b220..e4651e16 100644
--- a/doc/html/fusion/view/filter_view.html
+++ b/doc/html/fusion/view/filter_view.html
@@ -27,7 +27,7 @@
 filter_view
 
 
- + Description

@@ -38,21 +38,21 @@ only those elements for which its predicate evaluates to mpl::true_.

- + Header
#include <boost/fusion/view/filter_view.hpp>
 #include <boost/fusion/include/filter_view.hpp>
 
- + Synopsis
template <typename Sequence, typename Pred>
 struct filter_view;
 
- + Template parameters
@@ -115,10 +115,18 @@
- + Model of
- +

Notation

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

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

@@ -209,7 +216,7 @@
- + Example
using boost::mpl::_;
diff --git a/doc/html/fusion/view/iterator_range.html b/doc/html/fusion/view/iterator_range.html
index 1aaba203..f35ed5d5 100644
--- a/doc/html/fusion/view/iterator_range.html
+++ b/doc/html/fusion/view/iterator_range.html
@@ -27,7 +27,7 @@
 iterator_range
 
 
- + Description

@@ -35,21 +35,21 @@ sub-range of its underlying sequence delimited by a pair of iterators.

- + Header
#include <boost/fusion/view/iterator_range.hpp>
 #include <boost/fusion/include/iterator_range.hpp>
 
- + Synopsis
template <typename First, typename Last>
 struct iterator_range;
 
- + Template parameters
@@ -111,17 +111,26 @@
- + Model of
-

Notation

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

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

@@ -219,7 +227,7 @@
- + Example
char const* s = "Ruby";
diff --git a/doc/html/fusion/view/joint_view.html b/doc/html/fusion/view/joint_view.html
index 9f425894..7a75cb6a 100644
--- a/doc/html/fusion/view/joint_view.html
+++ b/doc/html/fusion/view/joint_view.html
@@ -27,7 +27,7 @@
 joint_view
 
 
- + Description

@@ -35,21 +35,21 @@ which is a concatenation of two sequences.

- + Header
#include <boost/fusion/view/joint_view.hpp>
 #include <boost/fusion/include/joint_view.hpp>
 
- + Synopsis
template <typename Sequence1, typename Sequence2>
 struct joint_view;
 
- + Template parameters
@@ -113,10 +113,19 @@
- + Model of
- +

Notation

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

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

@@ -212,7 +220,7 @@
- + Example
vector<int, char> v1(3, 'x');
diff --git a/doc/html/fusion/view/nview.html b/doc/html/fusion/view/nview.html
index db4678fe..91b29bad 100644
--- a/doc/html/fusion/view/nview.html
+++ b/doc/html/fusion/view/nview.html
@@ -27,7 +27,7 @@
 nview
 
 
- + Description

@@ -38,14 +38,14 @@ and a list of indicies specifying the elements to iterate over.

- + Header
#include <boost/fusion/view/nview.hpp>
 #include <boost/fusion/include/nview.hpp>
 
- + Synopsis
template <typename Sequence, typename Indicies>
@@ -56,7 +56,7 @@
 as_nview(Sequence& s);
 
- + Template parameters
@@ -137,7 +137,7 @@
- + Model of
  • @@ -164,7 +164,7 @@
- + Expression Semantics

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

- + Example
typedef vector<int, char, double> vec;
diff --git a/doc/html/fusion/view/reverse_view.html b/doc/html/fusion/view/reverse_view.html
index 8d1c4ada..23398390 100644
--- a/doc/html/fusion/view/reverse_view.html
+++ b/doc/html/fusion/view/reverse_view.html
@@ -32,21 +32,21 @@
         element will be its first.
       

- + Header
#include <boost/fusion/view/reverse_view.hpp>
 #include <boost/fusion/include/reverse_view.hpp>
 
- + Synopsis
template <typename Sequence>
 struct reverse_view;
 
- + Template parameters
@@ -91,11 +91,12 @@
- + Model of
- +

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

Notation

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

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

@@ -187,7 +187,7 @@
- + Example
typedef vector<int, short, double> vector_type;
diff --git a/doc/html/fusion/view/single_view.html b/doc/html/fusion/view/single_view.html
index aaf1858f..fa4f8e27 100644
--- a/doc/html/fusion/view/single_view.html
+++ b/doc/html/fusion/view/single_view.html
@@ -31,21 +31,21 @@
         a value as a single element sequence.
       

- + Header
#include <boost/fusion/view/single_view.hpp>
 #include <boost/fusion/include/single_view.hpp>
 
- + Synopsis
template <typename T>
 struct single_view;
 
- + Template parameters
@@ -89,7 +89,7 @@
- + Model of
@@ -112,7 +112,7 @@
- + Expression Semantics

@@ -183,7 +183,7 @@

- + Example
single_view<int> view(3);
diff --git a/doc/html/fusion/view/transform_view.html b/doc/html/fusion/view/transform_view.html
index f3b5d718..fb0a12e0 100644
--- a/doc/html/fusion/view/transform_view.html
+++ b/doc/html/fusion/view/transform_view.html
@@ -36,14 +36,14 @@
         Traversal Concept) of its underlying sequence or sequences.
       

- + Header
#include <boost/fusion/view/transform_view.hpp>
 #include <boost/fusion/include/transform_view.hpp>
 
- + Synopsis

@@ -59,7 +59,7 @@ struct transform_view;

- + Template parameters
@@ -178,7 +178,7 @@
- + Model of
  • @@ -234,7 +234,7 @@
- + Expression Semantics
@@ -326,7 +326,7 @@
- + Example
struct square
diff --git a/doc/html/fusion/view/zip_view.html b/doc/html/fusion/view/zip_view.html
index 96f4cc62..3919f6e8 100644
--- a/doc/html/fusion/view/zip_view.html
+++ b/doc/html/fusion/view/zip_view.html
@@ -27,7 +27,7 @@
 zip_view
 
 
- + Description

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

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

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

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

+

Distributed under the Boost Software License, Version 1.0. (See accompanying file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt)

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

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

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


diff --git a/doc/iterator.qbk b/doc/iterator.qbk index b057513c..5a706c5a 100644 --- a/doc/iterator.qbk +++ b/doc/iterator.qbk @@ -20,7 +20,9 @@ provide access to data within an underlying __sequence__. Fusion iterators are divided into different traversal categories. __forward_iterator__ is the most basic concept. __bidirectional_iterator__ is a refinement of __forward_iterator__. __random_access_iterator__ is a -refinement of __bidirectional_iterator__. +refinement of __bidirectional_iterator__. __associative_iterator__ is a +refinement of __forward_iterator__, __bidirectional_iterator__ or +__random_access_iterator__. [section Forward Iterator] @@ -210,6 +212,47 @@ the following expressions must be valid: [endsect] +[section Associative Iterator] +[heading Description] +An Associative Iterator provides additional semantics to obtain the properties +of the element of an associative forward, bidirectional or random access sequence. + +[variablelist Notation + [[`i`] [Associative Iterator]] + [[`I`] [Associative Iterator type]] +] + +[heading Refinement of] +__forward_iterator__, __bidirectional_iterator__ or __random_access_iterator__ + +[heading Expression requirements] +In addition to the requirements defined in __forward_iterator__, +__bidirectional_iterator__ or __random_access_iterator__ the following +expressions must be valid: + +[table + [[Expression] [Return type] [Runtime Complexity]] + [[`__deref_data__(i)`][`__result_of_deref_data__::type`][Constant]] +] + +[heading Meta Expressions] +[table + [[Expression] [Compile Time Complexity]] + [[`__result_of_key_of__::type`][Amortized constant time]] + [[`__result_of_value_of_data__::type`][Amortized constant time]] + [[`__result_of_deref_data__::type`][Amortized constant time]] +] + +[heading Models] +* __map__ iterator +* __set__ iterator +* __filter_view__ iterator (where adapted sequence is an __associative_sequence__ and a __forward_sequence__) +* __iterator_range__ iterator (where adapted iterators are __associative_iterator__\ s) +* __joint_view__ iterator (where adapted sequences are __associative_sequence__\ s and __forward_sequence__\ s) +* __reverse_view__ iterator (where adapted sequence is an __associative_sequence__ and a __bidirectional_sequence__) + +[endsect] + [endsect] [section Functions] @@ -437,6 +480,43 @@ Moves an iterator by a specified distance. [endsect] +[section deref_data] + +[heading Description] +Deferences the data property associated with the element referenced by an associative iterator. + +[heading Synopsis] + template< + typename I + > + typename __result_of_deref_data__::type deref(I const& i); + +[table Parameters + [[Parameter] [Requirement] [Description]] + [[`i`] [Model of __associative_iterator__] [Operation's argument]] +] + +[heading Expression Semantics] + __deref_data__(i); + +[*Return type]: `__result_of_deref_data__::type` + +[*Semantics]: Dereferences the data property associated with the element referenced by an associative iterator `i`. + +[heading Header] + #include + #include + +[heading Example] + typedef __map__<__pair__ > map; + + int i(0); + map m(1.0f,i); + assert(__deref_data__(__begin__(m)) == 0); + assert(&(__deref_data__(__begin__(m))) == &i); + +[endsect] + [endsect] [section Operator] @@ -876,6 +956,122 @@ Moves an iterator by a specified distance. [endsect] +[section key_of] + +[heading Description] + +Returns the key type associated with the element referenced by an associative iterator. + +[heading Synopsis] + template< + typename I + > + struct key_of + { + typedef __unspecified__ type; + }; + +[table Parameters + [[Parameter] [Requirement] [Description]] + [[`I`] [Model of __associative_iterator__] [Operation's argument]] +] + +[heading Expression Semantics] + __result_of_key_of__::type + +[*Return type]: Any type + +[*Semantics]: Returns the key type associated with the element referenced by an associative iterator `I`. + +[heading Header] + #include + #include + +[heading Example] + typedef __map__<__pair__ > vec; + typedef __result_of_begin__::type first; + + BOOST_MPL_ASSERT((boost::is_same<__result_of_key_of__::type, float>)); + +[endsect] + +[section value_of_data] + +[heading Description] + +Returns the type of the data property associated with the element referenced by an associative iterator references. + +[heading Synopsis] + template< + typename I + > + struct value_of_data + { + typedef __unspecified__ type; + }; + +[table Parameters + [[Parameter] [Requirement] [Description]] + [[`I`] [Model of __associative_iterator__] [Operation's argument]] +] + +[heading Expression Semantics] + __result_of_value_of_data__::type + +[*Return type]: Any type + +[*Semantics]: Returns the type of the data property associated with the element referenced by an associative iterator `I`. + +[heading Header] + #include + #include + +[heading Example] + typedef __map__<__pair__ > vec; + typedef __result_of_begin__::type first; + + BOOST_MPL_ASSERT((boost::is_same<__result_of_value_of_data__::type, int>)); + +[endsect] + +[section deref_data] + +[heading Description] +Returns the type that will be returned by dereferencing the data property referenced by an associative iterator. + +[heading Synposis] + template< + typename I + > + struct deref_data + { + typedef __unspecified__ type; + }; + +[table Parameters + [[Parameter] [Requirement] [Description]] + [[`I`] [Model of __associative_iterator__] [Operation's argument]] +] + +[heading Expression Semantics] + __result_of_deref_data__::type + +[*Return type]: Any type + +[*Semantics]: Returns the result of dereferencing the data property referenced by an associative iterator of type `I`. + +[heading Header] + #include + #include + +[heading Example] + typedef __map__<__pair__ > map; + typedef __result_of_begin__::type first; + + BOOST_MPL_ASSERT((boost::is_same<__result_of_deref_data__::type, int&>)); + +[endsect] + [endsect] [endsect] diff --git a/doc/sequence.qbk b/doc/sequence.qbk index 18d65191..495039b5 100644 --- a/doc/sequence.qbk +++ b/doc/sequence.qbk @@ -277,13 +277,7 @@ are not defined in __bidirectional_sequence__. An Associative Sequence allows efficient retrieval of elements based on keys. Like associative sequences in __mpl__, and unlike associative containers in __stl__, Fusion associative sequences have no implied ordering relation. -Instead, type identity is used to impose an equivalence relation on keys, and -the order in which sequence elements are traversed during iteration is left -unspecified. In addition, unlike __stl__, Associative Sequences have mutable -iterators. This is due to the fact that there is no associated ordering relation -and the runtime value of the keys themselves do not have any effect on the -associativity of the sequence. - +Instead, type identity is used to impose an equivalence relation on keys. [variablelist Notation [[`s`] [An Associative Sequence]] @@ -388,9 +382,12 @@ Returns an iterator pointing to the first element in the sequence. begin(seq); -[*Return type]: __forward_iterator__ if `seq` is a __forward_sequence__ +[*Return type]: + +* A model of __forward_iterator__ if `seq` is a __forward_sequence__ else, __bidirectional_iterator__ if `seq` is a __bidirectional_sequence__ else, __random_access_iterator__ if `seq` is a __random_access_sequence__. +* A model of __associative_iterator__ if `seq` is an __associative_sequence__. [*Semantics]: Returns an iterator pointing to the first element in the sequence. @@ -433,9 +430,12 @@ Returns an iterator pointing to one element past the end of the sequence. end(seq); -[*Return type]: __forward_iterator__ if `seq` is a __forward_sequence__ +[*Return type]: + +* A model of __forward_iterator__ if `seq` is a __forward_sequence__ else, __bidirectional_iterator__ if `seq` is a __bidirectional_sequence__ else, __random_access_iterator__ if `seq` is a __random_access_sequence__. +* A model of __associative_iterator__ if `seq` is an __associative_sequence__. [*Semantics]: Returns an iterator pointing to one element past the end of the sequence. @@ -888,11 +888,19 @@ Returns the result type of __begin__. [heading Expression Semantics] result_of::begin::type -[*Return type]: An iterator modelling the same traversal concept as `Seq`. +[*Return type]: + +* A model of __forward_iterator__ if `seq` is a __forward_sequence__ +else, __bidirectional_iterator__ if `seq` is a __bidirectional_sequence__ +else, __random_access_iterator__ if `seq` is a __random_access_sequence__. +* A model of __associative_iterator__ if `seq` is an __associative_sequence__. [*Semantics]: Returns the type of an iterator to the first element of `Seq`. -/sequence/intrinsic/begin.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -921,11 +929,19 @@ Returns the result type of __end__. [heading Expression Semantics] result_of::end::type -[*Return type]: A model of the same traversal concept as `Seq`. +[*Return type]: + +* A model of __forward_iterator__ if `seq` is a __forward_sequence__ +else, __bidirectional_iterator__ if `seq` is a __bidirectional_sequence__ +else, __random_access_iterator__ if `seq` is a __random_access_sequence__. +* A model of __associative_iterator__ if `seq` is an __associative_sequence__. [*Semantics]: Returns the type of an iterator one past the end of `Seq`. -/sequence/intrinsic/end.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -958,7 +974,10 @@ Returns the result type of __empty__. [*Semantics]: Returns `mpl::true_` if `Seq` has zero elements, `mpl::false_` otherwise. -/sequence/intrinsic/empty.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__<> empty_vec; @@ -993,7 +1012,10 @@ Returns the result type of __front__. [*Semantics]: The type returned by dereferencing an iterator to the first element in `Seq`. Equivalent to `__result_of_deref__<__result_of_begin__::type>::type`. -/sequence/intrinsic/front.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -1025,7 +1047,10 @@ Returns the result type of __back__. [*Semantics]: The type returned by dereferencing an iterator to the last element in the sequence. Equivalent to `__result_of_deref__<__result_of_prior__<__result_of_end__::type>::type>::type`. -/sequence/intrinsic/back.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -1057,7 +1082,10 @@ Returns the result type of __size__. [*Semantics]: Returns the number of elements in `Seq`. -/sequence/intrinsic/size.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -1097,7 +1125,10 @@ the actual element type, use __result_of_value_at__]. [*Semantics]: Returns the result type of using __at__ to access the `N`th element of `Seq`. -/sequence/intrinsic/at.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -1136,7 +1167,10 @@ get the actual element type, use __result_of_value_at_c__]. [*Semantics]: Returns the result type of using __at_c__ to access the `M`th element of `Seq`. -/sequence/intrinsic/at.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -1172,7 +1206,10 @@ Returns the actual type at a given index from the __sequence__. [*Semantics]: Returns the actual type at the `N`th element of `Seq`. -/sequence/intrinsic/value_at.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -1208,7 +1245,10 @@ Returns the actual type at a given index from the __sequence__. [*Semantics]: Returns the actual type at the `M`th element of `Seq`. -/sequence/intrinsic/value_at.hpp> +[heading Header] + + #include + #include [heading Example] typedef __vector__ vec; @@ -1243,7 +1283,10 @@ Returns the result type of __has_key__. [*Semantics]: Returns `mpl::true_` if `Seq` contains an element with key type `Key`, returns `mpl::false_` otherwise. -/sequence/intrinsic/has_key.hpp> +[heading Header] + + #include + #include [heading Example] typedef __map__<__pair__, __pair__, __pair__ > mymap; @@ -1283,7 +1326,10 @@ you want to get the actual element type, use __result_of_value_at_key__]. [*Semantics]: Returns the result of using __at_key__ to access the element with key type `Key` in `Seq`. -/sequence/intrinsic/at_key.hpp> +[heading Header] + + #include + #include [heading Example] typedef __map__<__pair__, __pair__, __pair__ > mymap; @@ -1319,8 +1365,11 @@ Returns the actual element type associated with a Key from the __sequence__. [*Semantics]: Returns the actual element type associated with key type `Key` in `Seq`. -/sequence/intrinsic/value_at_key.hpp> +[heading Header] + #include + #include + [heading Example] typedef __map__<__pair__, __pair__, __pair__ > mymap; BOOST_MPL_ASSERT((boost::is_same<__result_of_at_key__::type, char>)); @@ -1351,7 +1400,10 @@ Returns the return type of swap. [*Semantics]: Always returns `void`. -/sequence/intrinsic/swap.hpp> +[heading Header] + + #include + #include [endsect] diff --git a/doc/support.qbk b/doc/support.qbk index 6418766e..c607911b 100644 --- a/doc/support.qbk +++ b/doc/support.qbk @@ -202,26 +202,7 @@ __sequence_concepts__). [*Return type]: -For Iterators, the return type is derived from one of: - - namespace boost { namespace fusion - { - struct incrementable_traversal_tag {}; - - struct single_pass_traversal_tag - : incrementable_traversal_tag {}; - - struct forward_traversal_tag - : single_pass_traversal_tag {}; - - struct bidirectional_traversal_tag - : forward_traversal_tag {}; - - struct random_access_traversal_tag - : bidirectional_traversal_tag {}; - }} - -For Sequences, the return type is derived from one of: +The return type is derived from one of: namespace boost { namespace fusion { @@ -363,7 +344,7 @@ constructor accepting the original type as its argument. Fusion `pair` type is a half runtime pair. A half runtime pair is similar to a __std_pair__, but, unlike __std_pair__, the first type does not have data. -It is used as elements in __map__s, for example. +It is used as elements in __map__\ s, for example. [heading Synopsis] diff --git a/doc/view.qbk b/doc/view.qbk index 313ff8cc..0395558a 100644 --- a/doc/view.qbk +++ b/doc/view.qbk @@ -101,6 +101,7 @@ presents only those elements for which its predicate evaluates to [heading Model of] * __forward_sequence__ +* __associative_sequence__ if `Sequence` implements the __associative_sequence__ model. [variablelist Notation [[`F`] [A `filter_view` type]] @@ -111,7 +112,7 @@ presents only those elements for which its predicate evaluates to [heading Expression Semantics] Semantics of an expression is defined only where it differs from, or is not -defined in __forward_sequence__. +defined in the implemented models. [table [[Expression] [Semantics]] @@ -164,6 +165,7 @@ by a pair of iterators. * __forward_sequence__, __bidirectional_sequence__ or __random_access_sequence__ depending on the traversal characteristics (see __traversal_concept__) of its underlying sequence. +* __associative_sequence__ if `First` and `Last` implement the __associative_iterator__ model. [variablelist Notation [[`IR`] [An `iterator_range` type]] @@ -175,7 +177,7 @@ __traversal_concept__) of its underlying sequence. [heading Expression Semantics] Semantics of an expression is defined only where it differs from, or is not -defined in __forward_sequence__. +defined in the implemented models. [table [[Expression] [Semantics]] @@ -230,6 +232,7 @@ defined in __forward_sequence__. [heading Model of] * __forward_sequence__ +* __associative_sequence__ if `Sequence1` and `Sequence2` implement the __associative_sequence__ model. [variablelist Notation [[`JV`] [A `joint_view` type]] @@ -241,7 +244,7 @@ defined in __forward_sequence__. [heading Expression Semantics] Semantics of an expression is defined only where it differs from, or is not -defined in __forward_sequence__. +defined in the implemented models. [table [[Expression] [Semantics]] @@ -443,7 +446,7 @@ element will be its last and the last element will be its first. [heading Model of] -* __bidirectional_sequence__ +A model of the same sequence concept as `Sequence`. [variablelist Notation [[`RV`] [A `reverse_view` type]] @@ -454,7 +457,7 @@ element will be its last and the last element will be its first. [heading Expression Semantics] Semantics of an expression is defined only where it differs from, or is not -defined in __bidirectional_sequence__. +defined in the implemented models. [table [[Expression] [Semantics]] diff --git a/include/boost/fusion/include/deref_data.hpp b/include/boost/fusion/include/deref_data.hpp new file mode 100644 index 00000000..24d4e7cf --- /dev/null +++ b/include/boost/fusion/include/deref_data.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_DEREF_DATA_HPP +#define BOOST_FUSION_INCLUDE_DEREF_DATA_HPP + +#include + +#endif diff --git a/include/boost/fusion/include/key_of.hpp b/include/boost/fusion/include/key_of.hpp new file mode 100644 index 00000000..cb29f571 --- /dev/null +++ b/include/boost/fusion/include/key_of.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_KEY_OF_HPP +#define BOOST_FUSION_INCLUDE_KEY_OF_HPP + +#include + +#endif diff --git a/include/boost/fusion/include/value_of_data.hpp b/include/boost/fusion/include/value_of_data.hpp new file mode 100644 index 00000000..6884185f --- /dev/null +++ b/include/boost/fusion/include/value_of_data.hpp @@ -0,0 +1,13 @@ +/*============================================================================= + Copyright (c) 2009 Christopher Schmidt + + Distributed under the Boost Software License, Version 1.0. (See accompanying + file LICENSE_1_0.txt or copy at http://www.boost.org/LICENSE_1_0.txt) +==============================================================================*/ + +#ifndef BOOST_FUSION_INCLUDE_VALUE_OF_DATA_HPP +#define BOOST_FUSION_INCLUDE_VALUE_OF_DATA_HPP + +#include + +#endif